Jump to content

Patched AICPUPM kext for Sandy Bridge/Ivy Bridge CPU power management in macOS Ventura


Hervé

Recommended Posts

  • Administrators

macOS Ventura dropped support for pre-Kaby Lake platforms and that includes dropped CPU Power Management for pre-Haswell legacy CPUs, i.e.

  • Wolfdale/Penryn (Core2Duo/Core2Quad and associated Xeon) processors
  • Nehalem/Westmere (Lynnfield, Clarkdale/Arrandale) processors
  • Sandy Bridge processors
  • Ivy Bridge processors

 

Adding kexts to S/L/E or /L/E for caching being so difficult in Ventura (and since Big Sur), CPU power management for the above pre-Haswell legacy CPUs can only easily be achieved by injecting the missing AICPUPMClient + AICPUPM kexts through the bootloader (Clover or OpenCore). The kexts from macOS Monterey can be re-used to that effect. The trouble then is that, for Sandy Bridge and Ivy Bridge CPUs, no on-the-fly AICPUPM patch can be applied to the cache since the kexts do no exist in cache. As an exception, Ivy Bridge CPUs may be able to benefit from XCPM but that does not necessarily work on all platforms.

 

Luckily for us, the good old (pre-Clover/pre-OpenCore) solution of manually patching the AppleIntelCPUPowerManagment kext can be revived and re-used to satisfy our needs on Sandy Bridge and Ivy Bridge platforms. The patched AICPUPM kext can then be injected in Ventura to provide full CPU power management without incurring the good old dreaded Kernel Panic.

 

The method has not changed since its inception all those years ago and the patch details remain courtesy of Pimentel and his tools as published at IM. In order to ensure the tool is not lost, I attach a copy of it, I trust the author won't mind.

 

Usage of the patching script is as follows:

cd <script path>/AICPMPatch

to check on the patching requirements (i.e. list of wrmsr instances in the kext's binary):

sudo perl AICPMPatch.pl <kext path>/AppleIntelCPUPowerManagement.kext/Contents/MacOS/AppleIntelCPUPowerManagement

to patch the kext's binary:

sudo perl AICPMPatch.pl <kext path>/AppleIntelCPUPowerManagement.kext/Contents/MacOS/AppleIntelCPUPowerManagement --patch

 

The kexts are of Monterey 12.6.x origin and carry version v222.0.

 

Vanilla AppleIntelCPUPowerManagementClient and patched AppleIntelCPUPowerManagement kexts for Sandy/Ivy Bridge CPUs:

 

Place the unzipped kexts in the bootloader's target kexts folder and that's it: full CPU power management in Ventura for pre-Haswell CPUs. Caution though because I'm not certain this fully works after wake.

  • Like 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...