GrabDuck

Haswell-E mach_kernel patch (5960X, 5830K and 5820K) 10.10 - 10.10.1 Yosemite - OSx86 ...

:

EDIT 12/5/2015:

I created a new guide with speedstep working

http://www.insanelym...edstep-working/

 

EDIT 9/16/2015:

In the 10.10.2 and newer, Apple added native support for Haswell-E Thanks maleorderbride for test

 

At this moment it is possible compile a XNU kernel with the necessary change for a Haswell-E works, it is easy all you need is to add CPUID_MODEL_HASWELL_SVR in cpuid.c. But the problem is, the open source XNU kernel doesn't have the same code that the vanilla kernel. They share most of the code but another part is replaced by open source code and other parts simply not are available such as XCPM. It seems that the code that performs the work of the iMessage and other things neither it is available. For this reason is better to use the vanilla kernel but the problem is that it does not yet support the Haswell-E and for that we need patch.

 

Here is a quick and dirty patch for the mach_kernel to let it run Haswell code on Haswell-E

 

1.

Patch the vanilla kernel using a Haswell code(Use only with 10.10.0 or 10.10.1 in the newer versions it is not necessary):

sudo perl -pi -e 's|\x74\x11\x83\xF8\x3C|\x74\x11\x83\xF8\x3F|g' /System/Library/Kernels/kernel

This work would not have been possible without the patch of PikerAlpha for 10.8.4, I just used otool to find the new Haswell-E patch for 10.10

 

2.

If to boot you need to use the kernel flag (cpus=1) is necessary to use the VoodooTSCSync.kext, that you put in /System/Library/Extensions/ (Download VoodooTSCSync.kext)

Open the info.plist of the VoodooTSCSync.kext and edit the IOCPUNumber.

 

If you have a 5830K or 5820K(six core) use the number 11

            <key>IOPropertyMatch</key>
            <dict>
                <key>IOCPUNumber</key>
                <integer>11</integer>
            </dict>

If you have a 5960X (eight core) use the number 15

            <key>IOPropertyMatch</key>
            <dict>
                <key>IOCPUNumber</key>
                <integer>15</integer>
            </dict>

3.

Add npci=0x2000 -v -f to kernel flags.

 

4.

For the installer you need use nv_disable=1

 

 

Speedstep

For Haswell it is impossible getting speedstep. The information necessary to work not exist on the XCPM because this information will not be available until receive official support from apple.

 

Solution:

 

You can use  (NullCPUPowerManagement.kext) for get a little speedstep using state C1E. It can vary from two states to three states. The problem with this solution is that it can not use the turbo boost.

 

 

Sata (GenericAHCI):

I made a AHCI injector for X99 motherboard. To change the IOClass AppleAHCI into the IOClass AppleIntelPchSeriesAHCI(On the system profiler appears as X99 instead GenericAHCI)

 

 

 

Audio:

I suggested the idea to patch the audio to work with X99 boards on toleda's Mavericks Realtek ALC AppleHDA thread.

 

I post a patch with the x99 & series 9 chipset in the official voodoohda thread, Slice merged the patch with the voodoohda source.

voodoohda 2.8.7 or newer thanks to Slice.