Jump to content
138 posts in this topic

Recommended Posts

More like 5 or 6 users  :)

 

It's the 10.11.2 Kext from Apples Open Source Website. 

As often, it's only a minor change once you know what's wrong.

 

The bigger and more tedious problem was getting the sources to compile. 

More like 5 or 6 users :)

 

It's the 10.11.2 Kext from Apples Open Source Website.

As often, it's only a minor change once you know what's wrong.

 

The bigger and more tedious problem was getting the sources to compile.

Can you post a guide or something for doing this patch? It would be good to have multiple people that are able to do it.

 

Since it's the 10.11 kext perhaps we could even do a binary patch.

 

Also does this still require the acpiplatform rollback?

Good point on the binary patch possibility.

 

It will also be worth documenting this fix for the future–– we might be moving on to 10.12 soon!

My thoughts exactly. BTW I just compared the binaries - I think we would need to compare it to an unmodified one built from the source - too many differences if I compare it to the apple one.

Confirmed boot & working! El Capitan 10.11.5 Asus X99 Deluxe 5960x Brumbaer huge breakthrough man! Can't thank you enough! By the way, I did not need the acpiplatform kext rollback. Just the stock one from 10.11.5 worked for me...

  • Like 4

Sorry, I'm a bit short on time at the moment, so I'll be brief.

 

Instead of replacing the kext, you can use the patch as described in the first post.

 

As so often with patches, I can't anticipate, how long it will stay valid.

 

I give some info what the patch/kext change does  later.

  • Like 5

Brumbaer, thanks again!  Looking forward to hearing more about how the patch works.

 

I just tried the patch, and can confirm this also works for a 12 core xeon v3 that did not boot in the past.  My guess is that this patch opens the door for the rest of the V3 Xeons that haven't worked in the past, such as 14 core chips and beyond.

There is no roll back needed. The problem is not related to acpiplatform.

 

About the Kext

 

When configuring the IOPCIFamily kext enumerates the PCI Devices and creates an array of memory ranges for each device.

This is done by iterating over the BaseAdressRegisters of each device and determining start-address and size of the area represented by the BAR.

If the size exceeds MAX_BAR_SIZE it tries again and again, seemingly interpreting the result as a "not ready" or "busy".

 

MAX_BAR_SIZE is set to 1GB. The 5960x has a device (Power Control Device) with a BAR reporting a larger size. The size is read from the chip not from any ACPI table.

The Kext increases MAX_BAR_SIZE to 32 GB, which is larger than the size reported.

 

The device 2fc08086 is a power control chip used by the i7 Haswell-E,  E5v3 and E7v3. So it should solve the "PCI configuration begin hang" for those as well.

Might be interesting to check what that BAR points to. If the value indeed marks an "not ready" or "busy", the Kext might not be needed, when the device would be configured correctly.

 

 

About the Patch

 

The Patch basically sets MAX_BAR_SIZE to 2GB, which wouldn't be enough, but because of the command used the value is sign extended which results in a larger value. 

In theory that might cause a problem with some board in which case you will have to fall back to the modified kext. There might also be the possibility to replace the command, but I haven't checked that, I will cross that bridge and so on.

  • Like 7

So I take it this is the culprit in IOPCIConfigurator.cpp?

		range = device->ranges[kIOPCIRangeBAR0];
		if (!range) break;
		if (0x40000 != range->proposedSize) break;
		if (kIOPCIResourceTypeMemory != range->type) break;
		if (kPCIHeaderType1 != device->headerType) break;

So I take it this is the culprit in IOPCIConfigurator.cpp?

 

range = device->ranges[kIOPCIRangeBAR0];
		if (!range) break;
		if (0x40000 != range->proposedSize) break;
		if (kIOPCIResourceTypeMemory != range->type) break;
		if (kPCIHeaderType1 != device->headerType) break;

No possibility of an infinite loop, neither 1GB nor MAX_BAR_SIZE, so no it's not.

Brumbaer, do you have any idea what might be causing the XHCI interrupts? In case you aren't aware there's a ton of XHCI interrupts that cause slow performance, low geekbench scores, and Virtual Machines barely operate. Currently (as far as I know) the only solution is to either override the Apple XHCI kext with GenericUSBXHCI or disable USB3 in the BIOS. This happens with all X99 builds as far as I know.

Brumbaer, do you have any idea what might be causing the XHCI interrupts? In case you aren't aware there's a ton of XHCI interrupts that cause slow performance, low geekbench scores, and Virtual Machines barely operate. Currently (as far as I know) the only solution is to either override the Apple XHCI kext with GenericUSBXHCI or disable USB3 in the BIOS. This happens with all X99 builds as far as I know.

Hey Jamiethemorris,

 

So far on my system, the xhci interrupts have only maxed out in the 300's/sec...most of the time 2 or 8 /sec...nothing like the 200,000/sec... so hopefully I think the issue is gone...

 

I'm not using any GenericUSBXHCI and not disabling USB3 in the BIOS.

 

I used this method from stinga11

http://www.insanelymac.com/forum/topic/309717-haswell-e-5820k-5930k-installation-guide-with-full-speedstep-working/

 

section 5B

5.B

To get all USB3.0 working you need to use this binary patch and download my X99 injector. Put the injector into the /Library/Extensions thezip.gif  X99 USB3.0.zip   20.68KB   301 downloads(NOTE: IF YOU USE THIS KEXT DON'T USE THE KEXTS FROM 5A)

 

I haven't tested out how well USB 3 devices are working yet.

 

But I am still playing around with trying to see the best performance and power management settings I can get..

I haven't decided what model and board id to use yet.

 

For the longest time I've been using Mac 5,1    for some reason...I can't remember...but I believe a post or guide rampgedev made, convinced me to go with that 1.5 years go...

I'm very reluctant to change since I have imessage and facetime working perfectly with Mac 5,1.

..and I'm afraid if I change to Imac or Mac 6,1... Apple's iMessage server will block me...

So I'm disconnecting form the internet while I test others..

 

Anyway, Stinga11's X99_Injector.kext seems to be setup for Mac 6,1.   so I edited the info.plist  and changed all to Mac 5,1   Otherwise, the mac id was getting bizarrely overridden to imac....

I think it has something to do with stingaa11 using imac haswell powermanagement vectors and/or fakecpuid..but I'm a little lost sorting through it all as of now...

 

I'm experimenting with creating my own x99platformplugin.kext  still.  Not sure I'm doing it correctly..

http://www.insanelymac.com/forum/topic/309717-haswell-e-5820k-5930k-installation-guide-with-full-speedstep-working/?p=2232552

 

At any rate, I believe the xhci interrupts issue is gone!  At least on x99 deluxe 5960x..with all my settings! 

 

I'd be really curious what powermanagement settings/kext you end up with once you get your 10.11 system up!

 

Bill

Hey Jamiethemorris,

 

So far on my system, the xhci interrupts have only maxed out in the 300's/sec...most of the time 2 or 8 /sec...nothing like the 200,000/sec... so hopefully I think the issue is gone...

 

I'm not using any GenericUSBXHCI and not disabling USB3 in the BIOS.

 

I used this method from stinga11

http://www.insanelymac.com/forum/topic/309717-haswell-e-5820k-5930k-installation-guide-with-full-speedstep-working/

 

section 5B

5.B

To get all USB3.0 working you need to use this binary patch and download my X99 injector. Put the injector into the /Library/Extensions thezip.gif  X99 USB3.0.zip   20.68KB   301 downloads(NOTE: IF YOU USE THIS KEXT DON'T USE THE KEXTS FROM 5A)

 

I haven't tested out how well USB 3 devices are working yet.

 

But I am still playing around with trying to see the best performance and power management settings I can get..

I haven't decided what model and board id to use yet.

 

For the longest time I've been using Mac 5,1    for some reason...I can't remember...but I believe a post or guide rampgedev made, convinced me to go with that 1.5 years go...

I'm very reluctant to change since I have imessage and facetime working perfectly with Mac 5,1.

..and I'm afraid if I change to Imac or Mac 6,1... Apple's iMessage server will block me...

So I'm disconnecting form the internet while I test others..

 

Anyway, Stinga11's X99_Injector.kext seems to be setup for Mac 6,1.   so I edited the info.plist  and changed all to Mac 5,1   Otherwise, the mac id was getting bizarrely overridden to imac....

I think it has something to do with stingaa11 using imac haswell powermanagement vectors and/or fakecpuid..but I'm a little lost sorting through it all as of now...

 

I'm experimenting with creating my own x99platformplugin.kext  still.  Not sure I'm doing it correctly..

http://www.insanelymac.com/forum/topic/309717-haswell-e-5820k-5930k-installation-guide-with-full-speedstep-working/?p=2232552

 

At any rate, I believe the xhci interrupts issue is gone!  At least on x99 deluxe 5960x..with all my settings! 

 

I'd be really curious what powermanagement settings/kext you end up with once you get your 10.11 system up!

 

Bill

Is your performance as expected? I wonder if that usb injection kext also fixes the issue.

 

I also use MacPro5,1 because I can't stand it looking like a trash can on my home network. Also didn't want to deal with the graphics stuff on boot with MacPro6,1.

 

FWIW at the moment I'm using nullcpu, I couldn't get decent performance out of my CPU otherwise. I also had to overclock the BLCK rather than the multipliers to get it to recognize and use my OC properly. Also I'm the only one running an X99 Classified, hopefully the patches and stuff that work for everyone else work for me as well.

×
×
  • Create New...