- Apple Intel CPU Power Management kext Kernel Panic Fix
- Question: Q: Apple intel Cpu Power Management Kernel Panic
- All replies
- # Optimizing Power Management
- # Enabling X86PlatformPlugin
- # Using CPU Friend
- # LFM: Low Frequency Mode
- # EPP: Energy Performance Preference
- # Performance Bias
- # Cleaning up
- # Sandy and Ivy Bridge Power Management
- # ssdtPRgen Troubleshooting
- # BIOS Troubleshooting
- # AMD CPU Power Management
Apple Intel CPU Power Management kext Kernel Panic Fix
This article is about fixing a common issue in Hackintosh computers Kernel panic by AppleIntelCPUPowerManagement.kext also Shows an Error “NO HPETs available… CPU(s) Configured” (Specially in AMD Computers).
AppleIntelCPUPowerManagement.kext is specially designed to work with Apple computers to manage the power but in Hackintosh, it is a real problem.
Nullcpupowermanagement.kext or Disabler.kext can be used to bypass the kernel panic but they don’t work always as expected.
Sometimes you may see the following kernel panic message:
“panic(cpu 0 caller 0xffffff7f82018cc9) : No HPETs available…CPU(s) configured incorrectly”
Kernel Extension in backtrace: com.apple.driver.AppleIntelCPUPowerManagement
This guide will explain how to fix the problem
This kernel panic look like the following pictures
This panic may occur even after successful boot or even in account creation Menu
You need a macOS bootable Installer to fix this problem.
Boot using the Installer Media
Open Terminal by Clicking The “Utilities” Menu ( The Screen may vary according to your bootable media)
After Opening type the following code and press enter
You’ll see a message like in the picture spot your volume name where you installed Mac OS X, in this case, its “Mac”
after spotting out use the following command to remove (Actually backup) AppleIntelCPUPowerManagement.kext from the OS X Volume
Replace “Mac” with your Volume Name (Case Sensitive and Include in Quotes Example: “Mac” )
Press Enter after typing the above command
Now you are safe to reboot & the problem has been fixed, you can reboot from the menu or use the command
Источник
Question: Q: Apple intel Cpu Power Management Kernel Panic
El capitan stuck on the boot and reboots again and again. This Kernel Panics Appears
Anonymous UUID: 29A0F732-2AF4-936E-265F-3211A7740336
Sun Apr 10 17:52:03 2016
Machine-check capabilities: 0x0000000000001c09
family: 6 model: 30 stepping: 5 microcode: 3
Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz
9 error-reporting banks
panic(cpu 3 caller 0xffffff800e3d755a): «Machine Check at 0xffffff7f925ca2a7, registers:\n» «CR0: 0x000000008001003b, CR2: 0x0000000108a4e000, CR3: 0x0000000013922000, CR4: 0x0000000000002660\n» «RAX: 0x0000000000000020, RBX: 0xffffff8022681800, RCX: 0x0000000000000001, RDX: 0x0000000000000000\n» «RSP: 0xffffff911ee83d40, RBP: 0xffffff911ee83d70, RSI: 0x0000000000000006, RDI: 0xffffff802266c300\n» «R8: 0xffffff802266d000, R9: 0xffffff7f925dfda0, R10: 0x0000000fc4315665, R11: 0x00000000e0000000\n» «R12: 0xffffff7f925e6e20, R13: 0xffffff802239d180, R14: 0x00000000000007b0, R15: 0x0000000000000006\n» «RFL: 0x0000000000000046, RIP: 0xffffff7f925ca2a7, CS: 0x0000000000000008, SS: 0x0000000000000010\n» «Error code: 0x0000000000000000\n»@/Library/Caches/com.apple.xbs/Sources/xnu/xnu-3247.1.106/ osfmk/i386/trap_native.c:168
Backtrace (CPU 3), Frame : Return Address
Kernel Extensions in backtrace:
BSD process name corresponding to current thread: kernel_task
Boot args: rp=file:///com.apple.recovery.boot/BaseSystem.dmg
Darwin Kernel Version 15.0.0: Wed Aug 26 16:57:32 PDT 2015; root:xnu-3247.1.106
Kernel UUID: 37BC582F-8BF4-3F65-AFBB-ECF792060C68
Kernel slide: 0x000000000e000000
Kernel text base: 0xffffff800e200000
__HIB text base: 0xffffff800e100000
System model name: iMac11,1 (Mac-F2268DAE)
System uptime in nanoseconds: 83569513872
last loaded kext at 66534354240: com.apple.driver.AppleHWSensor 1.9.5d0 (addr 0xffffff7f93c65000, size 28672)
Model: iMac11,1, BootROM IM111.0034.B04, 4 processors, Intel Core i5, 2.66 GHz, 12 GB, SMC 1.54f36
Graphics: AMD Radeon HD 6970M, AMD Radeon HD 6970M, PCIe, 1024 MB
Memory Module: BANK 0/DIMM0, 4 GB, DDR3, 1067 MHz, 0x0198, 0x393955353436392D3034362E4130304C4620
Memory Module: BANK 1/DIMM0, 4 GB, DDR3, 1067 MHz, 0x0198, 0x393955353436392D3034362E4130304C4620
Memory Module: BANK 0/DIMM1, 2 GB, DDR3, 1067 MHz, 0x80CE, 0x4D34373142353637334548312D4346382020
Memory Module: BANK 1/DIMM1, 2 GB, DDR3, 1067 MHz, 0x80CE, 0x4D34373142353637334548312D4346382020
AirPort: spairport_wireless_card_type_airport_extreme (0x168C, 0x8F), Atheros 9280: 4.0.74.0-P2P
Bluetooth: Version 4.4.0f4 16320, 3 services, 27 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en1
Serial ATA Device: ST31000528AS, 1 TB
Serial ATA Device: OPTIARC DVD RW AD-5680H
USB Device: USB 2.0 Bus
USB Device: Apple Optical USB Mouse
USB Device: IR Receiver
USB Device: Built-in iSight
USB Device: USB 2.0 Bus
USB Device: Card Reader
USB Device: BRCM2046 Hub
USB Device: Bluetooth USB Host Controller
iMac, Mac OS X (10.6.2)
Posted on Apr 12, 2016 6:54 AM
All replies
Loading page content
Page content loaded
Hello there, Felix.
It seems you’re having issue with your iMac stuck in a reboot cycle due to a Kernel Panic. The following Knowledge Base article provides some great information and troubleshooting recommendations:
Troubleshooting a recurring kernel panic
Diagnosing a recurring kernel panic can be difficult. If you need help with this process, consider bringing your Mac to a Genius at an Apple Store or an Apple Authorized Service Provider for help. If you plan to visit an Apple Retail store, you can make a reservation (available in some countries only).
Tip: To help diagnose recurring kernel panics, record the date and time it occurs, and any information that appears with the kernel panic message.
- Was the computer starting up, shutting down, or performing a particular task when the recurring kernel panic happened?
- Is the kernel panic intermittent, or does it happen every time you do a certain thing? For example, were you playing a particular game, or printing at the time?
- Does it occur only when a certain external device is connected, or a device is connected to a certain port?
Isolate hardware or software as the cause of the issue
To try to figure out if the issue is related to software or hardware, use the computer with a fresh installation of OS X on an external drive.
- Start the Mac from OS X Recovery.
If a kernel panic still occurs when started from Recovery, there is likely a hardware issue. See the «Hardware troubleshooting» section below for additional information. - Open Disk Utility and use «Repair Disk» on your Mac’s internal hard drive (named Macintosh HD by default).
Important: If Disk Utility is unable to repair the internal drive, you should back up your important data immediately and if possible, reformat the drive. Consider bringing the Mac to a Genius at an Apple Store or an Apple Authorized Service Provider for further diagnosis. Be sure to ask that, if the drive needs reformatting or replacing, they contact you about escalating your case to a special data recovery service. If you plan to visit an Apple Retail store, you can make a reservation (available in some countries only). - Connect an external drive with at least 10 GB of free space. Note: Make sure the external drive does not cause kernel panics, and is the only device on its USB, FireWire, or Thunderbolt port. Connecting the external drive and its cables to another Mac can help make sure the drive does not cause kernel panics.
- Install OS X on the external drive.
- Start up from the external drive.
- Use Software Update to install all updates until it reports «Your software is up to date.»
- Don’t install additional software on the external drive, but instead use the Apple applications to surf the web, view QuickTime movies, email, print, scan, and/or other activities. Continue using your Mac for the amount of time it would usually take for the issue to occur.
- If a panic occurs, select the «Hardware troubleshooting» section below to further diagnose the issue.
If a panic does not occur, select the «Software troubleshooting» section below article to further diagnose the issue.
Thanks for being a part of Apple Support Communities.
Источник
# Optimizing Power Management
# Enabling X86PlatformPlugin
So before we can fine tune power management to our liking, we need to first make sure Apple’s XCPM core is loaded. Note that this is supported only on Haswell and newer, consumer Sandy, Ivy Bridge and AMD CPUs should refer to the bottom of the guides:
Ivy Bridge and Ivy Bridge-E note: Apple dropped support for XCPM back in macOS Sierra, so XCPM is only supported between 10.8.5 and 10.11.6. Newer OSes will require the ssdtPRgen method
- To enabled XCPM in older OSes(ie. 10.11 and older), simply add -xcpm to your boot-args
(opens new window) and look for AppleACPICPU (note if you use search, it won’t show the children so clear your search once you’ve found the entry):
XCPM Present | Missing XCPM |
---|---|
As you can see from the left image, we have the X86PlatformPlugin attached meaning Apple’s CPU Power Management Drivers are doing their thing(Note the CPU’s name does not matter, CPU names come in many variations such as CP00, CPU0, PR00, etc. What matters is that AppleACPICPU attaches to it). If you get something like to the right image, then there’s likely an issue. Make sure to check the following:
- SSDT-PLUG.aml is both present and enabled in your config.plist and EFI/OC/ACPI
- If you’re missing this, head to Getting Started With ACPI
(opens new window) on how to make this
X99 Note:
XCPM does not natively support Haswell-E and Broadwell-E, this means we need to spoof the CPU ID into a model that does supports XCPM:
Haswell-E:
- Kernel -> Emulate :
- Cpuid1Data: C3060300 00000000 00000000 00000000
- Cpuid1Mask: FFFFFFFF 00000000 00000000 00000000
Broadwell-E:
- Kernel -> Emulate :
- Cpuid1Data: D4060300 00000000 00000000 00000000
- Cpuid1Mask: FFFFFFFF 00000000 00000000 00000000
# Using CPU Friend
To start, we’re gonna need a couple things:
- X86PlatformPlugin loaded
- This means Sandy, Ivy Bridge and AMD CPUs are not supported
- CPUFriend
# LFM: Low Frequency Mode
Now lets run CPUFriendFriend.command:
When you first open up CPUFriendFriend, you’ll be greeted with a prompt for choosing your LFM value. This can be seen as the floor of your CPU, or the lowest value it’ll idle at. This value can greatly help with sleep functioning correctly as macOS needs to be able to transition from S3(sleep) to S0(wake) easily.
To determine your LPM value, you can either:
- Look for the TDP-down Frequency on Intel’s ARK site
(opens new window)
- Note most CPUs do not have a listed value, so you’ll need to determine yourself
- Or choose recommended values:
Generation | LFM Value | Comment |
---|---|---|
Broadwell+ Laptops | 08 | Equivalent of 800Mhz |
Broadwell+ Desktops | 0A | Equivalent of 1000Mhz |
Haswell/Broadwell HEDT/Server(ie. X99) | 0D | Equivalent of 1300Mhz |
Skylake+ HEDT/Server(ie. X299) | 0C | Equivalent of 1200Mhz |
- Note: LFM value is only available on Broadwell and newer SMBIOS
- Note 2: these values are not set in stone, each machine will have unique characteristics and so you’ll need to experiment what works best for your hardware
For this example we’ll be using the i9 7920x
(opens new window) which has a base clock of 2.9 GHz but no LFM, so we’ll choose 1.3 GHz(ie. 1300Mhz) and work our way up/down until we find stability.
- Note that the LFM value is simply the CPU’s multiplier, so you’ll need to trim your value appropriately
- ie. Divide by 100, then convert to hexadecimal
- Pay close attention we used 13 for 1.3Ghz and not 1.3
# EPP: Energy Performance Preference
Next up is the Energy Performance Preference, EPP. This tells macOS how fast to turbo up the CPU to its full clock. 00 will tell macOS to let the CPU go as fast as it can as quickly as it can while FF will tell macOS to take things slowly and let the CPU ramp up over a much longer period of time. Depending on what you’re doing and the cooling on your machine, you may want to set something in the middle. Below chart can help out a bit:
EPP | Speed |
---|---|
0x00-0x3F | Max Performance |
0x40-0x7F | Balance performance |
0x80-0xBF | Balance power |
0xC0-0xFF | Max Power Saving |
Note: Only Skylake and newer SMBIOS officially support EPP
# Performance Bias
This final entry is to help macOS out what kind of overall performance you’d like from your CPU. The general recommendation depends on your exact setup, and experimenting does help figure out what’s best for you.
# Cleaning up
Once you’re finished, you’ll be provided with a CPUFriendDataProvider.kext and ssdt_data.aml. Which you choose is your preference but I recommend the kext variant to avoid any headaches with data injection into Windows and Linux.
- Note: Load order does not matter with the CPUFriendDataProvider as it’s just a plist-only kext
- Note 2: Wake issues resulting from CPUFriend is likely due to incorrect frequency vectors, every system is unique so you’ll need to play around until you get a stable config. Kernel panics will have Sleep Wake failure in efi .
- Note 3: If you do choose to use ssdt_data.aml, note that SSDT-PLUG is no longer needed. However the setup for this SSDT is broken on HEDT platforms like X99 and X299, so we highly recommend SSDT-PLUG with CPUFriendDataProvider.kext instead.
# Sandy and Ivy Bridge Power Management
With Sandy and Ivy Bridge, consumer PCs have issues connecting to Apple’s XCPM. So to get around this we need to create our own Power Management Table.
- Ensure CpuPm and Cpu0Ist tables are NOT dropped
- ssdtPRGen
Initialing with OpenCore’s setup in the Ivy Bridge section, we recommended users drop their CpuPm and Cpu0Ist to avoid any issues with AppleIntelCPUPowerManagement.kext. But dropping these tables have the adverse affect of breaking turbo boost in Windows. So to resolve this, we’ll want to keep our OEM’s table but we’ll want to add a new table to supplement data only for macOS. So once we’re done creating our CPU-PM table, we’ll re-add our OEM’s CPU SSDTs.
To start, grab your config.plist then head to ACPI -> Delete and ensure both of these sections have Enabled set to YES:
Key | Type | Value |
---|---|---|
All | Boolean | YES |
Comment | String | Drop CpuPm |
Enabled | Boolean | YES |
OemTableId | Data | 437075506d000000 |
TableLength | Number | 0 |
TableSignature | Data | 53534454 |
Key | Type | Value |
---|---|---|
All | Boolean | YES |
Comment | String | Drop Cpu0Ist |
Enabled | Boolean | YES |
OemTableId | Data | 4370753049737400 |
TableLength | Number | 0 |
TableSignature | Data | 53534454 |
Once this is done, we can now grab ssdtPRGen and run it:
Once you’re done, you’ll be provided with an SSDT.aml under /Users/your-name>/Library/ssdtPRGen/ssdt.dsl , you can easily find it with the Cmd+Shift+G shortcut and pasting
Remember to now add this to both EFI/OC/ACPI and your config.plist, I recommend renaming it to SSDT-PM to find it more easily.
Finally, we can disable our previous ACPI -> Delete entries( Enabled set to NO):
Key | Type | Value |
---|---|---|
All | Boolean | YES |
Comment | String | Drop CpuPm |
Enabled | Boolean | NO |
OemTableId | Data | 437075506d000000 |
TableLength | Number | 0 |
TableSignature | Data | 53534454 |
Key | Type | Value |
---|---|---|
All | Boolean | YES |
Comment | String | Drop Cpu0Ist |
Enabled | Boolean | NO |
OemTableId | Data | 4370753049737400 |
TableLength | Number | 0 |
TableSignature | Data | 53534454 |
# ssdtPRgen Troubleshooting
While ssdtPRgen tries to handle any incompatibility issues with your OEM’s SSDT, you may find it still clashes on boot as your OEM has already declared certain devices or methods in sections like _INI or _DSM .
If you find during boot up you get errors such as this one from SSDT-PM:
This means there’s some conflict, to resolve this, we recommend moving ssdtPRgen’s info into a format like this:
Pay close attention to what we’ve done:
- Made sure the Processor object is moved to external
- Move all your methods into the Processor’s scope
For editing and re-compiling the SSDT-PM, see here: Getting Started With ACPI
# BIOS Troubleshooting
For some boards, you may need to ensure the following BIOS options are set for CPU Power Management:
- C States: True
- P States Coordination: SW_ALL
# AMD CPU Power Management
While macOS might not officially support AMD CPU Power management, there are community efforts to add it. Specifically being SMCAMDProcessor
(opens new window) . Note that when adding this kext, it should be after VirtualSMC in your config.plist as it’s a plugin.
Warning: This kext is known to create stability issues as well, if you’re receiving random kernel panics or issues booting do keep in mind this kext may be the culprit.
Источник