Jump to content

Chameleon RC5 mode with mem detection enabled and automatic P-States & C-States generation for native power managment


kozlek
 Share

1,214 posts in this topic

Recommended Posts

I just tested the new feature of P-States generation for Core ix processors with trunk revision 619.

 

I have a mobile core i7 720QM 1.6GHz.

 

I do get at boot P-States generated successfully

 

But with IORegistryExplorer, I only now get 5 values for PerformanceStateArray as opposed to 7 when not using GeneratePStates.

 

Plus with MSR tools, the lowest voltage and processor frequency is 0.844V and 1.2 GHz as opposed to 0.812V and 0.93 GHz when not using GeneratePStates.

 

So the processor voltage and frequency can go lower when not using GeneratePStates, resulting in a 3-4 degrees cooler cpu temperature.

 

Other than that, geekbench score (around 5650) is nearly the same with or without GeneratePStates.

Link to comment
Share on other sites

I just tested the new feature of P-States generation for Core ix processors with trunk revision 619.

 

I have a mobile core i7 720QM 1.6GHz.

 

I do get at boot P-States generated successfully

 

But with IORegistryExplorer, I only now get 5 values for PerformanceStateArray as opposed to 7 when not using GeneratePStates.

 

Plus with MSR tools, the lowest voltage and processor frequency is 0.844V and 1.2 GHz as opposed to 0.812V and 0.93 GHz when not using GeneratePStates.

 

So the processor voltage and frequency can go lower when not using GeneratePStates, resulting in a 3-4 degrees cooler cpu temperature.

 

Other than that, geekbench score (around 5650) is nearly the same with or without GeneratePStates.

 

hmm. I heard core i7 could fall to x7 multiplier. The problem is that I don't know how to get lowest multiplier. For now x9 value is hardcoded. Does all of Core i7 CPUs using x7 as lowest multiplier?

Link to comment
Share on other sites

hmm. I heard core i7 could fall to x7 multiplier. The problem is that I don't know how to get lowest multiplier. For now x9 value is hardcoded. Does all of Core i7 CPUs using x7 as lowest multiplier?

 

That's a good question. I don't know the answer, but using the mark-i monitoring application, I have observed my Core i7 multiplier go down to x7 when not using GeneratePStates.

Link to comment
Share on other sites

About the booting with -f argument problem, if it's just the hang at the "Using PCI-Root-UID value:" message, i just committed what proved to be a fix on my tests:

http://forge.voodooprojects.org/p/chameleo...rce/commit/616/

If there's any other problem related with this, i'm unaware of it!

 

About iX cpu's and power management, Mozodojo also made a commit that seems to me it's related to the subject:

http://forge.voodooprojects.org/p/chameleo...rce/commit/609/

 

Chameleon (trunk) pre-compiled binaries can be found on my signature at Voodoo forums.

 

Stay safe...

 

Hey Azimutz, thanks for all the hard work.

 

Unfortunately, Chameleon hasn't worked for me since rc4. I've just tried your binaries from your voodooforum sig but it still hangs on startup. I've attached a screenshot hoping it can give you an idea as to what's going on as I have no clue. The box is an Acer 5720 Travelmate.

post-432048-1288642786_thumb.jpg

Link to comment
Share on other sites

Could anyone supply a binary (compiled Source) on the latest release. Would really appreciate this. I have Xtools on another Laptop. Want to see how this works on and Intel I7 Q720-M Asus G51Jx Notebook.

 

Thanks

 

Edited:

 

@Azimutz,

 

I just read a few posts up and I will look for it. Thanks

Link to comment
Share on other sites

I'm running Cham RC5 r619 and I'm trying to make speedstep work togheter with an Intel C2D E8400.

 

I dumped ssdt from linux and attached SSDT-x.aml on root.

Now the real problem is about P-states definition and a correct speedstep for my CPU.

 

I'm trying to get things better, just because my real problem is that I have 5-6 degrees of temperature gap between W7 and the hotter SLeopard, so this means that I'm not running the right (or the best?) Vcores in my P-states.

 

In every cases I set my model identifier in /Extra/smbios.plist as a MacPro3,3 (or iMac9,1), if not I've got no speedstep, no matter if P-states are there even from Ioregdump or VoodooMonitor it doesn't step.

No dsdt pstate editing.

 

This is about my E8400 speedsteps:

post-303759-1288784056_thumb.png

 

 

1.

ChamRC5 C-states generate = No

ChamRC5 P-states generate = Yes

post-303759-1288784018_thumb.png

20 09
1e 08
1b 07
18 06

 

2.

ChamRC5 C-states generate = No

ChamRC5 P-states generate = No

post-303759-1288784043_thumb.png

20 09
1d 08
1a 07
16 06

 

====

So my point is that Cham RC5 is generating higher cores voltage then those generated "vanilla", with no dsdt pstate editing.

And more, I need of vcores even lower of the vanilla settings. Following W7 vcores pstates instead, *should be*:

19 09  1112 mV
15 08  1075 mV
15 07  1037 mV
11 06  987 mV

 

Is there a way to customize pstates vcores on ChamRC5? If not, this should be a request.

 

Thanks for your precious work!

Link to comment
Share on other sites

What's the URL for the latest revision and how to compile it?

I can't see anything buildable with XCode.

 

You can find earlier in this thread how to use svn to get the latest, full source code (or parts, if you don't want everything).

 

Once you have that setup (type two commands in Terminal and wait for the source to download) all you have to do from then on is go to your chameleon svn download directory and type svn update to get the latest source code, including an xcode project file.

 

Compiling Chameleon is as easy as downloading and viewing a text document, except you feel more l33t.

Link to comment
Share on other sites

I'm running Cham RC5 r619 and I'm trying to make speedstep work togheter with an Intel C2D E8400.

 

....

 

This is about my E8400 speedsteps:

Screen_shot_2010_02_10_at_18.31.43.png

 

What tool you use for checking PStates (Pstates Changer + some .kext )?

Can you show me an link were to dl ?

Hope that works als in 64 Bit Mode, MSR Tool fail in this case.

Link to comment
Share on other sites

Thanks mozodojo and Gringo Vermelho, i managed to get the current trunk revision (r629) compiled.

And i've uploaded the binary for anyone who might need it.

 

boot.zip

 

Well, amn't sure am on the right track but here we go:

* I have no HPET mods in DSDT.

* Added the two Generate states to my boot.plist file and DropSSDT just in case.

* Added ForceHPET=Yes in boot.plist since i don't have it in Bios.

* I can see that AppleLPC is loaded in About this Mac > More info > Extensions, and also inside of ioReg.

* In SMBios.plist i have it identified as MacBook2,1 as that's the most similar CPU inside of my laptop (T5670 1.8Ghz), yet i have to add MaximalClock=1800

because it's being identified as 1.6Ghz without it.

 

Now, it boots up with no problem but:

- Memory speed is identified as 600Mhz instead of 667Mhz.

- When i tried to remove NullCPUPowerManagement kext from E/E to get the native AppleIntelCPUPowerManagement to load up, i got a KP.

 

What am doing wrong?

Thanks in advance.

Link to comment
Share on other sites

@Mozodojo: I have the same mobo as you so perhaps you know the solution for my problem. I have P and C states generated correctly (with and without chameleon's generator), I can see the CSTinfo and PStateArray in ioreg and the lpc kext is loaded at boot but there's a huge difference in temp between windows and snow leopard. In xp it idles at 28 and reaches 55/60 max, while in osx it's at 45º idle and 80-83 on load. I have all settings enabled in the bios and I'm using iMac 11,1 in the smbios.plist. Any idea where's the problem? why the big temp gap between win and osx? For temp monitoring I'm using your kexts and MSRtools to see the freq and v changes. (changes constantly but I can see pstates and v working)

Link to comment
Share on other sites

Hey Azimutz, thanks for all the hard work.

 

Unfortunately, Chameleon hasn't worked for me since rc4. I've just tried your binaries from your voodooforum sig but it still hangs on startup. I've attached a screenshot hoping it can give you an idea as to what's going on as I have no clue. The box is an Acer 5720 Travelmate.

Hi Chaosaltar...

Did you made a complete install of the booter? boot0, boot1h and boot... Probably has nothing to do with this, just to be sure.

If you get the same result try to disable memory detection, UseMemDetect=n.

Also, do you get that hang with -f or..?

The hang i managed to reproduce on my system is at the "Using PCI-Root-UID value:..." message and combined with -f argument, like reported by others.

Link to comment
Share on other sites

Thanks mozodojo and Gringo Vermelho, i managed to get the current trunk revision (r629) compiled.

And i've uploaded the binary for anyone who might need it.

 

boot.zip

 

Well, amn't sure am on the right track but here we go:

* I have no HPET mods in DSDT.

* Added the two Generate states to my boot.plist file and DropSSDT just in case.

* Added ForceHPET=Yes in boot.plist since i don't have it in Bios.

* I can see that AppleLPC is loaded in About this Mac > More info > Extensions, and also inside of ioReg.

* In SMBios.plist i have it identified as MacBook2,1 as that's the most similar CPU inside of my laptop (T5670 1.8Ghz), yet i have to add MaximalClock=1800

because it's being identified as 1.6Ghz without it.

 

Now, it boots up with no problem but:

- Memory speed is identified as 600Mhz instead of 667Mhz.

- When i tried to remove NullCPUPowerManagement kext from E/E to get the native AppleIntelCPUPowerManagement to load up, i got a KP.

 

What am doing wrong?

Thanks in advance.

 

 

An update:

I've managed to get rid of the KP by editing the HPET section in my DSDT and now AppleLPC and AppleHPET loads properly therefor AppleIntelCPUPowerManagement can now load with no problems, still am getting the following error during boot:

 

"ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized"

 

Launching CPU-i, i can see 8 P-States and the current cpu status is stuck at P-State #8 which is 537Mhz!!

So no, speedstepping isn't working as it should.

Is that because of the missing C-States?

 

Any help is much appreciated.

Thanks.

Link to comment
Share on other sites

[

What tool you use for checking PStates (Pstates Changer + some .kext )?

Can you show me an link were to dl ?

Hope that works als in 64 Bit Mode, MSR Tool fail in this case.

url=http://www.insanelymac.com/forum/index.php?act=attach&type=post&id=61118]http://www.insanelymac.com/forum/index.php...st&id=61118[/url]

Thanks.

But thats the voodooPstate.kext, which does stepping (beside acess to read out MSR).

I think it isnt an good way to use that for checking the vanialla dynamic Pstate changings, bceause it does implement own steppings.

Any tool which does readout MSR without changing / implementing(adding to vanilla stepping) own steppings ?

Link to comment
Share on other sites

got sent here from another thread. (thanks mitch_de :P) soo...

 

having a small problem.

 

i'm using an ATI Radeon 5770 (XFX if that matters) and chameleon appears to have changed its mind on which framebuffer to use.

 

used to use Vervet, now it insists on using Motmot. I've tried adding AtiFb=Vervet to com.apple.boot.plist but then it just gives me a blank screen (as always with Motmot -.-) & continues using Motmot.

 

Stuck on my old 9600GT 512MB at the moment >:

 

used to work fine. up until i reinstalled OSX ><

 

My com.apple.boot.plist:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
<key>Graphics Mode</key>
<string>1920x1080x32</string>
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=x86_64</string>
<key>Legacy Logo</key>
<string>Yes</string>
<key>PciRoot</key>
<string>1</string>
<key>Timeout</key>
<string>5</string>
<key>UseAtiROM</key>
<string>Yes</string>
<key>VBIOS</key>
<string>Yes</string>
</dict>
</plist>

 

specs in sig.

 

any other info you need just ask obviously :P

 

Can anyone help?

 

i'm offering e-cookies! ;)

 

edit: forgot to mention: the card works fine if I use aty_init.kext & boot in 32-bit mode. I'd rather not be forced to rely on aty_init again though.

 

Edit 2: EUREKA! :P

 

Installed final build of 10.6.5, and now everything works great. :P

 

Got my QE/CI back and, even better, I can now see what's going on on my hack pro ^^

 

I was so close to giving up too lol

Link to comment
Share on other sites

Thanks.

But thats the voodooPstate.kext, which does stepping (beside acess to read out MSR).

I think it isnt an good way to use that for checking the vanialla dynamic Pstate changings, bceause it does implement own steppings.

Any tool which does readout MSR without changing / implementing(adding to vanilla stepping) own steppings ?

 

This is the app from marionez screenshot that you were inquiring about, PStateChanger. I replied to you because he did not.

Others that I'm aware of are VoodooMonitor and a paid app CoolBook.

 

"ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized"

 

There is no known way to rid our rigs of that error. Not yet at least.

Link to comment
Share on other sites

It's exactly as you said.

That's the kext needed, anyway I did that screenshot a lot of time ago, it's not installed right now.

I'm using VoodooMonitor actually and another tiny software, but this is not working very well, is not very accurate, mark-i:

mark_i.zipIt shows very often the 3rd (2333) pstate instead of the 4th (1998).

 

Thanks mozodojo for your reply, I modded SSDT with those:

19 09 1112 mV

15 08 1075 mV

15 07 1037 mV

11 06 987 mV

 

Cstate generation = NO

Pstate generation = NO

Model Identifier = MacPro3,1

 

And now I've a strange situation:

post-303759-1288867354_thumb.png

IOReg take the SSDT modded values.

 

post-303759-1288867110_thumb.png

VoodooMonitor shows other values, they're not the vanilla one, but the same generated with the ChamRC5 Pstate generator with 0618 for the lowest pstate for example, instead of the cooler vanilla 0616 and again different from the SSDT modded value of 1116.

 

This at the end is from Coolbook! Thanks DarwinX, so here we have again new and different vcores values and no frequencies.

post-303759-1288867648_thumb.png

 

At the end, I'm a bit confused, all I can say is that I don't really know the real vcores values, but, with the modded ssdt I obtained a more W7-like stepping, because before this it was stepping too often on higher frequencies with the result of higher temperatures, now it's more often at 1998MHz and temperatures are significantly lower. I suppose vcores are quiet lower even if I don't have any reliable data about it.

 

mitch_de: do you have a more efficient software for vcore-pstates reading?

 

Maybe more IT: I think that a FID/VID manual tweaking should be an absolutely nice implementation for ChamRC5.

Link to comment
Share on other sites

Hi Chaosaltar...

Did you made a complete install of the booter? boot0, boot1h and boot... Probably has nothing to do with this, just to be sure.

If you get the same result try to disable memory detection, UseMemDetect=n.

Also, do you get that hang with -f or..?

The hang i managed to reproduce on my system is at the "Using PCI-Root-UID value:..." message and combined with -f argument, like reported by others.

 

Hey thanks for the reply, yes I did do a complete install, as per the instructions in the downloaded binaries :-). I haven't tried disabling mem detection, I will do so and also try -f.

 

Thanks again,

 

Yiannis

Link to comment
Share on other sites

There is no known way to rid our rigs of that error. Not yet at least.

 

The problem isn't in the error about the C-States.

The real problem is even with 8 P-states generated, checking by CPU-i, the CPU only works at the lowest one of 'em! (537Mhz).

 

 

Here's the bdmesg log:

Stills-MacBook-Pro:Util Still$ ./bdmesg 
msr(221): ia32_perf_stat 0x06000925
max: 10 current: 9
CPU: Vendor/Model/ExtModel: 0x756e6547/0xf/0x0
CPU: Family/ExtFamily:      0x6/0x0
CPU: MaxCoef/CurrCoef:      0xa/0x9
CPU: MaxDiv/CurrDiv:        0x0/0x0
CPU: TSCFreq:               1795MHz
CPU: FSBFreq:               179MHz
CPU: CPUFreq:               1615MHz
CPU: NoCores/NoThreads:     2/2
CPU: Features:              0x0000034f
Read HFS+ file: [hd(0,3)/Extra/com.apple.Boot.plist] 811 bytes.

Darwin/x86 boot v5.0.132 - Chameleon v2.0-RC5 r629
Build date: 2010-11-03 17:54:44
2038MB memory
VESA v3.0 7MB (Intel®GM965/PM965/GL960 Graphics Chip Accelerated VGA BIOS)
Scanning device 80...Press any key to enter startup options.(3) 
Use  keys to select the startup volume.    hd(0,1) Master                          
   hd(0,3) LapMac                          
Press Enter to start up Darwin/x86 with no options, or you can:
 Type -v and press Enter to start up with diagnostic messages
 Type ? and press Enter to learn about advanced startup options

boot: Read HFS+ file: [hd(0,3)/Extra/com.apple.Boot.plist] 811 bytes.
Setting boot-uuid to: E798D762-03B5-38C1-8267-8C255FB6F5BC
Read HFS+ file: [hd(0,3)/System/Library/CoreServices/SystemVersion.plist] 479 bytes.
Hibernate image is too old by 13327 seconds. Use ForceWake=y to override
Loading Darwin 10.6
Loading kernel mach_kernel
Read HFS+ file: [hd(0,3)/mach_kernel] 4096 bytes.
Read HFS+ file: [hd(0,3)/mach_kernel] 7442259 bytes.
LoadDrivers: Loading from [/Extra/Extensions.mkext]
Read HFS+ file: [hd(0,3)/Extra/Extensions.mkext] 4096 bytes.
Read HFS+ file: [hd(0,3)/Extra/Extensions.mkext] 45128 bytes.
LoadDrivers: Loading from [/system/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext]
Read HFS+ file: [hd(0,3)/System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext] 4096 bytes.
Read HFS+ file: [hd(0,3)/System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext] 4919995 bytes.
Read HFS+ file: [hd(0,3)/Extra/DSDT.aml] 20138 bytes.
Using PCI-Root-UID value: 0
Intel VGA Controller [8086:2a02] :: PciRoot(0x0)/Pci(0x2,0x0) (currently NOT SUPPORTED)
LAN Controller [14e4:1713] :: PciRoot(0x0)/Pci(0x1c,0x5)/Pci(0x0,0x0)
Setting up lan keys
Read HFS+ file: [hd(0,3)/Extra/SMBIOS.plist] 956 bytes.
Intel GM965/GL960 DRAM Controller [8086:2a00] at 00:00.0
Frequency detected: 299 MHz (598) Dual Channel 
CAS:5 tRC:5 tRP:5 RAS:15 (5-5-5-15)
Slot: 0 Type 19 1024MB (DDR2 SDRAM) 600MHz Vendor=Hynix Semiconductor
     PartNo=HYMP112S64CP6-Y5AA SerialNo=00006272
Slot: 2 Type 19 1024MB (DDR2 SDRAM) 600MHz Vendor=Hynix Semiconductor
     PartNo=HYMP112S64CP6-Y5AA SerialNo=00005271
CPU is Intel® Core™2 Duo CPU     T5670  @ 1.80GHz, family 0x6, model 0xf
Patched DMI Table
Found SMBIOS System Information Table 1
Customizing SystemID with : 44454c4c-3400-1035-8030-b2c04f4d4731
Read HFS+ file: [hd(0,3)/Extra/DSDT.aml] 20138 bytes.
ACPI table not found: SSDT.aml
FADT: Restart Fix applied!
FADT: Using custom DSDT!
Found ACPI CPU: CPU0
Found ACPI CPU: CPU1
SSDT with CPU C-States generated successfully
SSDT with CPU P-States generated successfully
RSDT: Added 2 SSDT table(s)
FADT: Restart Fix applied!
FADT: Using custom DSDT!
Added 2 SSDT table(s) into XSDT
Starting Darwin x86

 

And also my DSDT:

dsdt.aml.zip

 

I would really appreciate it if anyone can take alook at the problem.

Thanks.

Link to comment
Share on other sites

 Share

×
×
  • Create New...