Jump to content

Power management for Sandy/Ivy Bridge/Haswell CPUs


Pimentel
 Share

533 posts in this topic

Recommended Posts

It will I tried it with my z800 which has dual E5640 Westmere's lost the turbo ratio and 1000 points on a Geekbench doing it so reverted. I have went with PikeRAlpha ssdtprgen beta version which allows you to do custom processors gets me all the ratios even with the nullcpu loaded I see all the changes in speed stepping in the Hardware Monitor.app.

 

https://pikeralpha.wordpress.com/2014/12/11/ssdtprgen-sh-v15-7-beta/

 

Could you please share the procedure you went through, step by step, so that I (and others) can try it?

I'd like to try that for both my W3690 & i7-930 processors.

 

Also, does it panic if you remove your NullCPU kext?

 

Thanks,

 

chatdeau

Link to comment
Share on other sites

Could you please share the procedure you went through, step by step, so that I (and others) can try it?

I'd like to try that for both my W3690 & i7-930 processors.

 

Also, does it panic if you remove your NullCPU kext?

 

Thanks,

 

chatdeau

 

I for one fail to see what the big hang up is around here about eliminating a .kext that does no harm when it is loaded. When loaded as I stated without the ssdt in place I see the voltages and multipliers changing in the HWMonitor.app on a constant basis (with no generate c,p-states present in config for loading) I get a better Geekbench with ssdt so I use it with that. The procedure is described in that post you create a User Defined.cfg in the Application Support ssdprgen directory with the settings that Pike explains. I went with a 1 for the processor type IvyBridge and 133 for the bus as that is what my processors have did not do that off the start that got me an extra 200 or 300 on the Geekbench. And yes it still panics without the null as I told you before I believe, only way around that is the patch I mentioned in the IvyBridge power management thread which will lose you your top turbo multipliers. this thread even now I look.

 

Edit: Never tried the patch with an ssdt in place now I think about it so that may get back the top multipliers not sure I'm done messing with it for now, been at it a month now and have give up on tinkering.

 

Edit2: For your w3690 something like this should be close off the top of my head.

gUserDefinedCPUList=(W3690,130,1600,3460,3730,6,12,1,133)

Then ./ssdtprgen.sh -p W3690 in the directory containing it to produce the ssdt.aml the only value I am not sure about is the 1600 you would need to find the min. multiplier and multiply the 133 which I think is the correct bus speed for it. The values are the processor name, watts max., min. speed, top speed, turbo speed, cores, threads, processor type, bus speed respectively. To get the numbers for the type ssdprg.sh -h will list them among other setting that can be used. Now I think more may be 0 for the IvyBridge type I know it was first in list of them and that machine is not on at the moment.

  • Like 1
Link to comment
Share on other sites

Edit2: For your w3690 something like this should be close off the top of my head.

gUserDefinedCPUList=(W3690,130,1600,3460,3730,6,12,1,133)

Then ./ssdtprgen.sh -p W3690 in the directory containing it to produce the ssdt.aml the only value I am not sure about is the 1600 you would need to find the min. multiplier and multiply the 133 which I think is the correct bus speed for it. The values are the processor name, watts max., min. speed, top speed, turbo speed, cores, threads, processor type, bus speed respectively. To get the numbers for the type ssdprg.sh -h will list them among other setting that can be used. Now I think more may be 0 for the IvyBridge type I know it was first in list of them and that machine is not on at the moment.

 

Thanks for the info MacUser2525. I've also been tinkering for a while, especially to find the "Low Frequency Mode" values that don't seem listed anywhere (or at least, not with that exact vocabulary, or maybe it needs to be calculated using other values such as the multiplier and buss speed, as you seem to say), so i decided to create an issue on Piker-Alpha's github.

 

Let's see what comes out of that request.

Link to comment
Share on other sites

Thanks for the info MacUser2525. I've also been tinkering for a while, especially to find the "Low Frequency Mode" values that don't seem listed anywhere (or at least, not with that exact vocabulary, or maybe it needs to be calculated using other values such as the multiplier and buss speed, as you seem to say), so i decided to create an issue on Piker-Alpha's github.

 

Let's see what comes out of that request.

 Your welcome pretty sure that is the idea lowest step on the processor x bus speed gives you that value.

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...

Hi guys

I'm trying yosemite on my new machine, this is the configuration:

Core i5 4460

Gygabyte b85m HD3

 

I have some trouble with power management, I only get two p states: 8 - 32

I use clover that has Patch PM kernel set to "true" out of the box, generate p-states and c-states are "false".

Intel cpu power management doesn't load at boot, but this is normal I think, however appleLPC kext isn't loaded and x86platformplugin too, only the other kext loads correctly.

My smbios is iMac 14.2

 

I think there are enough infos to think about, can you please help me ?

Link to comment
Share on other sites

  • 1 month later...

Hello Alan

 

I am helping to a friend with her first build and a kext is not loading

 

I have the ACPI_SMC_PlatformPlugin.kext and the AppleLPC.kext working but the X86PlatformPlugin.kext is not loading

 

The configuration of this build is

 

CPU: i3 2100

Mobo: Gigabyte GA-Z68MA-D2H

Bios version: F10

S.O: Yosemite 10.10.5

Bootloader: Clover last version

 

The Kext AppleACPIPlatform.kext is from the system 10.9.5 without modify because the motherboards series 6 with AWARD BIOS can not work with the AppleACPIPlatform.kext of system 10.10.5

Note: I wanted use the new UEFI BIOS version but was impossible because when the QFlash towards verification showed a sum check error

 

I am generating the DSDT and the SSDT tables way Clover .. I leave attached the config.plist by if you wants help me

 

 

 

Artess config.plist.zip

 

Thanks in advanced?

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

Hello Allan

 

I am helping to a friend with his hackintosh with this configuration

 

CPU: i7 4790
Motherboard: GA Z97X UD3H BK rev1.1 (Gigabyte)
BIOS: Last version (F8)
Bootloader: Clover (Last version)
O.S.: Yosemite 10.10.5

 

I used this guide for have a proper energy system management but the AppleIntelCPUPowerManagement.kext is not loading and the ACPI_SMC_PlatformPlugin.kext loads but after of 20 minutes stops of work

 

The AppleLPC.kext is working but adding the device-id inside of the info.plist because was impossible active the kext way DSDT and X86PlatformPlugin.kext works perfectly

 

The SSDT was created successfully

 

I did not the patch on AICPUM because i have not a kernel panic while the hackintosh is starting, but need i  apply  the patch anyway?

 

An when I want run test for check the P-States get this error

 

chown: /Users/fernando/Downloads/AppleIntelCPUPowerManagementInfo.kext/Contents/Info.plist: Operation not permitted
chown: /Users/fernando/Downloads/AppleIntelCPUPowerManagementInfo.kext/Contents/MacOS/AppleIntelCPUPowerManagementInfo: Operation not permitted
chown: /Users/fernando/Downloads/AppleIntelCPUPowerManagementInfo.kext/Contents/MacOS: Operation not permitted
chown: /Users/fernando/Downloads/AppleIntelCPUPowerManagementInfo.kext/Contents: Operation not permitted
chown: /Users/fernando/Downloads/AppleIntelCPUPowerManagementInfo.kext: Operation not permitted

 

I leave the config.plist by if you wants help me

 

config.plist.zip

 

Greetings

Link to comment
Share on other sites

I guess this is normal for desktop to not need patch and work fine with just xcpm flag?

sysctl machdep.xcpm
machdep.xcpm.mode: 1
machdep.xcpm.hard_plimit_max_100mhz_ratio: 44
machdep.xcpm.hard_plimit_min_100mhz_ratio: 8
machdep.xcpm.soft_plimit_max_100mhz_ratio: 44
machdep.xcpm.soft_plimit_min_100mhz_ratio: 8
machdep.xcpm.tuib_plimit_max_100mhz_ratio: 44
machdep.xcpm.tuib_plimit_min_100mhz_ratio: 8
machdep.xcpm.tuib_enabled: 0
machdep.xcpm.power_source: 0
machdep.xcpm.bootplim: 0
machdep.xcpm.bootpst: 44
machdep.xcpm.tuib_ns: 0
machdep.xcpm.ratio_changes_total: 5918848
machdep.xcpm.maxbusdelay: 10000
machdep.xcpm.maxintdelay: 0
machdep.xcpm.mbd_mode: 1
machdep.xcpm.mbd_applications: 5480
machdep.xcpm.mbd_relaxations: 5
machdep.xcpm.forced_idle_ratio: 100
machdep.xcpm.forced_idle_period: 30000000
machdep.xcpm.deep_idle_log: 0
machdep.xcpm.qos_txfr: 1
machdep.xcpm.deep_idle_count: 0
machdep.xcpm.deep_idle_last_stats: n/a
machdep.xcpm.deep_idle_total_stats: n/a
machdep.xcpm.cpu_thermal_level: 0
machdep.xcpm.gpu_thermal_level: 0
machdep.xcpm.io_thermal_level: 0
machdep.xcpm.io_control_engages: 0
machdep.xcpm.io_control_disengages: 0
machdep.xcpm.io_filtered_reads: 0

 

Oct 13 20:46:20 iMac kernel[0]: AICPUPMI: CPU Low Frequency Mode.............: 800 MHz
Oct 13 20:46:20 iMac kernel[0]: AICPUPMI: CPU Maximum non-Turbo Frequency....: 3500 MHz
Oct 13 20:46:20 iMac kernel[0]: AICPUPMI: CPU Maximum Turbo Frequency........: 4400 MHz
Oct 13 20:46:21 iMac kernel[0]: AICPUPMI: CPU P-States [ 34 (35) 42 ]
Oct 13 20:46:21 iMac kernel[0]: AICPUPMI: CPU C3-Cores [ 0 2 3 ]
Oct 13 20:46:21 iMac kernel[0]: AICPUPMI: CPU C6-Cores [ 0 2 3 ]
Oct 13 20:46:21 iMac kernel[0]: AICPUPMI: CPU C7-Cores [ 0 2 3 ]
Oct 13 20:46:21 iMac kernel[0]: AICPUPMI: CPU P-States [ 34 (35) 38 42 ]
Oct 13 20:46:22 iMac kernel[0]: AICPUPMI: CPU P-States [ 30 34 (35) 38 42 ]
Oct 13 20:46:22 iMac kernel[0]: AICPUPMI: CPU C3-Cores [ 0 1 2 3 ]
Oct 13 20:46:22 iMac kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 2 3 ]
Oct 13 20:46:22 iMac kernel[0]: AICPUPMI: CPU C7-Cores [ 0 1 2 3 ]
Oct 13 20:46:22 iMac kernel[0]: AICPUPMI: CPU P-States [ 29 30 34 (35) 38 42 ]
Oct 13 20:46:23 iMac kernel[0]: AICPUPMI: CPU P-States [ 29 30 31 34 35 38 (39) 42 ]
Oct 13 20:46:24 iMac kernel[0]: AICPUPMI: CPU P-States [ 29 30 31 34 (35) 36 38 39 42 ]
Oct 13 20:46:25 iMac kernel[0]: AICPUPMI: CPU P-States [ 29 30 31 32 34 (35) 36 38 39 42 ]
Oct 13 20:46:26 iMac kernel[0]: AICPUPMI: CPU P-States [ 29 30 31 32 34 (35) 36 37 38 39 42 ]
Oct 13 20:46:26 iMac kernel[0]: AICPUPMI: CPU P-States [ (8) 29 30 31 32 34 35 36 37 38 39 42 ]
Oct 13 20:46:30 iMac kernel[0]: AICPUPMI: CPU P-States [ 8 29 30 31 32 33 34 (35) 36 37 38 39 42 ]
Link to comment
Share on other sites

Java Lava, te diria que actualizases Clover minimo a la 3262 y que dejes esta parte del Config.plist así:

<plist version="1.0"><dict>
<key>ACPI</key>
<dict>
<key>DSDT</key>
<dict>
<key>Debug</key>
<false/>
<key>DropOEM_DSM</key>
<false/>
<key>Fixes</key>
<dict>
<key>AddDTGP_0001</key>
<true/>
<key>AddHDMI_8000000</key>
<true/>
<key>AddIMEI_80000</key>
<true/>
<key>AddPNLF_1000000</key>
<true/>
<key>DeleteUnused_400000</key>
<true/>
<key>FIX_ACST_4000000</key>
<true/>
<key>FIX_ADP1_800000</key>
<true/>
<key>FIX_RTC_20000</key>
<true/>
<key>FIX_S3D_2000000</key>
<true/>
<key>FixAirport_4000</key>
<true/>
<key>FixDisplay_0100</key>
<true/>
<key>FixFirewire_0800</key>
<true/>
<key>FixHDA_8000</key>
<true/>
<key>FixHPET_0010</key>
<true/>
<key>FixIPIC_0040</key>
<true/>
<key>FixLAN_2000</key>
<true/>
<key>FixRegions_10000000</key>
<true/>
<key>FixShutdown_0004</key>
<true/>
<key>NewWay_80000000</key>
<true/>
</dict>
<key>Name</key>
<string>DSDT.aml</string>
<key>ReuseFFFF</key>
<false/>
</dict>
<key>DropTables</key>
<array>
<dict>
<key>Signature</key>
<string>SSDT</string>
<key>TableId</key>
<string>CpuPm</string>
</dict>
<dict>
<key>Signature</key>
<string>SSDT</string>
<key>TableId</key>
<string>Cpu0Ist</string>
</dict>
<dict>
<key>Signature</key>
<string>DMAR</string>
</dict>
</array>
<key>HaltEnabler</key>
<true/>
<key>SSDT</key>
<dict>
<key>DropOem</key>
<false/>
<key>EnableC6</key>
<true/>
<key>Generate</key>
<true/>
</dict>
</dict>

prueba y comentas, si no estas seguro lo mejor seria instalarlo en un pen y probar arranque desde el para no fastidiar tu arranque, una vez veas que te funciona bien solo es copiarlo a tu carpeta EFI en su lugar correcto

Link to comment
Share on other sites

  • 2 weeks later...

Hi everyone!

 

Kindly help me fix my Power Management / Speedstep for my hackintosh.

 

Intel i5-4590

Asus H97i-Plus

8 GB Corsair RAM

Intel HD 4600

Clover Bootloader

 

Right now, according to Intel Power Gadget, the lowest frequency I get is 2.6 and it doesn't even stay there even without doing anything.

 

I am confused with the guide here as it's for general hackintosh.

 

Maybe someone could help me with my specific Haswell build.

 

Thank you.

Link to comment
Share on other sites

Hi everyone
I have a problem trying to enable the power management of my core i7 3770.
Bios modded with PMPatch of CodeRush, Clover UEFI bootloader without SSDT and generatepstates enabled I have step 4 (16-34-37-38); same thing with SSDT generated with ssdtprgen and DROPOEM flagged.
I can get 8 steps enabling generatepstates and flagging -xcpm, but often I have KP at boot or a sudden freeze of the system with subsequent restart.
I also tried unsuccessfully to flag KernelPM.
Without SSDT and without generatepstates I get only 2 step (16-34)
Does anyone have any idea how to enable power management of this processor?
I attach report of the two KP

Thank you in advance

Panic.rtf

Panic2.rtf

Link to comment
Share on other sites

Hi Allan

On my pc in signature ..when i use AppleIntelCPUPowerManagementInfo.kext 

My pc crash ..why?

 

 

*** Panic Report ***
panic(cpu 0 caller 0xffffff8000416df2): Kernel trap at 0xffffff7f82d3d97e, type 13=general protection, registers:
CR0: 0x0000000080010033, CR2: 0x000061000029ea78, CR3: 0x000000000d611000, CR4: 0x00000000001627e0
RAX: 0x0000000000002200, RBX: 0x00000000e1253700, RCX: 0x00000000000000c7, RDX: 0x0000000000000000
RSP: 0xffffff801ea33e60, RBP: 0xffffff801ea33ea0, RSI: 0x0000000000000022, RDI: 0x0000086bb9907f70
R8:  0x00000000b9907f70, R9:  0xffffff802cb4e2b0, R10: 0x0000000000000000, R11: 0x00001f8d03f187e8
R12: 0x0000000000000008, R13: 0x0000000000000800, R14: 0x0000000000000000, R15: 0xffffff804745c000
RFL: 0x0000000000010246, RIP: 0xffffff7f82d3d97e, CS:  0x0000000000000008, SS:  0x0000000000000010
Fault CR2: 0x000061000029ea78, Error code: 0x0000000000000000, Fault CPU: 0x0
 
Backtrace (CPU 0), Frame : Return Address
0xffffff81c7f63c70 : 0xffffff800032ad21 
0xffffff81c7f63cf0 : 0xffffff8000416df2 
0xffffff81c7f63eb0 : 0xffffff8000433ca3 
0xffffff81c7f63ed0 : 0xffffff7f82d3d97e 
0xffffff801ea33ea0 : 0xffffff80008da023 
0xffffff801ea33f00 : 0xffffff800035d6d9 
0xffffff801ea33fb0 : 0xffffff80004116e7 
      Kernel Extensions in backtrace:
         com.apple.AppleIntelCPUPowerManagementInfo(1.0)[6913EED4-C77B-342B-B369-389BCABDD96F]@0xffffff7f82d3c000->0xffffff7f82d41fff
Link to comment
Share on other sites

 

Hi Allan

On my pc in signature ..when i use AppleIntelCPUPowerManagementInfo.kext 

My pc crash ..why?

*** Panic Report ***
panic(cpu 0 caller 0xffffff8000416df2): Kernel trap at 0xffffff7f82d3d97e, type 13=general protection, registers:
CR0: 0x0000000080010033, CR2: 0x000061000029ea78, CR3: 0x000000000d611000, CR4: 0x00000000001627e0
RAX: 0x0000000000002200, RBX: 0x00000000e1253700, RCX: 0x00000000000000c7, RDX: 0x0000000000000000
RSP: 0xffffff801ea33e60, RBP: 0xffffff801ea33ea0, RSI: 0x0000000000000022, RDI: 0x0000086bb9907f70
R8:  0x00000000b9907f70, R9:  0xffffff802cb4e2b0, R10: 0x0000000000000000, R11: 0x00001f8d03f187e8
R12: 0x0000000000000008, R13: 0x0000000000000800, R14: 0x0000000000000000, R15: 0xffffff804745c000
RFL: 0x0000000000010246, RIP: 0xffffff7f82d3d97e, CS:  0x0000000000000008, SS:  0x0000000000000010
Fault CR2: 0x000061000029ea78, Error code: 0x0000000000000000, Fault CPU: 0x0
 
Backtrace (CPU 0), Frame : Return Address
0xffffff81c7f63c70 : 0xffffff800032ad21 
0xffffff81c7f63cf0 : 0xffffff8000416df2 
0xffffff81c7f63eb0 : 0xffffff8000433ca3 
0xffffff81c7f63ed0 : 0xffffff7f82d3d97e 
0xffffff801ea33ea0 : 0xffffff80008da023 
0xffffff801ea33f00 : 0xffffff800035d6d9 
0xffffff801ea33fb0 : 0xffffff80004116e7 
      Kernel Extensions in backtrace:
         com.apple.AppleIntelCPUPowerManagementInfo(1.0)[6913EED4-C77B-342B-B369-389BCABDD96F]@0xffffff7f82d3c000->0xffffff7f82d41fff

Use AppleIntelInfo.kext, terminal command is the same

AppleIntelInfo.kext.zip

  • Like 1
Link to comment
Share on other sites

 

Hi Allan

On my pc in signature ..when i use AppleIntelCPUPowerManagementInfo.kext 

My pc crash ..why?

 

Hi @magnifico.

 

You have installed AICPMInfo? Is not the best option.

 

You can run the kext without install. But like @carbo says, AppleItelInfo is the best at moment.

Hey @carbo, try this in your config.plist:

DropTables
SSDT/CpuPm
SSDT/Cpu0Ist

Try without SSDT.

Check if X86PlatformPlugin is loaded, and try use iMac 13 SMBios.

 

Credits: toleda

  • Like 1
Link to comment
Share on other sites

Thanks Allan,

The tables are already dropped in config.plist, X86PlatformPlugin is loaded even with SMBIOS imac 13,1 or 13,2 (attempts already made many times).

I tried Intel Power Gadget, and the result is in this post: http://www.insanelymac.com/forum/topic/309147-aiuto-power-management-core-i7-3770/?p=2184325

I think the PM work well, but seems to run by Intel firmware rather than by the operating system

 

Tried boot with ssdt and -xcpm flag; X86PlatformPlugin is loaded, 8 steps enabled and (for now) no KP

Edited by carbo178
Link to comment
Share on other sites

 Share

×
×
  • Create New...