Contribute
Register

Enabling C-States: how??

Status
Not open for further replies.
Joined
Nov 22, 2010
Messages
69
Motherboard
Gigabyte GA-Z77-DS3H
CPU
i7-2700K
Graphics
GTX 970
Mobile Phone
  1. iOS
After spending quite a few hours I am still puzzled how to get C-States enabled.

Is Super Zan-Zan's post on Insanelymac (July) valid for Chameleon RC5 651?
http://www.insanelymac.com/forum/index. ... pic=225766

If I understand correctly, C-States should work as follows:
1) Chameleon RC5 exports P-States & C-States to the system via additional SSDTs simply by including the "GenerateCStates"="Yes" option into boot.plist
2) AppleLPC must be working
3) You should use proper mac model + HPET enabled

Before I installed 10.6.5, I made sure I had the right BIOS settings: HPET 64 enabled, set all CPU powermgt options to enabled (not auto).

Using MB 2.6.1 with UserDSDT from MacMan's DB, my system is automatically identified as iMac11,1 (I wonder if iMac11,2 wouldn't be a better fit looking at the specs) and all CPU and HW details are correctly reflected in system profiler.

However, it looks like AppleLPC kext is not loaded (does not show up in system profiler kexts). What is needed in order to change this?

P-States are working fine without needing to take any further action, but C-States are not active (looking for something with CState in IOregistry under ACPI_SMC_PlatformPlugin), also my temps are around 50C.

So, is one of my assumptions 1)...3) wrong or am I missing something else? Selecting different models incl MacPro4,1 etc is not making any difference? I am still thinking I should get this up and running without the need for DSDT editing but if anyone would let me know what to add/where for a Core i3 540.

Thanks in advance!
 
Re: Enabling C-States (Multibeast 2.6.3 + UserDSDT): how??

Update: I edited Macman's DSDT from the database to match my board's LPC interface controller deviceID (3b06) with deviceID 3b09 from AppleLPC kext and it looks as if C-states are working, although I am not sure how many states are recognised and applied. How can I determine this?

Still (and this is specifically for MacMan) two questions are remaining:

1. should this edit normally at all be necessary to obtain full native powermgt using this configuration in combination with MB 3.03?

2. I decompiled and recompiled the DSDT from the database (board GA-H55M-UD2H F11) without making any edits but still get an error message, which does not seem to cause much trouble however... perhaps worth checking?
 
Re: Enabling C-States (Multibeast 2.6.3 + UserDSDT): how??

josjev said:
Update: I edited Macman's DSDT from the database to match my board's LPC interface controller deviceID (3b06) with deviceID 3b09 from AppleLPC kext and it looks as if C-states are working, although I am not sure how many states are recognised and applied. How can I determine this?

Open the IORegistryExplorer and under the CPU0@0 -> AppleACPICPU -> ACPI_SMC_PlatformPlugin you should see PerformanceStateArray in the right hand pane listing how many p-states are in use/loaded for the processor. Believe you need to install Xcode to get that tool or do as I did search online for a copy that has been posted, I didn't want all that junk installed for one simple tool.

Still (and this is specifically for MacMan) two questions are remaining:

1. should this edit normally at all be necessary to obtain full native powermgt using this configuration in combination with MB 3.03?

The multibeast has nothing to do with power management it is the AppleLPC loading from DSDT.aml in conjunction with the settings being enabled in your BIOS for this that does it. Quick tip if you enable the DVID in the BIOS you will get even better power management as the lowest multiplier will be 9x instead of 12x, I used a setting of +0.000 so nothing in reality.

2. I decompiled and recompiled the DSDT from the database (board GA-H55M-UD2H F11) without making any edits but still get an error message, which does not seem to cause much trouble however... perhaps worth checking?

Didn't happen to me when I did that and if you want to check to be certain it is working (the PM) install the MSRtools and boot 32bit mode to run it or get a copy of the mark-i which works in 64bit as well. Not sure of the posting policy on that last one so if you message me with an email I will send you my copy if you want it.
 
IOregistry explorer up and running and all seems ok. I also discovered having the Cstat value 0x1240105 means at least more than one C-state so should be fine.

I understood no DSDT editing would be needed to enable P/C-states and therefore assumed MacMan's minimal edits would include inserting the appropriate deviceID to enable appleLPC loading as this is a requirement for powermgt. I guess my assumption was wrong.

Great tip about DVID setting. Will try.

What also brought down my temps dramatically when overclocking is set all voltages to "normal" rather than "auto".

I already checked and can confirm speedstepping using MSRtools in 32-bit (c-state functioning cannot be confirmed using this can it?) and will check the mark-i option. will PM you if needed. thx.

all-in-all it seems perfect now, however since 10.6.6 update and DSDT editing (not sure what causes it) the spotlight service MDS is going crazy for 5 minutes after each re-boot. I switched it off for the time being...
 
josjev said:
IOregistry explorer up and running and all seems ok. I also discovered having the Cstat value 0x1240105 means at least more than one C-state so should be fine.

I understood no DSDT editing would be needed to enable P/C-states and therefore assumed MacMan's minimal edits would include inserting the appropriate deviceID to enable appleLPC loading as this is a requirement for powermgt. I guess my assumption was wrong.

Could be he missed it worked out of the box with mine.

Great tip about DVID setting. Will try.

What also brought down my temps dramatically when overclocking is set all voltages to "normal" rather than "auto".

Damn missed that did I, yeah I always set mine to the normal or enabled depending on what is available. I don't trust them auto settings for anything important seen too many screw ups otherwise. Same thing with your PCI express frequency I always go 100 the ram timings set to their rated settings.. things like that.

I already checked and can confirm speedstepping using MSRtools in 32-bit (c-state functioning cannot be confirmed using this can it?) and will check the mark-i option. will PM you if needed. thx.

Your welcome, no c-states means no speed stepping so yes that is confirmation.

all-in-all it seems perfect now, however since 10.6.6 update and DSDT editing (not sure what causes it) the spotlight service MDS is going crazy for 5 minutes after each re-boot. I switched it off for the time being...

Not sure what is going on there.
 
Setting DVID did not change the lowest multiplier for me.

You're probably right it is better to manually set BIOS settings at rated values on the other hand I wonder whether doing so may bring parts of the system out of sync (asynchronous vs. synchronous bus or something--not RAM) actually slowing things down a bit.

RE DSDT edit; did not check your exact board specs/bios ver. but if they are the same it would be surprising it worked for you OOB and not in my case.

Anyway the result now is OK so I can say I'm QUITE happy with Tonymac/MacMan/Lnx2Mac and all the other pioneers who made building a solid hackintosh for all the others less than a fulltime job!
 
Status
Not open for further replies.
Back
Top