Contribute
Register

Quick Guide to Generate a SSDT for CPU Power Management

I've also downloaded the latest AppleIntelInfo.kext and get the following information if it helps:
According to that output, you have lots of p-states, so I think you were successful.
In my Broadwell-E system, I only have one p-state still. How are you booting? Any fakecpuid?
 
According to that output, you have lots of p-states, so I think you were successful.
I don't think the output from AppleIntelInfo.kext is sufficient. It doesn't show how much time is spent in each state. See my posts #103 and #105. How does the differences between my 2 outputs explain the difference in performance? I don't think it does unless I'm missing something.
 
According to that output, you have lots of p-states, so I think you were successful.
In my Broadwell-E system, I only have one p-state still. How are you booting? Any fakecpuid?

I haven't been able to make my SSDT at all, so the output is whats already running

Also the Max turbo Frequency is 3.8Ghz on this chip, so it's definitely not right

this is what i'm running

Screen Shot 2016-08-01 at 10.50.04 PM.png
 
Hi all, Piker Alpha told me to
Are you using this update of AppleIntelInfo.kext? That one works perfectly fine here.

And all that you really need is: ./ssdtPRGen.sh -turbo 4000

Either that or any other higher turbo value that you use in the BIOS for when you OC your setup.

What's that about: "But still the same error"? What error are you referring to?

So my new AppleIntelInfo.kext output now looks like this:
AppleIntelInfo.kext v1.5 Copyright © 2012-2016 Pike R. Alpha. All rights reserved



Settings:

------------------------------------

logMSRs............................: 1

logIGPU............................: 0

logCStates.........................: 1

logIPGStyle........................: 1

InitialTSC.........................: 0xa3be55e2f9

MWAIT C-States.....................: 8480



Model Specific Registers

-----------------------------------

MSR_CORE_THREAD_COUNT......(0x35) : 0x6000C

MSR_PLATFORM_INFO..........(0xCE) : 0x20080C3BF3812200

MSR_PMG_CST_CONFIG_CONTROL.(0xE2) : 0x3

MSR_PMG_IO_CAPTURE_BASE....(0xE4) : 0x0

IA32_MPERF.................(0xE7) : 0xB5578D459

IA32_APERF.................(0xE8) : 0xB2115D8A2

MSR_FLEX_RATIO.............(0x194) : 0xE0000

MSR_IA32_PERF_STATUS.......(0x198) : 0x22F300002300

MSR_IA32_PERF_CONTROL......(0x199) : 0x2400

IA32_CLOCK_MODULATION......(0x19A) : 0x0

IA32_THERM_STATUS..........(0x19C) : 0x88520000

IA32_MISC_ENABLES..........(0x1A0) : 0x810089

MSR_MISC_PWR_MGMT..........(0x1AA) : 0x400000

MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x2323232323232424

IA32_ENERGY_PERF_BIAS......(0x1B0) : 0x7

MSR_POWER_CTL..............(0x1FC) : 0x2304005B

MSR_RAPL_POWER_UNIT........(0x606) : 0xA0E03

MSR_PKG_POWER_LIMIT........(0x610) : 0x7FFD00014EA82

MSR_PKG_ENERGY_STATUS......(0x611) : 0x53D3328

MSR_PKG_POWER_INFO.........(0x614) : 0x1700460

MSR_PP0_POWER_LIMIT........(0x638) : 0x14FFD0

MSR_PP0_ENERGY_STATUS......(0x639) : 0x0

MSR_PKGC6_IRTL.............(0x60b) : 0x0

MSR_PKG_C2_RESIDENCY.......(0x60d) : 0x0

MSR_PKG_C6_RESIDENCY.......(0x3f9) : 0x0

IA32_TSC_DEADLINE..........(0x6E0) : 0xA3C0D07269



CPU Ratio Info:

------------------------------------

CPU Low Frequency Mode.............: 1200 MHz

CPU Maximum non-Turbo Frequency....: 3400 MHz

CPU Maximum Turbo Frequency........: 3600 MHz

CPU P-States [ (12) 33 35 ]

CPU P-States [ (12) 30 33 35 ]

CPU P-States [ 12 30 31 33 (35) ]

CPU P-States [ 12 30 31 33 34 (35) ]

CPU P-States [ (12) 30 31 32 33 34 35 ]

CPU P-States [ (12) 28 30 31 32 33 34 35 ]

So it looks like i've "lost" some CPU P-States and they've all changed:

CPU P-States [ (12) 33 35 ]
CPU P-States [ (12) 30 33 35 ]
CPU P-States [ 12 30 31 33 (35) ]
CPU P-States [ 12 30 31 33 34 (35) ]
CPU P-States [ (12) 30 31 32 33 34 35 ]
CPU P-States [ (12) 28 30 31 32 33 34 35 ]

and these have changed from my original output without inserted SSDT

IA32_MPERF.................(0xE7) : 0xB5578D459
IA32_APERF.................(0xE8) : 0xB2115D8A2
IA32_THERM_STATUS..........(0x19C) : 0x88520000
MSR_PKG_ENERGY_STATUS......(0x611) : 0x53D3328
IA32_TSC_DEADLINE..........(0x6E0) : 0xA3C0D07269

Edit edit (3rd time)

Piker on his blog explains why:

Intel® Turbo Boost Max Technology 3.0 is only used for Windows software and not OSX
 
Last edited:
Hi all friend!
This result i got after follow post#1
Code:
CPU Ratio Info:
------------------------------------
CPU Low Frequency Mode.............: 800 MHz
CPU Maximum non-Turbo Frequency....: 2400 MHz
CPU Maximum Turbo Frequency........: 3000 MHz

IGPU Info:
------------------------------------
IGPU Current Frequency.............: 650 MHz
IGPU Minimum Frequency.............: 650 MHz
IGPU Maximum Non-Turbo Frequency...: 650 MHz
IGPU Maximum Turbo Frequency.......: 1200 MHz
IGPU Maximum limit.................: No Limit

CPU P-States [ 16 25 (28) ] iGPU P-States [ (13) ]
CPU C3-Cores [ 0 2 3 ]
CPU C6-Cores [ 0 2 3 ]
CPU C7-Cores [ 0 2 3 ]
CPU P-States [ 16 20 25 (28) ] iGPU P-States [ (13) ]
CPU C6-Cores [ 0 1 2 3 ]
CPU C7-Cores [ 0 1 2 3 ]
CPU P-States [ 16 20 24 25 (28) ] iGPU P-States [ (13) ]
CPU P-States [ (8) 16 20 21 24 25 28 ] iGPU P-States [ (13) ]
CPU C3-Cores [ 0 1 2 3 ]
CPU P-States [ 8 16 19 20 21 24 25 (28) ] iGPU P-States [ (13) ]
CPU P-States [ (8) 16 18 19 20 21 24 25 28 ] iGPU P-States [ (13) ]
CPU P-States [ (8) 13 16 18 19 20 21 24 25 28 ] iGPU P-States [ (13) ]
CPU P-States [ (8) 13 16 18 19 20 21 24 25 26 28 ] iGPU P-States [ (13) ]
CPU P-States [ 8 13 16 18 19 20 21 24 25 26 28 (30) ] iGPU P-States [ (13) ]
CPU P-States [ 8 13 14 (16) 18 19 20 21 24 25 26 28 30 ] iGPU P-States [ (13) ]
CPU P-States [ (8) 13 14 15 16 18 19 20 21 24 25 26 28 30 ] iGPU P-States [ (13) ]
CPU P-States [ (8) 12 13 14 15 16 18 19 20 21 24 25 26 28 30 ] iGPU P-States [ (13) ]
CPU P-States [ (8) 12 13 14 15 16 17 18 19 20 21 24 25 26 28 30 ] iGPU P-States [ (13) ]
CPU P-States [ 8 12 13 14 15 16 17 18 19 20 21 23 24 25 26 (28) 30 ] iGPU P-States [ (13) ]
CPU P-States [ 8 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 (28) 30 ] iGPU P-States [ (13) ]
CPU P-States [ 8 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 (28) 30 ] iGPU P-States [ (13) ]
CPU P-States [ 8 11 12 13 14 15 (16) 17 18 19 20 21 22 23 24 25 26 27 28 30 ] iGPU P-States [ (13) ]
CPU P-States [ (8) 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ] iGPU P-States [ (13) ]
CPU P-States [ (8) 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ] iGPU P-States [ (13) ]
bash-3.2#
Is it full speedstep? also i wonderwhy can't check speedstep with method using Console app with AppleIntelCPUPowerManagementInfo.kext?

Forgot, i'm using Sierra. Maybe cause is AppleIntelCPUPowerManagementInfo.kext not support Sierra yet,right??
 
Code:
CPU Ratio Info:
------------------------------------
CPU Low Frequency Mode.............: 800 MHz
CPU Maximum non-Turbo Frequency....: 4000 MHz
CPU Maximum Turbo Frequency........: 4200 MHz

IGPU Info:
------------------------------------
IGPU Current Frequency.............:    0 MHz
IGPU Minimum Frequency.............:  350 MHz
IGPU Maximum Non-Turbo Frequency...:  350 MHz
IGPU Maximum Turbo Frequency.......: 1150 MHz
IGPU Maximum limit.................: No Limit

CPU P-States [ (11) 34 40 ] iGPU P-States [ ]
CPU C3-Cores [ 0 3 ]
CPU C6-Cores [ 0 1 2 3 ]
CPU P-States [ (10) 11 31 34 40 ] iGPU P-States [ ]
CPU C3-Cores [ 0 2 3 ]
CPU P-States [ 10 11 28 31 34 (40) ] iGPU P-States [ ]
CPU C3-Cores [ 0 1 2 3 ]
CPU P-States [ (9) 10 11 28 31 34 36 40 ] iGPU P-States [ ]
CPU P-States [ 9 10 11 25 28 31 34 36 (40) ] iGPU P-States [ ]
CPU P-States [ (9) 10 11 22 25 28 31 34 36 40 ] iGPU P-States [ ]
CPU P-States [ (9) 10 11 22 25 28 29 31 34 36 40 ] iGPU P-States [ ]
CPU P-States [ 9 10 11 20 22 25 28 29 31 34 36 (40) ] iGPU P-States [ ]
CPU P-States [ (9) 10 11 20 22 23 25 28 29 31 34 36 40 ] iGPU P-States [ ]
CPU P-States [ 9 10 (11) 20 22 23 25 28 29 31 33 34 36 40 ] iGPU P-States [ ]
CPU P-States [ 9 10 11 17 20 22 23 25 28 29 31 33 34 36 (40) ] iGPU P-States [ ]
CPU P-States [ (9) 10 11 17 20 22 23 25 27 28 29 31 33 34 36 40 ] iGPU P-States [ ]
CPU P-States [ (9) 10 11 17 20 22 23 25 27 28 29 31 33 34 36 38 40 ] iGPU P-States [ ]
bash-3.2#
hi all
i created ssdt using this guide and it went well but I am unsure if its working fine and is there any clover changes need to done I have P states and C states enabled and here is the output with a warning Warning: 'cpu-type' may be set improperly (0x0705 instead of 0x0905)
Code:
ssdtPRGen.sh v0.9  Copyright (c) 2011-2012 by † RevoGirl
             v6.6  Copyright (c) 2013 by † Jeroen
             v19.0 Copyright (c) 2013-2016 by Pike R. Alpha
-----------------------------------------------------------
Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <

System information: Mac OS X 10.11.6 (15G31)
Brandstring: "Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz"

Notice: Downloading extractACPITables.zip ...
Notice: Downloading Sandy Bridge.cfg ...
Notice: Downloading Ivy Bridge.cfg ...
Notice: Downloading Haswell.cfg ...
Notice: Downloading Broadwell.cfg ...
Notice: Downloading Skylake.cfg ...
Version: models.cfg v160 / Sandy Bridge.cfg v0


Scope (_PR_) {222 bytes} with ACPI Processor declarations found in the DSDT (ACPI 1.0 compliant)
Notice: Downloading Restrictions.cfg ...
Generating ssdt.dsl for a 'iMac17,1' with board-id [Mac-B809C3757DA9BB8D]
Skylake Core i7-6700K processor [0x506E3] setup [0x0705]
With a maximum TDP of 91 Watt, as specified by Intel
Number logical CPU's: 4 (Core Frequency: 4000 MHz)
Number of Turbo States: 2 (4100-4200 MHz)
Number of P-States: 35 (800-4200 MHz)
Injected C-States for CPU0 (C1,C3,C6,C7,C8,C9,C10)
Injected C-States for CPU1 (C1,C2,C3,C6,C7)
Warning: 'cpu-type' may be set improperly (0x0705 instead of 0x0905)
Notice: Downloading iasl.zip ...

Compiling: ssdt_pr.dsl
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20140926-64 [Nov  6 2014]
Copyright (c) 2000 - 2014 Intel Corporation

ASL Input:     /Users/white_falcon/Library/ssdtPRGen/ssdt.dsl - 312 lines, 10138 bytes, 49 keywords
AML Output:    /Users/white_falcon/Library/ssdtPRGen/ssdt.aml - 2007 bytes, 16 named objects, 33 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

Do you want to copy /Users/white_falcon/Library/ssdtPRGen/ssdt.aml to /Extra/ssdt.aml? (y/n)? n
Do you want to open ssdt.dsl (y/n)? n
white-falcons-iMac:~ white_falcon$
 

Attachments

  • Screen Shot 2016-08-20 at 9.17.58 PM.png
    Screen Shot 2016-08-20 at 9.17.58 PM.png
    66.1 KB · Views: 212
Last edited:
Any suggestions on getting this to work with Broadwell-E? I have a 6950x and it only shows one P-State. I ran Pike's script and installed the SSDT, but it did not help. I'm using fakecpuid=0x0306F2 to make this system boot. Intel Power Gadget shows my CPU flatlined at 4GHz all the time.
Code:
16:555  0:022  Inserting ssdt.aml from EFI\CLOVER\ACPI\patched ... Success
16:583  0:028  End: Processing Patched AML(s)
16:595  0:011  Out of control with CPU numbers
16:606  0:011   CPUBase=0 and ApicCPUBase=0 ApicCPUNum=20
16:617  0:011  Unsupported CPU (0x6): P-States not generated !!!
16:628  0:011  GeneratePStates failed: Status=Not Found

Ya, also waiting for Broadwell-E. 1 C and 3 P-states atm... (6850K)
Also the ssdtPRGen -show flag does not show squat for some reason (-s gives error)...
 
i have broadwell-e, i'm pretty sure i have states working ok, but have some error messages in clover log that i'm not sure about
 
Code:
AppleIntelInfo.kext v1.5 Copyright © 2012-2016 Pike R. Alpha. All rights reserved

Settings:
------------------------------------
logMSRs............................: 1
logIGPU............................: 0
logCStates.........................: 1
logIPGStyle........................: 1
InitialTSC.........................: 0x95ddfa1253
MWAIT C-States.....................: 8480

Model Specific Registers
-----------------------------------
MSR_CORE_THREAD_COUNT......(0x35)  : 0x6000C
MSR_PLATFORM_INFO..........(0xCE)  : 0x20080C3BF3812200
MSR_PMG_CST_CONFIG_CONTROL.(0xE2)  : 0x403
MSR_PMG_IO_CAPTURE_BASE....(0xE4)  : 0x10414
IA32_MPERF.................(0xE7)  : 0x9B42A028E
IA32_APERF.................(0xE8)  : 0x93F91AC8A
MSR_FLEX_RATIO.............(0x194) : 0xE0000
MSR_IA32_PERF_STATUS.......(0x198) : 0x22F300002300
MSR_IA32_PERF_CONTROL......(0x199) : 0x2600
IA32_CLOCK_MODULATION......(0x19A) : 0x0
IA32_THERM_STATUS..........(0x19C) : 0x88540000
IA32_MISC_ENABLES..........(0x1A0) : 0x850089
MSR_MISC_PWR_MGMT..........(0x1AA) : 0x402000
MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x2323232323232626
IA32_ENERGY_PERF_BIAS......(0x1B0) : 0x0
MSR_POWER_CTL..............(0x1FC) : 0x2104005B
MSR_RAPL_POWER_UNIT........(0x606) : 0xA0E03
MSR_PKG_POWER_LIMIT........(0x610) : 0x7FFD00014EA82
MSR_PKG_ENERGY_STATUS......(0x611) : 0x4493A87
MSR_PKG_POWER_INFO.........(0x614) : 0x1700460
MSR_PP0_POWER_LIMIT........(0x638) : 0x14FFD0
MSR_PP0_ENERGY_STATUS......(0x639) : 0x0
MSR_PKGC6_IRTL.............(0x60b) : 0x0
MSR_PKG_C2_RESIDENCY.......(0x60d) : 0x0
MSR_PKG_C6_RESIDENCY.......(0x3f9) : 0x0
IA32_TSC_DEADLINE..........(0x6E0) : 0x95E0481DEE

CPU Ratio Info:
------------------------------------
CPU Low Frequency Mode.............: 1200 MHz
CPU Maximum non-Turbo Frequency....: 3400 MHz
CPU Maximum Turbo Frequency........: 3800 MHz
CPU P-States [ (12) 32 35 ]
CPU P-States [ (12) 27 32 35 ]
CPU P-States [ (12) 26 27 32 35 ]
CPU P-States [ (12) 26 27 28 32 35 ]
CPU P-States [ (12) 26 27 28 31 32 35 ]
bash-3.2#

Kexts other folder 10.11.6

AppleALC.kext
FakeSMS.ket
HackrNVMeFamily-10_11_6.kext
IntelMausiEthernet.kext
NullCPUPPowerManagement.kext
realtekALC.kext
USBInjectAll.kext
VoodooTSCSync.kext
 
Back
Top