Jump to content

XCPM for unsupported Processor - Yosemite, El Capitan & Sierra


11 posts in this topic

Recommended Posts

Hello everybody.

I need help to understand and use some patches that Pike R. Alpha has found for XCPM on his Broadwell-E cpu on X99 board.

Here's the article.

My knowledge is not enough to elaborate it and apply to Clover bootloader (or, I guess to the kernel itself).

I think this is going to be huge. Even for Haswell-E and Ivy Bridge-E cpus. He's found some solution to have XCPM without VoodooTSCSync.kext, MSR(0xE2) unlocked BIOSes, AppleIntelCPUPowerManagement.kext, NullCPUPowerManagement.kext, FakeCPUid flag, etc...

My set up (to be in a few day, components on their way)

- Motherboard Asus X99-A II

- CPU Intel i7 6900K Broadwell-E

- RAM 64 GB DDR4 Corsair CMK32GX4M2B3000C15R Vengeance LPX 

- SSD nvme Samsung MZ-V5P512BW 950PRO m.2

- Video card EVGA nVidia GTX980 TI 

- ASUS ThunderboltEX II/Dual PCI-E card

- OS X 10.11.6 El Capitan

 

Yes, he's on Sierra DP3, but I (and many others, I might say) still am on 10.11.6 El Capitan or earlier (Yosemite).

 

Anybody here? Thanks in advance

g.

Link to comment
Share on other sites

I just used a HEX editor to patch my kernel. 

 

Search for the location 0x1fb451 and patched E9 to E6.

Same withe the other kernel locations.

 

Then replace the kernel with the patched one, and rebuild caches and prelinked kernel.

 

And it works with ASUS X99 Deluxe + 5930K!

 

 

AppleIntelInfo.kext v1.4 Copyright © 2012-2015 Pike R. Alpha. All rights reserved

 

Settings:

------------------------------------

logMSRs............................: 0

logIGPU............................: 0

logIntelRegs.......................: 1

logCStates.........................: 1

logIPGStyle........................: 1

InitialTSC.........................: 0x1e0bd4f8fa3

MWAIT C-States.....................: 8480

PCH device.................: 0x8D478086

 

CPU Ratio Info:

------------------------------------

CPU Low Frequency Mode.............: 1200 MHz

CPU Maximum non-Turbo Frequency....: 3500 MHz

CPU Maximum Turbo Frequency........: 4700 MHz

CPU P-States [ 42 46 (47) ]

CPU C6-Cores [ 1 3 5 7 8 10 ]

CPU P-States [ (12) 31 42 46 47 ]

CPU C6-Cores [ 1 2 3 4 5 6 7 8 10 ]

CPU P-States [ 12 29 31 42 46 (47) ]

CPU C6-Cores [ 0 1 2 3 4 5 6 7 8 9 10 11 ]

CPU P-States [ (12) 29 31 42 45 46 47 ]

CPU P-States [ 12 29 31 33 42 45 46 (47) ]

7 ]

CPU P-States [ (12) 23 24 26 29 35 38 46 47 ]

CPU P-States [ (12) 23 24 26 28 29 35 38 46 47 ]

CPU P-States [ (12) 23 24 25 26 28 29 35 38 46 47 ]

CPU P-States [ (12) 20 23 24 25 26 28 29 35 38 46 47 ]

CPU P-States [ 12 20 22 23 24 25 26 28 29 35 38 46 (47) ]

CPU P-States [ (12) 20 22 23 24 25 26 28 29 35 38 43 46 47 ]

CPU P-States [ (12) 20 22 23 24 25 26 28 29 35 38 43 44 46 47 ]

CPU P-States [ 12 20 22 23 24 25 26 28 29 35 38 41 43 44 46 (47) ]

CPU P-States [ (12) 20 22 23 24 25 26 27 28 29 35 38 41 43 44 46 47 ]

CPU P-States [ (12) 20 22 23 24 25 26 27 28 29 34 35 38 41 43 44 46 47 ]

CPU P-States [ 12 20 21 22 23 24 25 26 27 28 29 34 35 38 41 43 44 46 (47) ]

CPU P-States [ 12 20 21 22 23 24 25 26 27 28 29 32 34 35 38 41 43 44 46 (47) ]

CPU P-States [ (12) 20 21 22 23 24 25 26 27 28 29 31 32 34 35 38 41 43 44 46 47 ]

CPU P-States [ (12) 20 21 22 23 24 25 26 27 28 29 31 32 34 35 38 41 42 43 44 46 47 ]

CPU P-States [ 12 20 21 22 23 24 25 26 27 28 29 31 32 34 35 36 38 41 42 43 44 46 (47) ]

CPU P-States [ 12 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 38 41 42 43 44 46 (47) ]

CPU P-States [ (12) 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 41 42 43 44 46 47 ]

 

 

Edit:

 

In Bios I can disable C states and PM will work too.

 

 

sysctl -n machdep.xcpm.vectors_loaded_count

1

 

sysctl -n machdep.xcpm.vectors_loaded_count

1

Link to comment
Share on other sites

@SammlerG did you need to run "freqVectorsEdit.sh" first?

 

Why he didnt mention about "-cpuid" arg? Is the purpose to set fake cpuid before calling "_cpuid_set_info"? Also, I found 2 patterns for "0xffffffe9" in "_cpuid_set_info". I am on 10.11.6 right now so cannot make a test.. just curious :)

Link to comment
Share on other sites

when i use freqVectorsEdit.sh, vectors don´t load. I don´t know why.

 

I also use clover to add C + P States, SSDT injection is also not working for my setup.

 

I made it manually, renamed the iMac 15.1 plist to mac pro 6.1. in the kext. This worked for me.

Link to comment
Share on other sites

X86PlatformPlugin will load when i use Clover to generate C&P States, enable C2 + C6.

When using SSDT, generated with ssdtPRGen.sh (used iMac 15,1 board id and other configs), X86PlatformPlugin and vectors don´t load.

 

I also had some unexpected reboots, so i disabled spread spectrum and active frequency control in bios.

 

But not 100% stable at this moment with 10.12. DP3.

 

Add more voltage to CPU, Cache und RAM is also a improvement.

 

Still getting more stable.

Link to comment
Share on other sites

I just used a HEX editor to patch my kernel. 

 

Search for the location 0x1fb451 and patched E9 to E6.

Same withe the other kernel locations.

 

Then replace the kernel with the patched one, and rebuild caches and prelinked kernel.

Where do you see E9?  In my kernel (10.10.5), I find one result for 0x1fb451, but I don't see E9 near that.  I suppose maybe that only works for Sierra.  How do you know what to look for in different versions?

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
 Share

×
×
  • Create New...