Contribute
Register

Quick Guide to Generate a SSDT for CPU Power Management

@ RehabMan, thanks for the prompt reply.
 
CPU Skylake 6700K ssdt

Im still unsure how to / or if its worth doing a SSDT on the GA Z170 Gaming G1 / Skylake 6700K. When I run Intel's Power Gadget during idle it seems fine and when running Geekbench things seem to work accordingly judging by the frequency etc surge on the graph. Plus all my sleep and shutdown stuff seems to work.

UPDATE: Well I generated an ssdt.aml and stuck it in the clover APIC patched folder WITHOUT dropping OEM because it doesn't boot with Drop EOM as others have found. So I guess somethings going on judging by this;-

Code:
AppleIntelInfo.kext v1.2 Copyright © 2012-2015 Pike R. Alpha. All rights reserved

Settings:
------------------------------------
logMSRs............................: 1
logIGPU............................: 0
logIntelRegs.......................: 1
logCStates.........................: 1
logIPGStyle........................: 1
InitialTSC.........................: 0x430a9f91d33
MWAIT C-States.....................: 1319200

Model Specific Regiters
------------------------------------
MSR_CORE_THREAD_COUNT......(0x35)  : 0x40008
MSR_PLATFORM_INFO..........(0xCE)  : 0x80838F1012800
MSR_PMG_CST_CONFIG_CONTROL.(0xE2)  : 0x1E000006
MSR_PMG_IO_CAPTURE_BASE....(0xE4)  : 0x31814
IA32_MPERF.................(0xE7)  : 0x2AA8095EDD
IA32_APERF.................(0xE8)  : 0x2ABF5794A2
MSR_FLEX_RATIO.............(0x194) : 0xE0000
MSR_IA32_PERF_STATUS.......(0x198) : 0x2BCF00002A00
MSR_IA32_PERF_CONTROL......(0x199) : 0x2A00
IA32_CLOCK_MODULATION......(0x19A) : 0x0
IA32_THERM_STATUS..........(0x19C) : 0x883C0000
IA32_MISC_ENABLES..........(0x1A0) : 0x850089
MSR_MISC_PWR_MGMT..........(0x1AA) : 0x18C1
MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x2A2A2A2A
IA32_ENERGY_PERF_BIAS......(0x1B0) : 0x1
MSR_POWER_CTL..............(0x1FC) : 0x2C005F
MSR_RAPL_POWER_UNIT........(0x606) : 0xA0E03
MSR_PKG_POWER_LIMIT........(0x610) : 0x42FFD0001AEA82
MSR_PKG_ENERGY_STATUS......(0x611) : 0x64BB2EB
MSR_PKG_POWER_INFO.........(0x614) : 0x2F8
MSR_PP0_CURRENT_CONFIG.....(0x601) : 0x0
MSR_PP0_POWER_LIMIT........(0x638) : 0x0
MSR_PP0_ENERGY_STATUS......(0x639) : 0x3F839DE
MSR_PP0_POLICY.............(0x63a) : 0x0
MSR_PKGC6_IRTL.............(0x60b) : 0x8876
MSR_PKGC7_IRTL.............(0x60c) : 0x8894
MSR_PKG_C2_RESIDENCY.......(0x60d) : 0x5634DEB3B0
MSR_PKG_C3_RESIDENCY.......(0x3f8) : 0x189A7F3A660
MSR_PKG_C6_RESIDENCY.......(0x3f9) : 0x0
MSR_PKG_C7_RESIDENCY.......(0x3fa) : 0x0
IA32_TSC_DEADLINE..........(0x6E0) : 0x430AD7CE0C1

CPU Ratio Info:
------------------------------------
CPU Low Frequency Mode.............: 800 MHz
CPU Maximum non-Turbo Frequency....: 4000 MHz
CPU Maximum Turbo Frequency........: 4200 MHz
CPU P-States [ 40 (42) ]
CPU C3-Cores [ 2 3 4 5 6 ]
CPU C6-Cores [ 0 3 4 5 6 7 ]
CPU C7-Cores [ 3 4 5 6 7 ]
CPU C3-Cores [ 0 2 3 4 5 6 ]
CPU C6-Cores [ 0 2 3 4 5 6 7 ]
CPU C7-Cores [ 2 3 4 5 6 7 ]
CPU C3-Cores [ 0 2 3 4 5 6 7 ]
CPU C6-Cores [ 0 1 2 3 4 5 6 7 ]
CPU P-States [ 35 40 (42) ]
CPU C3-Cores [ 0 1 2 3 4 5 6 7 ]
CPU P-States [ (9) 35 40 41 42 ]
CPU P-States [ 9 25 35 40 41 (42) ]
CPU P-States [ (9) 21 25 35 40 41 42 ]
CPU P-States [ 9 21 25 31 35 40 41 (42) ]
CPU P-States [ (9) 21 23 25 31 35 40 41 42 ]
CPU P-States [ 9 21 23 24 25 31 35 40 41 (42) ]
CPU P-States [ (9) 21 23 24 25 31 32 35 40 41 42 ]
CPU P-States [ 9 21 23 24 25 31 32 35 36 (40) 41 42 ]
CPU P-States [ (9) 21 23 24 25 27 31 32 35 36 40 41 42 ]

1st Image without SSDt in folder, second image with SSDT in folder
 

Attachments

  • i7 6700K Skylake Gaming G1 Mobo.jpg
    i7 6700K Skylake Gaming G1 Mobo.jpg
    146.6 KB · Views: 797
  • ssdt-Skylake-6700k.jpg
    ssdt-Skylake-6700k.jpg
    51.7 KB · Views: 726
Has any one been able to get the power stepping to work after sleep, on a skylake system? After waking from the sleep, my CPU frequency seems to get stuck at 3.6 Ghz. I am using a SSDT generated by ssdtPRGen. Using clover 3330 with kernelpm=true.
 
Hi all:
Even i reference http://ark.intel.com to get the required data.
But ssdtPRGen.sh still unknown my processor model.

Did i miss some thing?? thanks...
 

Attachments

  • ???? 2015-12-25 ??10.18.31.png
    ???? 2015-12-25 ??10.18.31.png
    50.8 KB · Views: 277
First screenshot shows condition before generating SSDT, next one with more c3 and c6 states was done with "generate p and states" settings in clover config shown, and 3rd screen shows condition after copying generated (in accordance with 1st post) ssdt.aml.
Z77n-wifi + OC 3570k + 10.11.2 + Mac mini 6.2
I think, nothing is correct here.
May be somebody can help me?
Thanks.
p.s. got only 3455 Single-Core Score and 10658 Multi-Core Score on Geekbench 3.3.4 for Mac OS X x86 (64-bit)
May be some settings in BIOS, or clover config?
 

Attachments

  • ssdt.png
    ssdt.png
    74.5 KB · Views: 489
  • ssdt_clover_gen.png
    ssdt_clover_gen.png
    73.4 KB · Views: 472
  • ssdt!.png
    ssdt!.png
    65.7 KB · Views: 553
  • clover_config.png
    clover_config.png
    191.3 KB · Views: 641
I just want to make sure that the changes in clover config for a haswell on z87 should be drop CpuPm and Cpu0Ist. I get an initial KP when my computer been off for a while or maybe it's who i've been in windows last. Then it boots fine into 10.11.2. Also when i put appleintelinfo.kext into my efi/clover/kexts/10.11/ I couldn't boot into 10.11 at all. I used the precompiled version from the OP.
 
Can someone help me I did this guide and I got the Ssdt but when I booted I kp so I don't know what to do to make the power management to work only way to get it to boot is to put nullcpupowermanagement.kext
 
Just tried to test the Power Management on my X99 / 5820k built.
Followed the instructions but after this ...
Code:
[COLOR=#000000]kextload ~/Desktop/AppleIntelInfo.kext[/COLOR]

The machine immediately rebooted...
Any ideas what happened or what's the problem? :(
 
Screen Shot 2016-01-06 at 09.27.31.png

Do you need any more information?
 
I got some interesting (to me) results playing with power management and SSDT script.

1. I have in my BIOS the following configuration:
CPU C state support - Auto
Enhanced Halt State(C1E) Auto
CPU C3 State Support Auto
CPU C6 State Support Auto
CPU C7 State Support Auto
CPU C7 State Support Auto
Package C state Support Auto (Enable CPU, PCIe, Memory, Graphics C State Support for power saving)
2. In the console (dmesg) I can see only this:
- XCPM: registered
- I've never seen any thing about AGPM
3. Intel Power Gadget shows CPU freq going up and down when depending what I'm doing, idling at 800MHz. GPU Freq goes up and down( fans, temp)
4. Sleep, wake up etc no problems.
5. AppleIntelInfo kext was showing number of P states
6. Results are the same with 10.10.x and 10.11.x

Then I decided to play with PikeRAlpha script

1. SSDt was generated and I put it in Clover directory
2. Intel Power Gadget shows CPU always at max Freq with some very small and short dips.
3. With the generated SSDT i got in the log:

XCPM: registered
IOPPF: XCPM mode
and for first time complaint about AGPM

Going through PikerAlpha blog I found a post where he disables the C states in the BIOS of his MB to proof that the new SSDT controls the CPU and not the BIOS

1. Changed the settings in my bios to :
CPU C state support - Auto
Enhanced Halt State(C1E) Auto
CPU C3 State Support Disable
CPU C6 State Support Disable
CPU C7 State Support Disable
CPU C7 State Support Disable
Package C state Support Auto (Enable CPU, PCIe, Memory, Graphics C State Support for power saving)
2. Intel Power Gadget now shows CPU freq going up and down, idling at 800Mhz



What I gain using the SSDT from the script?

XCPM: registered
IOPPF: XCPM mode compared to only XCPM: registered

The AGPM now tries to kick in( I know how to make it work with editing the kext), I never had problems without it

What settings in the BIOS should be used?


Thanks for your time reading it.
 
Back
Top