Jump to content
625 posts in this topic

Recommended Posts

Hey SuperHai!

 

Thanks for doing such a great job for the OSX86 community... and thanks for keeping us AMD users in mind... ;)

 

I tried this on my machine(Acer Aspire 5104wlmi, see signature), but the kext didn´t recognise my processor.

 

Here is the output of dmesg for GenericCPUPowerManagement:

 

GenericCPUPowerManagement: [Error] Unable to find a matching or supported cpu id in table

GenericCPUPowerManagement: Please provide the following info to make it into a later update

GenericCPUPowerManagement: CPU Vendor: AMD [AMD Turion 64 X2 Mobile Technology TL-56]

GenericCPUPowerManagement: CPU Signature: 40f82

GenericCPUPowerManagement: Mobile: 0 Latency: 100

GenericCPUPowerManagement: State 0 [148a] State X [1780]

GenericCPUPowerManagement: -- ACPI CTL 0 E030148A

GenericCPUPowerManagement: 00-05:FID 0A 06-10:VID 12 11-17:VST 02 18-19:MVS 0 20-26:PLL 03 27:EXT 0 28-29:RVO 2 30-31:IRT 3

GenericCPUPowerManagement: -- ACPI CTL X E0301780

GenericCPUPowerManagement: 00-05:FID 00 06-10:VID 1E 11-17:VST 02 18-19:MVS 0 20-26:PLL 03 27:EXT 0 28-29:RVO 2 30-31:IRT 3

GenericCPUPowerManagement: -- MSR_AMD_FIDVID_CTL MSR 0000120A 00000001

GenericCPUPowerManagement: 00-04:FID 0A 08-12:VID 00

GenericCPUPowerManagement: 16:FIDC 0 17:VIDC 0 20:FIDCHGRATIO 0

GenericCPUPowerManagement: 32-51:SGTC 00001

GenericCPUPowerManagement: -- MSR_AMD_FIDVID_STS MSR 100A000A 33101E12

GenericCPUPowerManagement: 00-05:CFID 0A 08-13:SFID 00 16-21:MFID 00

GenericCPUPowerManagement: 32-37:CVID 12 40-45:SVID 00 48-53:MVID 1E

GenericCPUPowerManagement: Unloading

 

 

Again, thanks!

 

Ztardust

This morning i download the newest one again.

At least when sending personalities to kernel still have chance to log it for a moment before going crash.

With 4 p-state or 6 p-state i think it doesn't have different effect, just have a little time to logging before crash.

 

Superhai,

Wonder why at 1.0.19 with no proper value on p-states it doesn't drive my AMD become hang/crash.

But with 1.0.20 included several K10 things added, now my K8 always hang after change p-state on succesfull loading. From the log we can see the first request state 0C06 2000MHz succeed from phase I-IV, but the second request down to state 0212 1000MHz when debug phase II it become hang.

 

This behaviour like Kazuya ACPICPUThrottle for AMD , but his kext give me some more time around 30 minutes and several state changes before hang on last changing state.

Currently the most stable CPUThrottle kext, at least for me, is ObsidianX version.

 

Can we see the diff between your 1.0.19 and 1.0.20 ?

 

Thank you.

gencpupm.txt

The latest kext works perfect when my laptop on AC, but not on battery. The max frequency is only 800Mhz (1600Mhz on AC), and the Voltage goes from 1150mV to 950mV (see attached picture)

Please note that I set min voltage to 712 and max to 750.

 

ioreg -lxw0 -r -c GenericCPUPowerManagement | grep "CPU "

"CPU Status" = {"Auto Throttle"=Yes,"Load"=0x99,"Temperature"=0x28,"Current profile"=0x0,"High jump"=0x190,"Voltage"=0x47e,"Timer"=0xfa,"Low jump"=0x96,"Frequency"=0x258,"Kext Timer"=0x504,"Kext Online"=Yes,"Current state"=0x1,"Voltage ID"=0x23,"Frequency ID"=0x86}

"CPU Init" = {"CTL max"=0x8813,"FSB frequency min"=0x190,"Signature"=0x6fd,"FSB frequency max"=0x190,"CTL min"=0x86a3,"Kext unlock"=Yes,"Kext version"=0x10014,"Brand string"="Intel® Core2 Duo CPU T5470 @ 1.60GHz","Voltage max"=0x3b6,"Frequency min"=0x258,"Frequency max"=0x320,"Voltage min"=0x47e}

post-306196-1226979496_thumb.png

I installed your Kext on my Dell Mini 9 running 10.5.5 with what have labeled the Type11 Install method that uses Boot132 and the KEXT is installed on the hidden EFI partition.

 

I ran this command: sudo dmesg | grep GenericCPUPowerManagement

and got the following output

minitop9:~ jeffberg$ sudo dmesg | grep GenericCPUPowerManagement
GenericCPUPowerManagement: [Error] Unable to iterate over the CPU(s)
GenericCPUPowerManagement: Unloading
GenericCPUPowerManagement: [Warning] No ACPI p-states in table
GenericCPUPowerManagement: [Warning] No ACPI p-states in table
GenericCPUPowerManagement: Generic CPU Power Management Driver 1.0 (C) 2008 Superhai Development Co, based on works by mercurysquad
GenericCPUPowerManagement: For internal use only. All Rights Reserved. Support and documentaion http://www.superhai.com/

 

I also got this output

minitop9:~ jeffberg$ ioreg -lxw0 -r -c GenericCPUPowerManagement | grep "CPU "
  "CPU Status" = {"Auto Throttle"=Yes,"Load"=0x4c,"Temperature"=0x1e,"Current profile"=0x0,"High jump"=0x12c,"Voltage"=0x384,"Timer"=0xfa,"Low jump"=0x96,"Frequency"=0x96,"Kext Timer"=0x28c9,"Kext Online"=Yes,"Current state"=0x3,"Voltage ID"=0xf,"Frequency ID"=0x6}
  "CPU Init" = {"CTL max"=0xc27,"FSB frequency min"=0x64,"Signature"=0x106c2,"FSB frequency max"=0x64,"CTL min"=0x60f,"Kext unlock"=No,"Kext version"=0x10014,"Brand string"="Intel(R) Atom(TM) CPU N270   @ 1.60GHz","Voltage max"=0x4b0,"Frequency min"=0x96,"Frequency max"=0x12c,"Voltage min"=0x384}

[Error] Unable to find a matching or supported cpu id in table

GenericCPUPowerManagement: Please provide the following info to make it into a later update

GenericCPUPowerManagement: CPU Vendor: AMD [AMD Athlon 64 Processor 4000+]

GenericCPUPowerManagement: CPU Signature: 20f71

GenericCPUPowerManagement: Mobile: 0 Latency: 100

GenericCPUPowerManagement: State 0 [2990] State X [2c82]

GenericCPUPowerManagement: -- ACPI CTL 0 E0202990

GenericCPUPowerManagement: 00-05:FID 10 06-10:VID 06 11-17:VST 05 18-19:MVS 0 20-26:PLL 02 27:EXT 0 28-29:RVO 2 30-31:IRT 3

GenericCPUPowerManagement: -- ACPI CTL X E0202C82

GenericCPUPowerManagement: 00-05:FID 02 06-10:VID 12 11-17:VST 05 18-19:MVS 0 20-26:PLL 02 27:EXT 0 28-29:RVO 2 30-31:IRT 3

GenericCPUPowerManagement: -- MSR_AMD_FIDVID_CTL MSR 00000810 00002710

GenericCPUPowerManagement: 00-04:FID 10 08-12:VID 00

GenericCPUPowerManagement: 16:FIDC 0 17:VIDC 0 20:FIDCHGRATIO 0

GenericCPUPowerManagement: 32-51:SGTC 02710

GenericCPUPowerManagement: -- MSR_AMD_FIDVID_STS MSR 04101010 12040608

GenericCPUPowerManagement: 00-05:CFID 10 08-13:SFID 00 16-21:MFID 10

GenericCPUPowerManagement: 32-37:CVID 08 40-45:SVID 00 48-53:MVID 06

GenericCPUPowerManagement: Unloading

I have released version 1.1

 

sudo dmesg | grep GenericCPUPowerManagement

GenericCPUPowerManagement: [Debug] Found 2 I/O Kit CPU's and 2 ACPI CPU's

GenericCPUPowerManagement: [Error] CPU doesn't allow for throttle

GenericCPUPowerManagement: [Warning] Unloading

 

ioreg -lxw0 -r -c GenericCPUPowerManagement | grep "Characteristics"

nothing. empty output

 

ioreg -lxw0 -r -c GenericCPUPowerManagement | grep "Status"

nothing. empty output

 

I'm loading 1.1.0 debug kext.

Error message:

 

"Connection with kernel extension lost"

 

Output:

 

Last login: Sat Nov 22 16:11:22 on console

ricardo:~ ricardodelavega$ sudo dmesg | grep GenericCPUPowerManagement

Password:

GenericCPUPowerManagement: GenericCPUPowerManagement.kext 1.1.0 (Release) Nov 22 2008 06:38:10 [1050]

GenericCPUPowerManagement: © 2008 Superhai, All Rights Reserved

ricardo:~ ricardodelavega$ ioreg -lxw0 -r -c GenericCPUPowerManagement | grep "Characteristics"

"Characteristics" = {"Voltage Highest"=0x465,"Signature"=0x6f6,"CPU Count"=0x2,"Build Date"="Nov 22 2008","Constant TSC"=Yes,"Voltage Lowest"=0x465,"VID Lowest"=0x21,"Product Name"="GenericCPUPowerManagement.kext","Override"=No,"Version"="1.1.0","Individual Core Control"=No,"Frequency Lowest"=0x63c,"DID Lowest"=0x0,"Timer Timeout"=0xfa,"CPU Driver"=0x0,"Mobile CPU"=No,"Build Time"="06:38:10","Auto Throttle On Startup"=Yes,"Build Config"="Release","Frequency Highest"=0x850,"String"="Intel® Core2 CPU 6400 @ 2.13GHz","DID Highest"=0x0,"FID Lowest"=0x6,"VID Highest"=0x21,"FID Highest"=0x8,"P-State Count"=0x2}

ricardo:~ ricardodelavega$ ioreg -lxw0 -r -c GenericCPUPowerManagement | grep "Status"

"Status" = {"Threshold"=0xfa,"Profile"=0x0,"CPU"=({"Load"={"User"=0x0,"Accumulated"=0x0,"System"=0x0,"Idle"=0x400,"Nice"=0x0},"Thermal Readout"=0x1f,"Frequency"=0x63c,"Current P-State"=0x2,"DID"=0x0,"VID"=0x21,"FID"=0x6,"Voltage"=0x465,"Exact"=Yes,"Name"="CPU0"},{"Load"={"User"=0x25,"Accumulated"=0x25,"System"=0x0,"Idle"=0x3da,"Nice"=0x0},"Thermal Readout"=0x20,"Frequency"=0x63c,"Current P-State"=0x2,"DID"=0x0,"VID"=0x21,"FID"=0x6,"Voltage"=0x465,"Exact"=Yes,"Name"="CPU1"}),"Timer Timeout (ms)"=0xfa,"P-State Limit"=0x0,"P-State Capability"=0x0,"Kernel Extension Ready"=Yes,"Hysteresis"=0x32,"Auto Throttle Running"=Yes}

ricardo:~ ricardodelavega$

 

Now I'm getting back to 1.0.20 until it's fixed.

Thank you very much for your efforts.

 

Ricardo

Since many people might not have visited that forum and thus missed the announcment :

 

1.4.5 of IntelEnhancedSpeedStep is out (beta).

 

http://forum.insanelymac.com/index.php?showtopic=137666

 

Not posting a new thread cuz there is already one for it in that forum.

Pentium M users having problems with Superhai's kext are suggested to try this one instead, as my kext gets extensive testing for p-m.

It gave me a message says "wrong FSB detected, attempting to fix it" and no more messages showed.

Does that mean it works?

 

If it is the release version it should work just fine. But you should also look for a solution to your fsb problems...

I have created a command line app to control the kext. And new version of the gui app will be available during the week. But I will remind you again (and again) it will work without the app just fine. Check out also the first post.

Sorry a little mistake there. Try now.

 

After download and loading newest kext again, common hang occure,

it's what i got :

 

GenericCPUPowerManagement: [Debug] Found 2 I/O Kit CPU's and 2 ACPI CPU's
panic (cpu 0 caller 0x01A8D95): kernel trap at 0x21a0a715, type 0 : divide error
....
Error Code : 0x00000000
Debugger called : <panic>
Backtrace (CPU 0), Frame : return Address 9 4 potential args on stack)
0x1ad139b8 : 0x12b080 (0x45a108 0x1ad139ec 0x13310d 0x0)
...
Backtrace terminated-invalid frame pointer 0

Kernel loadable modules in backtrace (with dependencies) :
com.superhai.driver.GenericCPUPowerManagement(1.1.0)@0x21a05000 -> 0x21a0ffff
dependency : com.apple.iokit.IOACPIFamily(1.2.0)@ 0x1ac74000

BSD process name corresponding to current thread : kernel_task

Mac OS Version
9E26

Kernel Version :
Darwin Kernel Version 9.5.0 Tue Oct 14 07:39:11 IST 2008, Voodoo; Beta 2c : xnu-1288.7.58/BUILD

 

when i try to check it's binary with Marvin AMD Utility

2
0f a2
cd fb

/Users/devel/Desktop/GCPUPM/GenericCPUPowerManagement
00000000
0000196c	cpuid

After download and loading newest kext again, common hang occure,

panic (cpu 0 caller 0x01A8D95): kernel trap at 0x21a0a715, type 0 : divide error

 

Divide by zero is a not common, but much easier to fix. Will look at it. Also when posting panic info, the cpu registers are also important.

 

when i try to check it's binary with Marvin AMD Utility

2
0f a2
cd fb

/Users/devel/Desktop/GCPUPM/GenericCPUPowerManagement
00000000
0000196c	cpuid

 

Yes? You must not patch it, it needs the cpuid to switch between k8 and k10.

Divide by zero is a not common, but much easier to fix. Will look at it. Also when posting panic info, the cpu registers are also important.

Yes? You must not patch it, it needs the cpuid to switch between k8 and k10.

 

registers :
CR0 : 0x8001003b, CR2 : 0x00854000, CR3 : 0x00c1d000, CR4 : 0x000006e0
EAX : 0x00000000, EBX : 0x00000000, ECX : 0x1ad13e84, EDX : 0x00000000
CR2 : 0x1ad13b3c, EBP : 0x1ad13ea8, ESI : 0x00000001, EDI: 0x1229a000
EFL : 0x00010246, EIP : 0x21a0a715, CS : 0x00000004, DS : 0x0000000c

i got a kernel panic after updating to the 1.1 ver., that works good for the previous one.

 

i couldn't post the screen atm, as i can't get it out from my phone.

 

so i will post it later if u need it.

 

thanks, superhai, for your work!

Any ideas for improvements? Tell me

 

Why don't make a simple prefpane instead of a App to config the behaviour of the kext ???

 

ACPI control doesn't work for me.. It came from my BIOS ? (But... What is the difference ????)

 

Also, limit function does'nt work, maybe i don't understand what i have to do with, but when i write 1167 or 1200 to limit at 1167 Mhz my proc on battery, it just stop throttling on new version (before not but it stucked at 1000 (minimal freq)), and it can stuck at 1500 if roc was at 1500 before unpluging...

 

Thanks for all your efforts man !

System working slower with 1.1 than with 1.0.20. Benching low in Geekbench and OpenGL Viewer (Test 2.1, which is cpu intensive).

Tested CPU with NFS Carbon too and it is no longer running smoothly. Thanks.

 

The outputs

 

sudo dmesg | grep GenericCPUPowerManagement
Password:
GenericCPUPowerManagement: GenericCPUPowerManagement.kext 1.1.0 (Release) Nov 23 2008 21:31:36 [1050]
GenericCPUPowerManagement: (C) 2008 Superhai, All Rights Reserved

 

ioreg -lxw0 -r -c GenericCPUPowerManagement | grep "Characteristics"
   "Characteristics" = {"Voltage Highest"=0x471,"Signature"=0x10676,"CPU Count"=0x2,"Build Date"="Nov 23 2008","Constant TSC"=Yes,"Voltage Lowest"=0x471,"VID Lowest"=0x22,"Product Name"="GenericCPUPowerManagement.kext","Override"=No,"Version"="1.1.0","Individual Core Control"=No,"Frequency Lowest"=0x258,"DID Lowest"=0x0,"Timer Timeout"=0xfa,"CPU Driver"=0x0,"Mobile CPU"=Yes,"Build Time"="21:31:36","Auto Throttle On Startup"=Yes,"Build Config"="Release","Frequency Highest"=0x1f9,"String"="Intel(R) Core(TM)2 Duo CPU	 T9300  @ 2.50GHz","DID Highest"=0x0,"FID Lowest"=0x86,"VID Highest"=0x22,"FID Highest"=0x4c,"P-State Count"=0xf}

 

ioreg -lxw0 -r -c GenericCPUPowerManagement | grep "Status"
   "Status" = {"Threshold"=0xfa,"Profile"=0x0,"CPU"=({"Load"={"User"=0x4e,"Accumulated"=0xeb,"System"=0x9d,"Idle"=0x313,"Nice"=0x0},"Thermal Readout"=0x41,"Frequency"=0x258,"Current P-State"=0xf,"DID"=0x0,"VID"=0x21,"FID"=0x86,"Voltage"=0x465,"Exact"=Yes,"Name"="CPU0"},{"Load"={"User"=0x28,"Accumulated"=0x50,"System"=0x28,"Idle"=0x3ae,"Nice"=0x0},"Thermal Readout"=0x43,"Frequency"=0x258,"Current P-State"=0xf,"DID"=0x0,"VID"=0x21,"FID"=0x86,"Voltage"=0x465,"Exact"=Yes,"Name"="CPU1"}),"Timer Timeout (ms)"=0xfa,"P-State Limit"=0x0,"P-State Capability"=0x0,"Kernel Extension Ready"=Yes,"Hysteresis"=0x32,"Auto Throttle Running"=Yes}

 

 

If you notice the "Frequency Highest" is being reported as 0x1f9 which is 505 MHz, when it actually should be 2500 MHz..... thanks

Guest
This topic is now closed to further replies.
×
×
  • Create New...