SpacemanSpiff Posted June 4, 2021 Posted June 4, 2021 Hi there ! This new setup is giving me a hard time around CPU power management and therefore I have sub-optimal performances. I had to manually finish the sdl out of ssdtprgen because it would fail compiling for more than 16 cores... (see sdl attached) I read that CPUPM aml were broken for X99 so I used CPUFriend kext to "load" it. At boot I run into "There are 0 entries in the linked list before target" and X86PlatformShim::start - Failed to send stepper. Checking ioregistry X87PlatformSHim is attached, AppleACPICPU attached to all core and showing ct-frequency-data... sysctl -n machdep.xcpm.mode is "1" but vector_loaded_count is 0... I'm out of ideas end spent way too much time on this, so I came here seeking help ! (I installed using opencore guide for Haswell-e and their premade SSDTs. It booted in a couple of hours but I've been trying to solve XCPM for 2 weeks !! Still using the default dsts except that I modified SSDT-PLUG for dual cpu. (Not sure it was needed though) I hope we can fix it ! Thanks in advance, Send me Xaviers-iMac-Pro.zip 2CPUs_64cores_CPUFriend.dsl SSDT-PLUG-XRR.aml
Administrators MaLd0n Posted June 4, 2021 Administrators Posted June 4, 2021 1- from OpenCore manual Note 3: For XCPM support it is recommended to use the following combinations. Haswell-E (0x0306F2) to Haswell (0x0306C3): Cpuid1Data: C3 06 03 00 00 00 00 00 00 00 00 00 00 00 00 00 Cpuid1Mask: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 Broadwell-E (0x0406F1) to Broadwell (0x0306D4): Cpuid1Data: D4 06 03 00 00 00 00 00 00 00 00 00 00 00 00 00 Cpuid1Mask: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 2- OC have good quirks AppleXcpmExtraMsrs Description: Disables multiple MSR access critical for certain CPUs, which have no native XCPM support. This is typically used in conjunction with the Emulate section on Haswell-E, Broadwell-E, Skylake-SP, and similar CPUs. More details on the XCPM patches are outlined in acidanthera/bugtracker#365. AppleXcpmForceBoost Description: Forces maximum performance in XCPM mode. This patch writes 0xFF00 to MSR_IA32_PERF_CONTROL (0x199), effectively setting maximum multiplier for all the time. Apply a fakecpuid for ur cpu and select these quirks. check result Others things (if don't work with solution above) have several Kernel patches for x99 need some some for check what best result Quote <dict> <key>Arch</key> <string>x86_64</string> <key>Base</key> <string></string> <key>Comment</key> <string>xcpm_core_scope_msrs (c) Pike R. Alpha Modify By N.Mano 11.3</string> <key>Count</key> <integer>0</integer> <key>Enabled</key> <true/> <key>Find</key> <data>MdLo3U0BAA==</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>MaxKernel</key> <string></string> <key>MinKernel</key> <string>20.4.0</string> <key>Replace</key> <data>MdKQkJCQkA==</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer> </dict> <dict> <key>Arch</key> <string>x86_64</string> <key>Base</key> <string></string> <key>Comment</key> <string>_xcpm_pkg_scope_msrs Modify By N.Mano 11.3</string> <key>Count</key> <integer>0</integer> <key>Enabled</key> <true/> <key>Find</key> <data>MdLoyiL//w==</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>MaxKernel</key> <string></string> <key>MinKernel</key> <string>20.4.0</string> <key>Replace</key> <data>MdKQkJCQkA==</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer> </dict> <dict> <key>Arch</key> <string>x86_64</string> <key>Base</key> <string></string> <key>Comment</key> <string>_xcpm_SMT_scope_msrs #1 Modify By N.Mano 11.3</string> <key>Count</key> <integer>0</integer> <key>Enabled</key> <true/> <key>Find</key> <data>vgYAAABd6QgAAAA=</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>MaxKernel</key> <string></string> <key>MinKernel</key> <string>20.4.0</string> <key>Replace</key> <data>vgYAAABdw5CQkJA=</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer> </dict> <dict> <key>Arch</key> <string>x86_64</string> <key>Base</key> <string></string> <key>Comment</key> <string>_xcpm_SMT_scope_msrs_2 Modify By N.Mano 11.3</string> <key>Count</key> <integer>0</integer> <key>Enabled</key> <true/> <key>Find</key> <data>MdLoLv3//w==</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>MaxKernel</key> <string></string> <key>MinKernel</key> <string>20.4.0</string> <key>Replace</key> <data>MdKQkJCQkA==</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer> </dict> <dict> <key>Arch</key> <string>x86_64</string> <key>Base</key> <string></string> <key>Comment</key> <string>__xcpm_enable_pstate_patch Modify By N.Mano 11.3</string> <key>Count</key> <integer>0</integer> <key>Enabled</key> <true/> <key>Find</key> <data>QcHmCElj1onQSMHqIA==</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>MaxKernel</key> <string></string> <key>MinKernel</key> <string>20.4.0</string> <key>Replace</key> <data>QcHmCLgA/wAAMdKQkA==</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer> </dict> <dict> <key>Arch</key> <string>x86_64</string> <key>Base</key> <string></string> <key>Comment</key> <string>xcpm_bootstrap_HASwell_E (c) Pike R. Alpha Modify By N.Mano 11.3</string> <key>Count</key> <integer>0</integer> <key>Enabled</key> <true/> <key>Find</key> <data>jUPEPEJ3Ig==</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>MaxKernel</key> <string></string> <key>MinKernel</key> <string>20.4.0</string> <key>Replace</key> <data>jUPBPEJ3Ig==</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer> </dict> <dict> <key>Arch</key> <string>x86_64</string> <key>Base</key> <string></string> <key>Comment</key> <string>xcpm_bootstrap Skylake-X/Cascade Lake-X Modify By N.Mano 11.3</string> <key>Count</key> <integer>0</integer> <key>Enabled</key> <false/> <key>Find</key> <data>jUPEPEJ3Ig==</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>MaxKernel</key> <string></string> <key>MinKernel</key> <string>20.4.0</string> <key>Replace</key> <data>jUO9PEJ3Ig==</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer> </dict> <dict> <key>Arch</key> <string>x86_64</string> <key>Base</key> <string></string> <key>Comment</key> <string>xcpm_bootstrap Broadwell-E Modify By N.Mano 11.3</string> <key>Count</key> <integer>0</integer> <key>Enabled</key> <false/> <key>Find</key> <data>jUPEPEJ3Ig==</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>MaxKernel</key> <string></string> <key>MinKernel</key> <string>20.4.0</string> <key>Replace</key> <data>jUO8PEJ3Ig==</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer> </dict> <dict> <key>Arch</key> <string>x86_64</string> <key>Base</key> <string></string> <key>Comment</key> <string>xcpm_bootstrap IvyBridge E Modify By N.Mano 11.3</string> <key>Count</key> <integer>0</integer> <key>Enabled</key> <false/> <key>Find</key> <data>jUPEPEJ3Ig==</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>MaxKernel</key> <string></string> <key>MinKernel</key> <string>20.4.0</string> <key>Replace</key> <data>jUPGPEJ3Ig==</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer> </dict> <dict> <key>Arch</key> <string>x86_64</string> <key>Base</key> <string></string> <key>Comment</key> <string>xcpm_bootstrap Comet Lake (I9-10980HK) 0x0A0652 Modify By N.Mano 11.3</string> <key>Count</key> <integer>0</integer> <key>Enabled</key> <false/> <key>Find</key> <data>jUPEPEJ3Ig==</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>MaxKernel</key> <string></string> <key>MinKernel</key> <string>20.4.0</string> <key>Replace</key> <data>jUPGPEJ3Ig==</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer> </dict> <dict> <key>Arch</key> <string>x86_64</string> <key>Base</key> <string></string> <key>Comment</key> <string>xcpm MSR Patch 4206 By N.Mano 11.3</string> <key>Count</key> <integer>0</integer> <key>Enabled</key> <true/> <key>Find</key> <data>QgYAANwzBgAAAAAAAAAAAB8AAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>MaxKernel</key> <string></string> <key>MinKernel</key> <string>20.4.0</string> <key>Replace</key> <data>QgYAAAAAAAAAAAAAAAAAAB8AAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer> </dict> <dict> <key>Arch</key> <string>x86_64</string> <key>Base</key> <string></string> <key>Comment</key> <string>xcpm support /0x82D390/MSR_PP0_POLICY 0x63a Modify By N.Mano 11.3</string> <key>Count</key> <integer>0</integer> <key>Enabled</key> <true/> <key>Find</key> <data>OgYAANwzBgAAAAAAAAAAAB8=</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>MaxKernel</key> <string></string> <key>MinKernel</key> <string>20.4.0</string> <key>Replace</key> <data>OgYAAAAAAAAAAAAAAAAAAB8=</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer> </dict> <dict> <key>Arch</key> <string>x86_64</string> <key>Base</key> <string></string> <key>Comment</key> <string>Disable panic kext +0x7700 Modify By N.Mano 11.3</string> <key>Count</key> <integer>0</integer> <key>Enabled</key> <true/> <key>Find</key> <data>igKEwHQN</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>MaxKernel</key> <string></string> <key>MinKernel</key> <string>20.4.0</string> <key>Replace</key> <data>igKEwOsN</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer> </dict> This ssdt looks good SSDT.aml.zip but with x99 we stay need kernel patches -Guides and Tutorials HERE -Hackintosh Tutorial Database - HERE -The largest EFI folder collection for Hackintosh HERE -Support Olarila Vanilla Hackintosh by making a donation HERE -Professional Hackintosh Support since 2006 HERE
SpacemanSpiff Posted June 5, 2021 Author Posted June 5, 2021 (edited) Thanks MaLd0n, ForceBoost is working, but that's a bit "cheating" I can reach Max Turbo though! I guess it's not efficient while idle though. I'll try the patches, Do we know allready if the xcpm_core_scope_msrs patches you sent are working with Big Sure? Are they all for Haswell-e ? Should I try them one by one or all at once ? And in this case should I suppress CPUFriend and associated data while testing ? Thanks again for your help, ** Update: I picked iMac15,1 as an smbios because it was the recommanded haswell one. For some reason changing the smbios to MacPro7,1 (while using Cpuid) improved things : CPUs running coller and more steady, improved benchmark by a big margin... it also solved Netflix in safari not running issue. Edited June 5, 2021 by xrr
Administrators MaLd0n Posted June 5, 2021 Administrators Posted June 5, 2021 with quirks need test with any extra x79 and x99 dont have a perfect pm. several things, apple changes after updates. only problems MacPro7,1 is the best smbios for "new" hardwares -Guides and Tutorials HERE -Hackintosh Tutorial Database - HERE -The largest EFI folder collection for Hackintosh HERE -Support Olarila Vanilla Hackintosh by making a donation HERE -Professional Hackintosh Support since 2006 HERE
SpacemanSpiff Posted June 6, 2021 Author Posted June 6, 2021 (edited) I don't know why it's better with the MacPro7,1 smbios for my Haswell-e but believe me it solved a lot of issue (DRMs, CPu runnning better and cooler). Maybe something related to Desktop vs iMac settings.. Not sure if it's the best though, I'll try others like iMacPro1,1 and MacPro6,1 just in case... +12% single core and best multi-scores (by small margin) Check the first 3 results (same settings just changing the smbios) https://browser.geekbench.com/user/321358w For now It might not be perfect PM but quite satisfactory... Edited June 6, 2021 by SpacemanSpiff
Administrators MaLd0n Posted June 6, 2021 Administrators Posted June 6, 2021 nice very good result https://browser.geekbench.com/v5/cpu/8273940 -Guides and Tutorials HERE -Hackintosh Tutorial Database - HERE -The largest EFI folder collection for Hackintosh HERE -Support Olarila Vanilla Hackintosh by making a donation HERE -Professional Hackintosh Support since 2006 HERE
SpacemanSpiff Posted June 7, 2021 Author Posted June 7, 2021 Yes, I guess about the best you can get with these CPUs without exploiting the "All core turbo boost unlock" Bug of E5s v3... (not possible on my Z840 as I can't get rid of the microcodes in Bios because it's a signed protected BIOS) https://browser.geekbench.com/v5/cpu/search?utf8=✓&q=2698+V3&sort=multicore_score 1
Recommended Posts