Contribute
Register

Skylake HWP Enable

Status
Not open for further replies.
Can you answer me? ( post #214 )

Start from post # 150 to #156, find out SMBIOS plist meet or close to your CPU frequency, iMac 17,1 does not support HWP not suitable use it as template, try other SMBIOS.

Then add/edit HWP support and frequency vector table to plist.

Frequency Vectors table contents.
The first 932 bytes are frequency vector settings, need search from AppleLife site.
The last 576 bytes are XCPM and HWP settings, you can find some examples from 150 to 156.

Finally step convert SMBIOS plist to CPUFriendDataProvider.kext.

Edit: attached files may be useful for Frequency Vector Table editing, first 932 bytes block layout and description.
 

Attachments

  • Frequency Vectors-try to understand.zip
    5.3 KB · Views: 167
Last edited:
Start from post # 150 to #156, find out SMBIOS plist meet or close to your CPU frequency, iMac 17,1 does not support HWP not suitable use it as template, try other SMBIOS.

Then add/edit HWP support and frequency vector table to plist.

Frequency Vectors table contents.
The first 932 bytes are frequency vector settings, need search from AppleLife site.
The last 576 bytes are XCPM and HWP settings, you can find some examples from 150 to 156.

Finally step convert SMBIOS plist to CPUFriendDataProvider.kext.

Edit: attached files may be useful for Frequency Vector Table editing, first 932 bytes block layout and description.
Thank you very much but finally I'll go for Clover HWP with HWPEnabler kext (last one will be implemented after solved this problem).
But at the moment I still can't get turbo modes work (see attached appleintelinfo output) , maybe do I have to change something in BIOS?

E/C/config.plist:
  • ACPI/SSDT/Generate/PluginType=YES
  • CPU/HWPEnable=YES
  • CPU/UseARTFrequency=YES
  • CPU/HWPValue=0x20002701 (27hex=39)
  • Kernel and Kext Patches/FakeCPUID=0x0306A0 (*)
  • SMBIOS = iMac14,2
E/C/kexts/Other:
  • NullCPUPowerManagement.kext (*)

(*) - To definitely disable XCPM.
 

Attachments

  • CLOVER.zip
    2.4 MB · Views: 145
  • zenonos_appleintelinfo.txt
    14.4 KB · Views: 199
  • zenonos_ioreg.ioreg
    5.1 MB · Views: 171
Thank you very much but finally I'll go for Clover HWP with HWPEnabler kext (last one will be implemented after solved this problem).
But at the moment I still can't get turbo modes work (see attached appleintelinfo output) , maybe do I have to change something in BIOS?

E/C/config.plist:
  • ACPI/SSDT/Generate/PluginType=YES
  • CPU/HWPEnable=YES
  • CPU/UseARTFrequency=YES
  • CPU/HWPValue=0x20002701 (27hex=39)
  • Kernel and Kext Patches/FakeCPUID=0x0306A0 (*)
  • SMBIOS = iMac14,2
E/C/kexts/Other:
  • NullCPUPowerManagement.kext (*)

(*) - To definitely disable XCPM.

Try set max CPU frequency from Auto to 3.9 GHz in BIOS or Clover Cpu section, I remember from 10.12.3 or 10.12.5, Clover UseARTFrequency no longer work, always 8000FF01 reported by AppleIntelInfo.
 
Try set max CPU frequency from Auto to 3.9 GHz in BIOS or Clover Cpu section, I remember from 10.12.3 or 10.12.5, Clover UseARTFrequency no longer work, always 8000FF01 reported by AppleIntelInfo.
I set config.plist/Cpu/Frequency MHz=3900 but cpu still at 3.6Ghz constantly.
Maybe it's a settings from BIOS that block this but I doubt it... I can't edit max cpu frequency option in BIOS it's set to Auto that equal 3.9GHz (BIOS pages screenshots below).

Update: Removed HWP options from config.plist , added HWPEnabler.kext to /L/E .
Now HWP_REQUEST is correct but still not get over 3,6GHz.
Screen Shot 2018-03-23 at 14.28.21.png
What's wrong?
 

Attachments

  • zenonos_appleintelinfo.txt
    13.3 KB · Views: 211
  • IMG_1498.jpg
    IMG_1498.jpg
    1.7 MB · Views: 350
  • IMG_1499.jpg
    IMG_1499.jpg
    1.9 MB · Views: 316
  • IMG_1500.jpg
    IMG_1500.jpg
    2.1 MB · Views: 297
Last edited:
I set config.plist/Cpu/Frequency MHz=3900 but cpu still at 3.6Ghz constantly.
Maybe it's a settings from BIOS that block this but I doubt it... I can't edit max cpu frequency option in BIOS it's set to Auto that equal 3.9GHz (BIOS pages screenshots below).

Update: Removed HWP options from config.plist , added HWPEnabler.kext to /L/E .
Now HWP_REQUEST is correct but still not get over 3,6GHz.
View attachment 320434
What's wrong?

In theory Z170 mobo should allow all cores set to it's max turbo ratio 39x, which equal to non turbo CPU 39x, have you try it.

Seems to be Clover HWP have trouble with ACPI CpuSsdt table, try override system CpuSsdt by drop table CpuSsdt, normally used by overclocker.
upload_2018-3-24_1-12-1.png


Clover HWPEnable use same method as HWPEnabler by goodwin_c, enable 0x770 and store ARTFrequency value to 0x774 register.

Option 1
1, Uncheck Clover HWPEanble and install HWPEnabler to L/E (This step let you use Pike ssdtprgen.sh or Clover Generate PStates and CStates)
2. Check all Clover/ generate options from Generate PStates to PluginType (when Clover HWPEnable is checked, no Pstates and States will be generated by clover).

Option 2
1, Uncheck Clover HWPEanble and install HWPEnabler to L/E.
2, Uncheck Clover Generate Options from Generate PStates to PluginType
3, Use Pike ssdtprgen.sh script generate PM ssd.aml, and place it into Clover/ACPI/patched.
 
In theory Z170 mobo should allow all cores set to it's max turbo ratio 39x, which equal to non turbo CPU 39x, have you try it.
How can I allow it? I don't see setting like this in BIOS.

Seems to be Clover HWP have trouble with ACPI CpuSsdt table, try override system CpuSsdt by drop table CpuSsdt, normally used by overclocker.
View attachment 320461
Done.
Screen Shot 2018-03-23 at 19.24.07.png
Clover HWPEnable use same method as HWPEnabler by goodwin_c, enable 0x770 and store ARTFrequency value to 0x774 register.

Option 1
1, Uncheck Clover HWPEanble and install HWPEnabler to L/E (This step let you use Pike ssdtprgen.sh or Clover Generate PStates and CStates)
2. Check all Clover/ generate options from Generate PStates to PluginType (when Clover HWPEnable is checked, no Pstates and States will be generated by clover).

Option 2
1, Uncheck Clover HWPEanble and install HWPEnabler to L/E.
2, Uncheck Clover Generate Options from Generate PStates to PluginType
3, Use Pike ssdtprgen.sh script generate PM ssd.aml, and place it into Clover/ACPI/patched.
Tried both options, not work: 3.6GHz is the max frequency that I get, very frustrating... :crazy:
 
How can I allow it? I don't see setting like this in BIOS.

Z series mobo support overclock, should work, have you try highlight CPU Clock Ratio Auto and type 39, highlight Turbo Ratio Auto and type 39 for all cores, in BIOS M.I.T sub menu, if support Auto should change to desired ratio 39.
 
Last edited:
Z series mobo support overclock, should work, have you try highlight CPU Clock Ratio Auto and type 39, highlight Turbo Ratio Auto and type 39 for all cores, in BIOS M.I.T sub menu, if support Auto should change to desired ratio 39.
Done, max frequency from Intel gadget 3.6Ghz , so at this point BIOS settings aren't the problem right?
Code:
MSR_TURBO_RATIO_LIMIT............(0x1AD) : 0x27272727
------------------------------------------
- Maximum Ratio Limit for C01.......... : 27 (3900 MHz)
- Maximum Ratio Limit for C02.......... : 27 (3900 MHz)
- Maximum Ratio Limit for C03.......... : 27 (3900 MHz)
- Maximum Ratio Limit for C04.......... : 27 (3900 MHz)

From Appleintelinfo:
Screen Shot 2018-03-24 at 10.19.41.png
Does HWP_STATUS value is correct even if it's enabled?
Code:
IA32_PM_ENABLE...................(0x770) : 0x1 (HWP Supported and Enabled)
 
Last edited:
Done, max frequency from Intel gadget 3.6Ghz , so at this point BIOS settings aren't the problem right?
Code:
MSR_TURBO_RATIO_LIMIT............(0x1AD) : 0x27272727
------------------------------------------
- Maximum Ratio Limit for C01.......... : 27 (3900 MHz)
- Maximum Ratio Limit for C02.......... : 27 (3900 MHz)
- Maximum Ratio Limit for C03.......... : 27 (3900 MHz)
- Maximum Ratio Limit for C04.......... : 27 (3900 MHz)

From Appleintelinfo:
View attachment 320566
Does HWP_STATUS value is correct even if it's enabled?
Code:
IA32_PM_ENABLE...................(0x770) : 0x1 (HWP Supported and Enabled)

0x777 should be real time status, not really know in what condition it will active, since it never change during all HWP (XCPM_HWP, Clover_ HWP) tests.

Clover HWP method (seems to be real HWP control) only 0x770 MSR_IA32_HWP_ENABLE registered to kernel and does not need XCPM control, after HWP enabled CPU PM handled by CPU which refer to ACPI HWP tables, 0x774 MSR_IA32_PM_VALUE is option for optimise power level.

For detail of ACPI HWP tables, press F4 at Clover boot menu, then read DumpLog.txt, my mobo HWP tables are Cpu0Hwp, ApHwp, HwpLvt.

Apple HWP (should be a advance XCPM control) is slightly different, HWP request and ARTFrequency are sent through XCPM, HWP features also mixed with XCPM features.

If Clover HWP is incompatible with your HACK, then use CPUFriend method.
 
Thanks for the great work you guys have done. I am using KabyLake on 10.13.3, and now I am getting confused whether I am using HWP or not.

These are the things I did:
Drop CpuSsdt Table
Generate PStates and CStates
Fake CPUID(0x0306A0) in clover and add NullPowerManagement.kext since I am a KabyLake user
Open HWPEnable and UseARTFrenquecy
Install the HWPEnabler.kext to /L/E

As I generate the log, there are nothing about HWP, pleease help me on this. I will post my log and some screenshot.
 

Attachments

  • 屏幕快照 2018-04-16 01.28.39.jpg
    屏幕快照 2018-04-16 01.28.39.jpg
    478.5 KB · Views: 549
  • 屏幕快照 2018-04-16 01.34.28.jpg
    屏幕快照 2018-04-16 01.34.28.jpg
    137.6 KB · Views: 568
  • AppleIntelInfo.txt
    16.6 KB · Views: 332
  • CLOVER.zip
    3.1 MB · Views: 233
  • 屏幕快照 2018-04-16 01.35.42.jpg
    屏幕快照 2018-04-16 01.35.42.jpg
    318.3 KB · Views: 520
Status
Not open for further replies.
Back
Top