Contribute
Register

Skylake HWP Enable

Status
Not open for further replies.
I got few p-states and the max value is 36 and not 39 as I set in HWPvalue ( 27 = 39 ) .

Need apply load then run “sudo cat /tmp/AppleIntelInfo.dat”, more P-states will show up.

For Giga mobo, make sure speed shift (not equal to EIST or speed step) is enabled in BIOS, it is recommended try CPU Friend method (dynamic frequency vector injection) to enable HWP first, base on Apple XCPM control calling HWP feature. Clover HWP may have better power consumption but will not work after system wake up, need more steps to fix up.

See previous post #200, download CPUFriendDataProvider sample, I remember frequency vector table should support higher than 3.9 GHz.
 
Last edited:
For Giga mobo, make sure speed shift (not equal to EIST or speed step) is enabled in BIOS, it is recommended try CPU Friend method (dynamic frequency vector injection) to enable HWP first, base on Apple XCPM control calling HWP feature.
speed shift option enabled in BIOS.

Clover HWP may have better power consumption but will not work after system wake up, need more steps to fix up.
Yup, I noticed that when I read your post #211.

See previous post #200, download CPUFriendDataProvider sample, I remember frequency vector table should support higher than 3.9 GHz.
I downloaded you sample and I copied it in /E/C/kexts/other with CPUFriend.kext and Lilu.kext (already present) then rebooting I got a KP. Could CPUFriendDataProvider kext be the problem?
I read instruction about CPUFriend kext from this link: https://github.com/PMheart/CPUFriend/blob/master/Instructions.md
I don't understand how to edit the Mac-XXXX.plist (Mac-B809C3757DA9BB8D in my case) file.

Update:
KP fixed by adding:
  • Piker's MSR 0xE2 lock patch to fix instant reboot (KernelToPatch)
Code:
Comment: MSR 0xE2 _xcpm_idle instant reboot (c) Pike R. Alpha
MatchOS: 10.12
Find: 20b9e200 00000f30
Replace: 20b9e200 00009090

[ It seems to work under 10.13.3 ]

If using CPUFriendDataProvider.kext, tiny ssdt with PluginType=1 is required.
Is it the same to set PluginType=YES in config.plist? (Clover v.4410)
Screen Shot 2018-03-20 at 00.08.44.png
 
Last edited:
KP fixed by adding:
  • Piker's MSR 0xE2 lock patch to fix instant reboot (KernelToPatch)

I forget Giga mobo has no CFG Lock disable option in BIOS, need XCPM instant patch.

Is it the same to set PluginType=YES in config.plist? (Clover v.4410)

I think should be same, previously is PluginType=1 (for enable X86PlatformPlugin). Verify with ioreg, if X86PlatformPlugin loaded then HWP should work.
 
I think should be same, previously is PluginType=1 (for enable X86PlatformPlugin). Verify with ioreg, if X86PlatformPlugin loaded then HWP should work.
Yup, it's loaded.
Screen Shot 2018-03-20 at 00.55.10.png

I tried a CPU benchmark with LuxMark but I can't get my CPU go over 3,6Ghz... I don't understand why, it's the same of the previous method (Clover HWP).
Screen Shot 2018-03-20 at 00.16.34.png
 
Yup, it's loaded.
View attachment 319889

I tried a CPU benchmark with LuxMark but I can't get my CPU go over 3,6Ghz... I don't understand why, it's the same of the previous method (Clover HWP).
View attachment 319890

Seems to be turbo state not enabled, try check all Generate Options from PStates to PluginType in config.plist, APSN for turbo state.

Edit; Your previous AppleIntelInfo report show that turbo frequency is enabled.

MSR_TURBO_RATIO_LIMIT............(0x1AD) : 0x24252627
------------------------------------------
- Maximum Ratio Limit for C01.......... : 27 (3900 MHz)
- Maximum Ratio Limit for C02.......... : 26 (3800 MHz)
- Maximum Ratio Limit for C03.......... : 25 (3700 MHz)
- Maximum Ratio Limit for C04.......... : 24 (3600 MHz)

single core max 3.9 GHz
2 cores max 3.8 GHz
3 cores max 3.7 GHz
4 cores max 3.6 GHz

Enable Generate Options should not help, disable HWP mode, run CPU benchmark test again to verify CPU max frequency.
 
Last edited:
Seems to be turbo state not enabled, try check all Generate Options from PStates to PluginType in config.plist, APSN for turbo state.

Edit; Your previous AppleIntelInfo report show that turbo frequency is enabled.

MSR_TURBO_RATIO_LIMIT............(0x1AD) : 0x24252627
------------------------------------------
- Maximum Ratio Limit for C01.......... : 27 (3900 MHz)
- Maximum Ratio Limit for C02.......... : 26 (3800 MHz)
- Maximum Ratio Limit for C03.......... : 25 (3700 MHz)
- Maximum Ratio Limit for C04.......... : 24 (3600 MHz)

single core max 3.9 GHz
2 cores max 3.8 GHz
3 cores max 3.7 GHz
4 cores max 3.6 GHz

Enable Generate Options should not help, disable HWP mode, run CPU benchmark test again to verify CPU max frequency.
  • CPUFriend and CPUFriendDataProvider kexts removed from /E/C/kexts/other
  • config.plist/ACPI/SSDT/Generate/PluginType=NO
In this way I should have disabled XCPM and HWP both.
I re-tried LuxMark but I got same result, CPU frequency don't go over 3,6Ghz.
There are others proprieties that limit CPU frequency? It seems independent by the CPU PM...

Screen Shot 2018-03-20 at 10.30.37.png

BTW, I noticed that X86PlatformPlugin is loaded, should it be unloaded without CPUFriendDataProvider.kext or ssdt injection?
Screen Shot 2018-03-20 at 10.29.10.png
 

Attachments

  • zenonos.ioreg
    15.6 MB · Views: 156
  • CPUFriend and CPUFriendDataProvider kexts removed from /E/C/kexts/other
  • config.plist/ACPI/SSDT/Generate/PluginType=NO
In this way I should have disabled XCPM and HWP both.
I re-tried LuxMark but I got same result, CPU frequency don't go over 3,6Ghz.
There are others proprieties that limit CPU frequency? It seems independent by the CPU PM...

View attachment 319926

BTW, I noticed that X86PlatformPlugin is loaded, should it be unloaded without CPUFriendDataProvider.kext or ssdt injection?
View attachment 319928

Use Geekbench.app for single core test, if you use custom PM ssdt.aml, remove it, XCPM mode does not need custom PM ssdt.

Use boot arg -cpufoff will disable CPUFriend, HWP will be off, no need set PluginType to NO.

i5 6600 stock clock is 3.3 GHZ, 3.6 GHz already in turbo mode, 3.9 GHz for single core only.
 
Use Geekbench.app for single core test, if you use custom PM ssdt.aml, remove it, XCPM mode does not need custom PM ssdt.

Use boot arg -cpufoff will disable CPUFriend, HWP will be off, no need set PluginType to NO.

i5 6600 stock clock is 3.3 GHZ, 3.6 GHz already in turbo mode, 3.9 GHz for single core only.
I noticed a peak very close to 4Ghz.
Screen Shot 2018-03-20 at 09.55.38.png

Do CPU P-States are too few? (AppleIntelInfo.kext runs 4m idle, 4m benchmark, 2m idle before unload it)
Code:
CPU P-States [ (8) 24 27 ]
CPU C3-Cores [ 0 2 ]
CPU C6-Cores [ 0 1 2 ]
CPU C7-Cores [ 1 2 3 ]
CPU C3-Cores [ 0 2 3 ]
CPU C6-Cores [ 0 1 2 3 ]
CPU P-States [ (8) 24 27 ]
CPU C3-Cores [ 0 1 2 3 ]
CPU P-States [ 8 (17) 24 27 ]
CPU P-States [ 8 17 (20) 24 27 ]
CPU P-States [ 8 17 20 (22) 24 27 ]
CPU P-States [ 8 17 20 22 24 27 (36) ]
CPU P-States [ 8 17 20 22 24 27 36 (38) ]
CPU P-States [ 8 17 20 22 24 27 36 (37) 38 ]
CPU P-States [ 8 17 20 22 24 27 (36) 37 38 ]
CPU P-States [ 8 17 20 22 24 27 (36) 37 38 ]
CPU P-States [ 8 17 20 22 24 27 (36) 37 38 ]
CPU P-States [ 8 17 20 22 24 27 (36) 37 38 ]
 

Attachments

  • appleintelinfo_zenonos.txt
    13 KB · Views: 188
Do CPU P-States are too few? (AppleIntelInfo.kext runs 4m idle, 4m benchmark, 2m idle before unload it)

I remember HWP frequency vector table default set to 4 main stage, not same as XCPM P-states, P-States will increase while loading applied, for example, during bench mark run "sudo cat /tmp/AppleIntelInfo.dat", more P-States will be show up, depended on load, every time result is different.
 
I remember HWP frequency vector table default set to 4 main stage, not same as XCPM P-states, P-States will increase while loading applied, for example, during bench mark run "sudo cat /tmp/AppleIntelInfo.dat", more P-States will be show up, depended on load, every time result is different.
Ok, interesting.
Thank you very much for your help! ;)
 
Status
Not open for further replies.
Back
Top