Contribute
Register

Skylake HWP Enable

Joined
Oct 26, 2013
Messages
925
Motherboard
MSI B250M PRO-VHD
CPU
i3-7100
Graphics
RX 570
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.
 
Joined
Apr 15, 2018
Messages
65
Motherboard
Mi NoteBook Pro 15.6''
CPU
Intel® Core™ i7-8550U
Graphics
Intel UHD Graphics 620, 1920x1080
Mac
MacBook Pro
Mobile Phone
Android
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

Joined
Oct 26, 2013
Messages
925
Motherboard
MSI B250M PRO-VHD
CPU
i3-7100
Graphics
RX 570
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.
Old version AppleIntelInfo.kext may not show MSR 0x770 and 0x774 status.

Use attached AppleIntelInfo.kext to verify HWP status.

If HWPEnabler.kext is installed at L/E (same function as Clover HWPEnable), does not need check Clover HWPEnable.

If only need HWPEnabler.kext to resume HWP functional after system wakeup, check Clover HWPEnable option and place HWPEnabler.kext in home folder, create a script , manually run it after system wakeup.
 

Attachments

Joined
Apr 15, 2018
Messages
65
Motherboard
Mi NoteBook Pro 15.6''
CPU
Intel® Core™ i7-8550U
Graphics
Intel UHD Graphics 620, 1920x1080
Mac
MacBook Pro
Mobile Phone
Android
Old version AppleIntelInfo.kext may not show MSR 0x770 and 0x774 status.

Use attached AppleIntelInfo.kext to verify HWP status.

If HWPEnabler.kext is installed at L/E (same function as Clover HWPEnable), does not need check Clover HWPEnable.

If only need HWPEnabler.kext to resume HWP functional after system wakeup, check Clover HWPEnable option and place HWPEnabler.kext in home folder, create a script , manually run it after system wakeup.
Thank you so much. Now my log shows HWP correctly.
However, though I write a script, similar as the one in https://github.com/goodwin/HWPEnable/issues/1, I still can't get my HWPEnabler works after sleep. The system even crashes if I open too many tasks. Please see my screenshot and script.
Things I have done:
*use brew to install sleepwatcher
*Use the command chmod 777 ~/.wakeup to build a wakeup file
*address is right and sleepwatcher is on after sleep
*.wakeup file is in ~/.wakeup

I tried to put the kext in /Library/Extensions and change the address in .wakeup, also fail to work. Could you show me the correct way to do this?
 

Attachments

Last edited:
Joined
Oct 26, 2013
Messages
925
Motherboard
MSI B250M PRO-VHD
CPU
i3-7100
Graphics
RX 570
Thank you so much. Now my log shows HWP correctly.
No, HWP not fully enabled, 0x770 still return 0x0, see attached HWP status.

I tried to put the kext in /Library/Extensions and change the address in .wakeup, also fail to work. Could you show me the correct way to do this?
I use Clover HWPEnable + HWPEnabler.kext method and do not install HWPEnabler.kext to L/E or S/L/E, just copy HWPEnabler.kext and script hwp2.sh to home folder, then run below from terminal.
sudo chown -R root:wheel ~/HWPEnabler.kext
sudo chmod -R 755 ~/HWPEnabler.kext
sudo chmod +x ~/hwp2.sh

To resume HWP functional after wakeup, run script hwp2.sh from terminal,
~/hwp2.sh
 

Attachments

Joined
Apr 15, 2018
Messages
65
Motherboard
Mi NoteBook Pro 15.6''
CPU
Intel® Core™ i7-8550U
Graphics
Intel UHD Graphics 620, 1920x1080
Mac
MacBook Pro
Mobile Phone
Android
No, HWP not fully enabled, 0x770 still return 0x0, see attached HWP status.



I use Clover HWPEnable + HWPEnabler.kext method and do not install HWPEnabler.kext to L/E or S/L/E, just copy HWPEnabler.kext and script hwp2.sh to home folder, then run below from terminal.
sudo chown -R root:wheel ~/HWPEnabler.kext
sudo chmod -R 755 ~/HWPEnabler.kext
sudo chmod +x ~/hwp2.sh

To resume HWP functional after wakeup, run script hwp2.sh from terminal,
~/hwp2.sh
Thanks for your gorgeous work, everything is ok for me now.
There's one more thing left. When I study HWPEnabler, I find in HWPEnabler.kext/Contents/info.plist/IOKitPersonalities/HWPDeaultVal is 80002301. Should I delete this so that HWPEnabler.kext can automatically do the best speed shift?
 
Joined
Oct 26, 2013
Messages
925
Motherboard
MSI B250M PRO-VHD
CPU
i3-7100
Graphics
RX 570
Thanks for your gorgeous work, everything is ok for me now.
There's one more thing left. When I study HWPEnabler, I find in HWPEnabler.kext/Contents/info.plist/IOKitPersonalities/HWPDeaultVal is 80002301. Should I delete this so that HWPEnabler.kext can automatically do the best speed shift?
If want to use ARTFrequency need install HWPEnabler.kext to L/E, otherwise value XX 00 FF 01 has no effect, XX is performance level, FF is CPU ratio.

If only use HWPEnabler.kext to resume HWP functional after wake up, just ignore this value, Clover useARTFrequency option no longer work, from 10.12.x up default value is 80 00 FF 01.
 
Last edited:
Joined
Apr 15, 2018
Messages
65
Motherboard
Mi NoteBook Pro 15.6''
CPU
Intel® Core™ i7-8550U
Graphics
Intel UHD Graphics 620, 1920x1080
Mac
MacBook Pro
Mobile Phone
Android
If want to use ARTFrequency need install HWPEnabler.kext to L/E, otherwise value XX 00 FF 01 has no effect, XX is performance level, FF is CPU ratio.

If only use HWPEnabler.kext to resume HWP functional after wake up, just ignore this value, Clover useARTFrequency option no longer work, from 10.12.x up default value is 80 00 FF 01.
Thanks you so so much. Finally my HWP works well aftersleep. I promise it's the last problem: I don't see my CpuSsdt in my DumpLog, so I add every subtable in clover, am I right?
 

Attachments

Last edited:
Joined
Oct 26, 2013
Messages
925
Motherboard
MSI B250M PRO-VHD
CPU
i3-7100
Graphics
RX 570
Thanks you so so much. Finally my HWP works well aftersleep. I promise it's the last problem: I don't see my CpuSsdt in my DumpLog, so I add every subtable in clover, am I right?
From 10.12.3 or 4 up, OS read OEM PM ssdt tables and sub tables correctly, no longer need drop any PM *.aml, does not need generate PStates, CStates in Clover, only need PluginType=1 to enable X86PlatformPlugin.
 
Joined
Apr 15, 2018
Messages
65
Motherboard
Mi NoteBook Pro 15.6''
CPU
Intel® Core™ i7-8550U
Graphics
Intel UHD Graphics 620, 1920x1080
Mac
MacBook Pro
Mobile Phone
Android
From 10.12.3 or 4 up, OS read OEM PM ssdt tables and sub tables correctly, no longer need drop any PM *.aml, does not need generate PStates, CStates in Clover, only need PluginType=1 to enable X86PlatformPlugin.
Thank you very much. Your are my hero.
 

Attachments

Last edited:
Top