BillDH2k Posted September 2, 2021 Share Posted September 2, 2021 (edited) Hello, everyone: Wonder if anyone can shed some light on enabling CPU power management for Dual Sandy-bridge CPUs on a HP Z820 system, running Big Sur (latest 11.5.2), with OpenCore 0.7.1. The issue appears to be associated only with Dual Sandy-Bridge CPU configurations, not Single CPU configuration, even on the same system (Update: Just checked my log. No CPU management even with one CPU configuration! System would boot without KP, but no power management). Also, no problem for Ivy-Bridge CPUs (verified on other Z620/820 systems). Latest Big Sur (11.5+, not sure about earlier versions) appears to support that out of the box, without any patches, at least on my HP setup. My systems were running great with Catalina (10.15.7), with full CPU power management, with the help of a couple of well-known kernel patches, here:https://www.insanelymac.com/forum/topic/344523-sandy-bridge-e-ivy-bridge-e-power-management-1015/?tab=comments#comment-2730495, and a SSDT_CPUM.aml generated with ssdtPRgen. There are total of 7 patches mentioned above, but only the last two appeared to be sufficient for my HP setup. Now, moved to Big Sur 11.5.2. Clean install, with the same SSDT_CPUM.aml. Surprised to discover that full CPU power management is still working, except Dual Sandy-Bridge CPU configurations. Also, NO PATCHING is NEEDED under latest Big Sur - i.e. no need to load any of the 7 patches (btw - only 4 of the them would load under Big Sur). The only exception is Dual Sandy-Bridge configurations - system will experience kernel panic, for Dual CPU setup, as soon as SSDT_SPUM.aml is enabled. Single Sandy-bridge CPU setup would boot, but still no power management. In this both cases, I had to run the system without CPU power management, by leaving out SSDT_CPUM.aml. So it appears that Big Sur (MacPro6,1) would not enable CPU power management for Dual Sandy-Bridge CPUs. New patches are needed. Hope someone with know-how could figure this one out. Thanks, Bill Edited September 2, 2021 by Bill Huang Added addtional details and correct typo. Quote Link to comment Share on other sites More sharing options...
Slice Posted September 2, 2021 Share Posted September 2, 2021 May be using Clover you will have a success. Quote Link to comment Share on other sites More sharing options...
BillDH2k Posted September 3, 2021 Author Share Posted September 3, 2021 (edited) 6 hours ago, Slice said: May be using Clover you will have a success. Thank you for your response. Would Clover offer new patches differently than we already have? I had been using OC with Catalina for this setup, using the same set patches. Of course it is no longer working due to Big Sur update of the Mac binaries. My understanding so far (please correct me if I am wrong) is that Sandy Bridge CPUs were not used in the MacPro lineup, but Ivy-Bridge's are. So the solution (a patch) would be to fool the macOS power management tool into thinking that we had an Ivy Bridge installed. How to do that is beyond my skills. Edited September 3, 2021 by Bill Huang Quote Link to comment Share on other sites More sharing options...
Slice Posted September 3, 2021 Share Posted September 3, 2021 5 hours ago, Bill Huang said: Thank you for your response. Would Clover offer new patches differently than we already have? I had been using OC with Catalina for this setup, using the same set patches. Of course it is no longer working due to Big Sur update of the Mac binaries. My understanding so far (please correct me if I am wrong) is that Sandy Bridge CPUs were not used in the MacPro lineup, but Ivy-Bridge's are. So the solution (a patch) would be to fool the macOS power management tool into thinking that we had an Ivy Bridge installed. How to do that is beyond my skills. Clover provides different methods to do the same things. Quote Link to comment Share on other sites More sharing options...
Guest 5T33Z0 Posted September 3, 2021 Share Posted September 3, 2021 13 hours ago, Bill Huang said: Now, moved to Big Sur 11.5.2. Clean install, with the same SSDT_CPUM.aml. Please upload the SSDT_CPUM.aml so I can have a look at it-. Quote Link to comment Share on other sites More sharing options...
BillDH2k Posted September 3, 2021 Author Share Posted September 3, 2021 (edited) On 9/3/2021 at 4:17 AM, 5T33Z0 said: Please upload the SSDT_CPUM.aml so I can have a look at it-. Here is my ssdt CPU file, generated with this command. For single CPU, used '-cpus 1'. Both outputs appeared to be identical, other than the 'debug" comments. ./ssdtPRGen.sh -cpus 2 -p 'E5-2680' -x 1 -target 0 -turbo 3500 -c 3 -mode custom All other commands would fail, such as specifying MacPro6,1 model in the command option (Sandy Bridge CPU is not officially supported). Typically for a V2 Xeon, I used the following command (as an example): ./ssdtPRGen.sh -cpus 2 -l 40 -p 'E5-2680 v2' -x 1 -b Mac-F60DEB81FF30ACF6 -c 3 -mode custom I used the same EFI folder to boot both Big Sur (11.5.2) and Catalina (10.15.7), using the same config.plist file. Normally, I would have the two AICPM kernel patches (#6/#7, needed for Catalina) removed for Big Sur. But I found out that they did not seem to do any harm under Big Sur (only #7 would load), so I left them in there to have a single setup for both macOS. I've also attached the output of running "AppleIntelInfo.kext" to show AICPM is fully working under Catalina, but not Big Sur. If I drop a V2 Xeon CPU in the same setup, AICPM will start working again, under Big Sur, without any changes, other than updating a new ssdt_CPUPM.aml. Attached plist file, with serial # removed. ssdt-CPUPM.aml config-Z820.plist Edited September 4, 2021 by Bill Huang Added plist file, with Serial info removed. Quote Link to comment Share on other sites More sharing options...
Guest 5T33Z0 Posted September 3, 2021 Share Posted September 3, 2021 I think you need to deactive XCPM and use the legacy ACPI_SMC_PlatformPlugin. Otherwise you need patch it into the kernel. I did this once for my IvyBridge Laptop CPU to test XCPM - and it performed worse. And with every new Kernel/version of macOS these patches have to be adjusted in order to work. Otherwise you get a "Kernel Patch is borked" type of notification in OpenCore. Your CPU is in the database of SSDTPrGen. I'd just boot into Catalina and generate a new SSTD-PM with the default settings (without XCPM) and see how it works. I am pretty sure that trying to patch in XCPM is the issue. Quote Link to comment Share on other sites More sharing options...
BillDH2k Posted September 3, 2021 Author Share Posted September 3, 2021 Thank you for the follow up. I would need some help in trying out your suggestion. 1) How do I switch from XCPM to ACPI_SMC_FlatformPlugin? Currently system is using X86PlatformPlugIn (see attached picture). 2) "generate a new SSTD-PM with the default settings (without XCPM)"? I tried this: ./ssdtPRGen.sh -cpus 2 -p 'E5-2680' -x 0 -target 0 -turbo 3500 -c 3 -mode custom Before, it was: ./ssdtPRGen.sh -cpus 2 -p 'E5-2680' -x 1 -target 0 -turbo 3500 -c 3 -mode custom Compared the outputs. Only different is one line in the debug section, under (_INI,...) method: Debug = "machdep.xcpm.mode.....: 1" v.s. Debug = "machdep.xcpm.mode.....: 0" Tried to load the new ssdt, but made no difference. Quote Link to comment Share on other sites More sharing options...
BillDH2k Posted September 3, 2021 Author Share Posted September 3, 2021 (edited) OK. I've tried this command running ssdtPRGen: ./ssdtPRGen.sh -mode custom -b Mac-F60DEB81FF30ACF6 -p 'E5-2680' -c 3 -x 0 -cpus 1 I ignored "warning/error" messages from ssdtPRGen (said "board-id" not supported by Sandy Bridge), and went ahead to create the ssdt. This time it is indeed a different file from my earlier version. Loaded this new ssdt and boot up again with Big Sur. Now, IORegistry showed "ACPI_SMC_PlatformPlugin" is used (see screen capture). But still no CPU power management. CPU is stuck at 2.7 GHz. AppleIntelInfo.kext showed no C-States. Also, during booting, debug output to the screen complaint something about C1 state. But it went away too quickly. Those message were not captured in the OC log. I did not see similar msgs during Catalina booting. ssdt-new.dsl Edited September 3, 2021 by Bill Huang Quote Link to comment Share on other sites More sharing options...
BillDH2k Posted September 3, 2021 Author Share Posted September 3, 2021 (edited) Just another follow up. Tried the new ssdt (i.e. the "forced" output version, by ignoring the warning/error from ssdtPRGen.sh) on Catalina. It boots up fine and the CPU PM appeared to be working. But further testing showed, by AppleIntelInfo.kext, that the CPU frequency multiplier did not drop below 20x. So it is only "partially" working, compared to the old ssdt. If it would work under Big Sur, it would be still better than nothing. Edited September 3, 2021 by Bill Huang Quote Link to comment Share on other sites More sharing options...
Guest 5T33Z0 Posted September 4, 2021 Share Posted September 4, 2021 (edited) @Bill Huang If a CPU is in the database you don't have to add any additional arguments to the terminal command unless you would like to modify something, like the number of physcial CPUs or dropping the low frequency mode to 800 or 900 mHz for example which works often (usually in 100 mHz increments, depending on your base clock frequency). If you use the legacy power managment plugin you also have disable the kernel patches for enabling XCPM, which you did. ssdtPRGen detects the CPUs, looks them up in the cfg files stored in the user library stored under ssdtPRGen > Data > Sand Bridge .cfg. It uses these values by default: E5-2680 (model) ,130 (tdp), 1200 (low freq) ,2700 (base freq) , 3500 (boost clock), 8 (cores), 16 (Threads). x -0 is the correct command for disabling XCPM support, so that is correct. But in your "SSDT-New" the number of processors is only 1. But you have 2, right? Your Terminal command was: ./ssdtPRGen.sh -cpus 2 -p 'E5-2680' -x 0 -target 0 -turbo 3500 -c 3 -mode custom I think the -cpus switch did not apply. I would just try this for testing: ./ssdtPRGen.sh -p 'E5-2680' -cpus 2 so that the model is first in line followed by the rest of the options. Edited September 4, 2021 by 5T33Z0 Quote Link to comment Share on other sites More sharing options...
BillDH2k Posted September 4, 2021 Author Share Posted September 4, 2021 (edited) @5T33Z0 I've been testing with a single CPU right now, since dual sandy-bridge CPUs will cause KP under Big Sur, as soon as SSDT_CPUPM.aml is loaded (every sddt versions I've tried so far). As for the running ssdtPRGen, your suggested format is normally correct. But for these HP units, the BIOS's DSDT does not contain the needed CPU information, since they are stored in SSDT instead. Thus, ssdtPRGen must be run with "-mode custom" option, which will look for DSDT.aml and APIC.aml files from the Desktop, instead of from real-time BIOS dump. I used Clover "F4" to created these files first, and renamed one of the output "ssdt-1-cpuDef.aml" to DSDT.aml, to fool ssdtPRGen to run. This was the trick I learnt from other peoples guide (e.g. bilbo's Z820 guide). Anyway, I tried this command: ./ssdtPRGen.sh -p 'E5-2680' -cpus 1 -mode custom Again, I had to ignore the warning/error about "board-id not supported by Sandy Bridge, use the -target option". The output is basically identical to the one I generated earlier, using this: ./ssdtPRGen.sh -mode custom -b Mac-F60DEB81FF30ACF6 -p 'E5-2680' -c 3 -x 0 -cpus 1 except one extra line in the later, Store ("CPU Workarounds.......: 3", Debug), because of the "-c 3" option. Tried both ssd's, still no CPU power management. So, it appears for now I have to stay with Catalina for Sandy Bridge CPUs, until a proper solution/patch is found. Or, It is also about time to hack the motherboard's boot block to enable V2 xeon support! There is a guide out there for doing that.. I appreciate your help/suggestions. Bill Edited September 5, 2021 by Bill Huang Quote Link to comment Share on other sites More sharing options...
Guest 5T33Z0 Posted September 5, 2021 Share Posted September 5, 2021 Sorry, that I couldn't help you further. If you are using a BIOS which doesn't fully support your CPUs maybe this is the reason why your ssdt doesn't work correctly since it's generated based on the information inside the Dsdt provided by the bios. But before you hack your BIOS, I'd check if there's an official update which brings the support. If you brick the bios this board is basically toast unless you can either replace the bios chip or reflash it with a bios programmer and a clamp that you place on it. I had to do this once to resurrect my laptop. I am kind of shocked that Z820 boards still coast about 400 dollars used... aren't they like 9 years old by now? Quote Link to comment Share on other sites More sharing options...
BillDH2k Posted September 5, 2021 Author Share Posted September 5, 2021 (edited) @5T33Z0 Thanks for your reply. The BIOS does support Sandy Bridge CPUs, except the information is not stored in DSDT section but in SSDT section of the BIOS (the reason for ssdtPRGen to run with "-mode custom" flag). I believe the real issue is that Apple CPU Power Management refuse to enable the support for Sandy Bridge CPUs. If a V2 Xeon (Ivy-Bridge) is used, everything works fine. Unfortunately, earlier version of Z820 boards (BIOS Boot Block dated 2011) does not support V2. But someone has published a guide to flash a newer BIOS Boot Block to enable V2 Xeon support(here). This was what I mentioned in my previous post. Indeed, these HP Z820 still cost a lot, since they are one the best workstation in its class. Rock solid! Edited September 5, 2021 by Bill Huang Quote Link to comment Share on other sites More sharing options...
BillDH2k Posted September 13, 2022 Author Share Posted September 13, 2022 (edited) Update to this old thread: Newer patches had been identified for the AICPUPM module to enable full CPU power management for Sandy Bridge CPUs (on X79 platform). See link below. I've tested on HP Z420/620/820 with V1 CPUs (single or dual), on Catalina/Big Sur/Monterey. With Ivy-Bridge CPUs (V2 Xeon's), no patches are required (macOS 11.5.7 and newer macOS). You still need to use ssdtPRGen to generate proper ssdt CPUPM files, for both cases above. Otherwise, your CPU would stuck at the higher frequency range. Edited September 14, 2022 by Bill Huang Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.