Jump to content

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


stinga11
 Share

670 posts in this topic

Recommended Posts

EDIT 12/5/2015:

I created a new guide with speedstep working

http://www.insanelymac.com/forum/topic/309717-haswell-e-5820k-5930k-installation-guide-with-full-speedstep-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.

  • Like 6
Link to comment
Share on other sites

i did.

 

ok i do it again..

 

no, always PCI configuration begin.

plugged the usb key on the usb2 port.

I added -f -v cpus=1 npci=0x2000 nv_disable=1

 

My config: asus x99 5960x

Which of the patch you are using ?? the a,b or both ????

Link to comment
Share on other sites

Hey guys try only the a patch, I post the b patch because someone x86 told that the second patch is necessary. I always said that the second patch is not necessary. Not use both, use the first if not work copy a new kernel and them use the second.

Link to comment
Share on other sites

Hey guys try only the a patch, I post the b patch because someone x86 told that the second patch is necessary. I always said that the second patch is not necessary. Not use both, use the first if not work copy a new kernel and them use the second.

first patch "haswell" doesn't work = PCiconfigurationbegin

Link to comment
Share on other sites

did you use -f also?

refused to work without it... although i don't understand that, -f only forces a rebuild of the kext cache, doesn't it?

yes i did

i used many bootflags, i used usb 2 port &usb 3, i used different usb key, i stoped overclok to stock cpu.

AAAALWAYS: Pci configuration begin

:wallbash:

 

maybe is a issue with Asus motherboard..

 

 

thanks guys for your help :)

Link to comment
Share on other sites

After many attempts i finally managed to boot the installer with my DSDT from 10.9.5 and 0x2000 flag only, just to realize that it can't be installed on GUID... The 10.10 MBR patch here in downloads section doesn't work, looks like it breaks the installation app. Also tried updating the BIOS to latest beta version, but it still doesn't boot chameleon from GUID. I'm not really sure if it's a BIOS or a bootloader issue.

Link to comment
Share on other sites

yes i did

i used many bootflags, i used usb 2 port &usb 3, i used different usb key, i stoped overclok to stock cpu.

AAAALWAYS: Pci configuration begin

:wallbash:

 

maybe is a issue with Asus motherboard..

 

 

thanks guys for your help :)

Hey man I have an idea may not work, but if you do not try we will never know. Use the IOPCIFamily.kext and AppleACPIPlatform.kext from 10.9.5

After many attempts i finally managed to boot the installer with my DSDT from 10.9.5 and 0x2000 flag only, just to realize that it can't be installed on GUID... The 10.10 MBR patch here in downloads section doesn't work, looks like it breaks the installation app. Also tried updating the BIOS to latest beta version, but it still doesn't boot chameleon from GUID. I'm not really sure if it's a BIOS or a bootloader issue.

Maybe you should try with UEFI boot with clover

Link to comment
Share on other sites

Ok i tried with U*** key (drag & drop to the extra/extensions). but still doesn't work.

 

 

After many attempts i finally managed to boot the installer with my DSDT from 10.9.5 and 0x2000 flag only, just to realize that it can't be installed on GUID... The 10.10 MBR patch here in downloads section doesn't work, looks like it breaks the installation app. Also tried updating the BIOS to latest beta version, but it still doesn't boot chameleon from GUID. I'm not really sure if it's a BIOS or a bootloader issue.

you have to format to MBR partition on your System drive. use carbon copy to make transfer.

Link to comment
Share on other sites

Ok i tried with U*** key (drag & drop to the extra/extensions). but still doesn't work.

 

about clover i would love test but i'm not really good with this tool.

uefi mode doesn't work with my Asus. if i desable CSM in the bios, no hard drives appears in the boot. i f i can use clover on mode mdr i'm ok.

do you know what i mean?

Put the IOPCIFamily.kext and AppleACPIPlatform.kext on /library/system/extension/ and them boot with the npci=0x2000 -v -f kext-devmode=1 If it doesn't work the first time maybe you need repairs permissions via single user mode.

Link to comment
Share on other sites

 Share

×
×
  • Create New...