Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

MIKX

macrumors 68000
Dec 16, 2004
1,815
690
Japan
Did you do a PRAM reset ?

I learned ( from someone a long time ago to hold down the P+R+Option+ Command keys until I hear the Happy Apple "CHIME" TWICE. No idea if iy actually helps of not.

I wonder if something has been changed in the 10.13.5 IONVMeFamily.kext ?
 
Last edited:

zozomester

macrumors 6502
Apr 26, 2017
363
266
Hungary
Did you do a PRAM reset ?

I learned ( from someone a long time ago to hold down the P+R+Option+ Command keys until I hear the Happy Apple "CHIME" TWICE. No idea if iy actually helps of not.

I wonder if something has been changed in the 10.13.5 IONVMeFamily.kext ?
yes, it was. No changes.
 

MIKX

macrumors 68000
Dec 16, 2004
1,815
690
Japan
I wonder what "issues" Apple is trying to fix with all these FW updates to the MP5,1.

Seems to be quite a few of them.

The no microcode must be a bug, and I don't understand why Apple would update the FW and not patch for Spector/Meltdown.

I filed a bug report:

DearthnVader

Please let us know what they say - if they say anything.
 

DearthnVader

macrumors 68000
Dec 17, 2015
1,969
6,325
Red Springs, NC
DearthnVader

Please let us know what they say - if they say anything.
I'll keep everyone in the loop, surely they'll fix this, microcode updates is how they address erratum, and they were up to Rev. 15 before this update.

Things people expect to work are going to stop working with this "update".
 

bsbeamer

macrumors 601
Sep 19, 2012
4,306
2,702
Unsure if it is related at all, but NVIDIA will still not disclose if their Spectre/Meltdown issues impact Mac usage, or if the web driver actually addresses any of the issues. According to their support techs (who DO actually respond), the latest OS updates combined with NVIDIA web driver usage addresses the issues when using NVIDIA GPUs on MacPro, both for EFI and non-EFI variants. There are no firmware updates required on Mac, even if those updates were to be performed on another system (PC/Windows/Linux).

Doubt you’ll hear back from Apple on this. They have never really been transparent on these types of issues.

Really wonder what these FW updates are addressing. If it’s for APFS issues, I could care less. If it’s security related, I absolutely want to install. Now that NVIDIA web drivers updated, will try to get this installed early next week.

Getting closer and closer to EOL, but need to get at least another 6-12 months out of this 5,1. Unsure if I’ll go 10.14 on this machine, even if compatible. Absolutely will at least dual boot 10.13.
 

MIKX

macrumors 68000
Dec 16, 2004
1,815
690
Japan
Who was it who recently managed to update his cMP MicroCode ? We need his opinion on this.
 

Susurs

macrumors 68000
Jun 18, 2010
1,606
11,017
I'll keep everyone in the loop, surely they'll fix this, microcode updates is how they address erratum, and they were up to Rev. 15 before this update.

Things people expect to work are going to stop working with this "update".

What is going to stop working?
 

Dr. Stealth

macrumors 6502a
Sep 14, 2004
813
739
SoCal-Surf City USA
If you need to download the full installer to get the firmware update then I assume most people will never get the firmware update. Must not be too important. I updated to 10.13.5 without doing the firmware update and I'll just stick with MP51.0085.B00 for now.
 

Surrat

macrumors 6502
Jun 20, 2014
478
171
United States
With a bit of fear, and LightBulbFun's help via skype, we tested something many have talked about, but as far as we know, nobody has actually done...

We successfully replaced the Apple included Westmere microcode with the newest version from the Intel repository.
This was done to my 2009 MacPro running 10.13.5 that still has its High Sierra MP51.0085.B00 firmware.
I have not installed the new 0087 firmware, due to it possibly being a mistake with no microcode.

The new microcode seems to work fine with my installed x5672 cpu's, and shows up correctly in Terminal.
Now the microcode version shows as 30.

Next we will work on getting the same up to date microcode for the Nehalem cpu's added in.
 

Attachments

  • Microcode30.png
    Microcode30.png
    112.3 KB · Views: 266
Last edited:

tpivette89

macrumors 6502a
Jan 1, 2018
536
294
Middletown, DE
With a bit of fear, and LightBulbFun's help via skype, we tested something many have talked about, but as far as we know, nobody has actually done...

We successfully replaced the Apple included Westmere microcode with the newest version from the Intel repository.
This was done to my 2009 MacPro running 10.13.5 that still has its High Sierra MP51.0085.B00 firmware.
I have not installed the new 0087 firmware, due to it possibly being a mistake with no microcode.

The new microcode seems to work fine with my installed x5672 cpu's, and shows up correctly in Terminal.
Now the microcode version shows as 30.

Next we will work on getting the same up to date microcode for the Nehalem cpu's added in.

Would this, in theory, be the missing link to allow previously unsupported Westmere CPUs (such as the X5687) to work?
 

Surrat

macrumors 6502
Jun 20, 2014
478
171
United States
With newfound bravery, we tried one final modification, a more daring one.

First, we tried to add the updated Nehalem microcode as we added the Westmere earlier, but we could not.
There is not enough room in the microcode block area to hold the newer and larger microcode.

However, the microcode block actually contains FIVE different microcodes.
It has Westmere, Nehalem, two early Nehalem versions (not used on any MacPro shipping cpu), and a Westmere engineering sample (also not used on any MacPro shipping cpu).

We reordered the microcode data block, removing the useless Nehalem microcodes and the Westmere engineering sample microcode, then installed both new Westmere and Nehalem blocks from the Intel repository.
This freed up a LOT of space in the microcode data area for any future updates.

I already flashed this updated and cleaned up version to my 2009 MacPro, and it is working perfectly. I have not tested Nehalem cpu's yet, as my cpu tray with them is at work.

This whole update adventure is owed to LightBulbFun and dosdude1, two crazy mac hackers !
 

LightBulbFun

macrumors 68030
Original poster
Nov 17, 2013
2,808
3,125
London UK
as a result of @Surrat kindly putting his Mac Pro 4,1-5,1 on the front line with the risk of it being bricked.

I now have a nice easy "copy paste" method of adding the latest Nehalem and Westmere microcodes to any Mac Pro 5,1 BootROM :)

(theres a section/block in the Mac Pro BootROM where Microcodes sits it contains all the microcodes, I took this section deleted all the microcodes from inside this section, then pasted in the 2 updated microcodes inside this section then padded out the space after the 2 microcodes with FFs so the updated block matched the original blocks size, I then pasted the now updated Microcode section/block into the Mac Pro BootROM overwriting the original block, I verified the BootROM file size had not changed, then I sent the ROM to @Surrat where he flashed it to his Mac Pro, where it looks like it has worked :) )

having verified that it did not brick @Surrat Mac Pro, I applied the updated microcode block/section to my own Mac Pro 5,1 which is my main machine, where it worked without any issues (this also "downgraded" my MP back to 0085) :) its worth noting while this contains spectre patched microcode for Nehalem CPUs as well, that we have not tested Nehalem CPUs yet but @Surrat will be doing that soon hopefully. he also Ran GeekBench on his Mac Pro where he reported no performance loss :)

hopefully this all makes sense, figuring all of this out was very hard and very stressful for me, as I was not just straight copy pasting overwriting stuff but I was also moving and removing data from inside the BootROM. if I had gotten just 1 byte wrong, Surrats Mac Pro could of well been bricked.

but now I have a file which I can just copy and paste into a Mac Pro 5,1 BootROM which will remove all old Microcode and insert the spectre patched Nehalem and Westemere Microcode :) (also credit to @dosdude1 for his nice little ROM flasher :D)

upload_2018-6-2_23-34-43.png
 

toru173

macrumors 6502
Apr 5, 2007
318
137
Hi all,

I know the 1,1 and 2,1 are old, but if you’d like one to sacrifice to get more modern LGA771 CPUs working I have a couple spare. If I recall correctly, the main issue we were facing is that the EFI on the board didn’t support. Would this technique add that required support?
 

DearthnVader

macrumors 68000
Dec 17, 2015
1,969
6,325
Red Springs, NC
All right, things are really moving along nicely, people patching things that Apple should have patched by now.

I fail to understand why, considering users here were able to download Spectre patched microcode from Intel's repository, Apple has not patched these system.
 
  • Like
Reactions: LightBulbFun

MIKX

macrumors 68000
Dec 16, 2004
1,815
690
Japan
LightBulbFun & Surrat

Does your technique mean that for example, zozomester's cMP can be retoredback to the
MP51.0085.B00 10.13.5 BootROM ?
 
Last edited:

tpivette89

macrumors 6502a
Jan 1, 2018
536
294
Middletown, DE
as a result of @Surrat kindly putting his Mac Pro 4,1-5,1 on the front line with the risk of it being bricked.

I now have a nice easy "copy paste" method of adding the latest Nehalem and Westmere microcodes to any Mac Pro 5,1 BootROM :)

(theres a section/block in the Mac Pro BootROM where Microcodes sits it contains all the microcodes, I took this section deleted all the microcodes from inside this section, then pasted in the 2 updated microcodes inside this section then padded out the space after the 2 microcodes with FFs so the updated block matched the original blocks size, I then pasted the now updated Microcode section/block into the Mac Pro BootROM overwriting the original block, I verified the BootROM file size had not changed, then I sent the ROM to @Surrat where he flashed it to his Mac Pro, where it looks like it has worked :) )

having verified that it did not brick @Surrat Mac Pro, I applied the updated microcode block/section to my own Mac Pro 5,1 which is my main machine, where it worked without any issues (this also "downgraded" my MP back to 0085) :) its worth noting while this contains spectre patched microcode for Nehalem CPUs as well, that we have not tested Nehalem CPUs yet but @Surrat will be doing that soon hopefully. he also Ran GeekBench on his Mac Pro where he reported no performance loss :)

hopefully this all makes sense, figuring all of this out was very hard and very stressful for me, as I was not just straight copy pasting overwriting stuff but I was also moving and removing data from inside the BootROM. if I had gotten just 1 byte wrong, Surrats Mac Pro could of well been bricked.

but now I have a file which I can just copy and paste into a Mac Pro 5,1 BootROM which will remove all old Microcode and insert the spectre patched Nehalem and Westemere Microcode :) (also credit to @dosdude1 for his nice little ROM flasher :D)

View attachment 764173

So there is a nice and easy way to patch these older Mac Pros to accommodate unsupported CPUs now? I tried the X5687 in my SP Mac Pro with the recently updated firmware supplied by Apple and got no change. Still won't boot.

What are you using to change out the microcode, and can this "patch" you've developed be sent via email? I have not only an unsupported Westemere CPU to test (obviously), but a Nehalem CPU as well (the original 2.66 quad core that came supplied in my 4,1).

Let me know if I can be of any assistance in your research.
 

Surrat

macrumors 6502
Jun 20, 2014
478
171
United States
Keep in mind, that we have no idea if a microcode update will allow the 5687 cpu to work.
We dont know what else is required to support that cpu in the firmware.

We also have only tested this modded EFI with the x5672 and x5677, we dont know if any other cpu's would have trouble.
I'll bring home my 2009 dual nehalem cpu tray from work on monday to test it on my 2009 here that we flashed.

Just keep in mind that these microcode updates might do nothing to add support for the 5687 or 5698.
 
  • Like
Reactions: bookemdano

tpivette89

macrumors 6502a
Jan 1, 2018
536
294
Middletown, DE
Keep in mind, that we have no idea if a microcode update will allow the 5687 cpu to work.
We dont know what else is required to support that cpu in the firmware.

We also have only tested this modded EFI with the x5672 and x5677, we dont know if any other cpu's would have trouble.
I'll bring home my 2009 dual nehalem cpu tray from work on monday to test it on my 2009 here that we flashed.

Just keep in mind that these microcode updates might do nothing to add support for the 5687 or 5698.

I understand that this all speculation, and that these procedures may not enable processors like the X5687 to work... hopefully, however, all this does bear fruit and other CPUs besides the ones listed on the compatibility chart are useable.
 

LightBulbFun

macrumors 68030
Original poster
Nov 17, 2013
2,808
3,125
London UK
Hi all,

I know the 1,1 and 2,1 are old, but if you’d like one to sacrifice to get more modern LGA771 CPUs working I have a couple spare. If I recall correctly, the main issue we were facing is that the EFI on the board didn’t support. Would this technique add that required support?

if your interested in my 1,1-2,1 escapades feel free to checkout this post I made: https://forums.macrumors.com/threads/updating-a-mac-pro-s-cpu-microcode.2114187/ its where I got started with all this Microcode hacking :)

So there is a nice and easy way to patch these older Mac Pros to accommodate unsupported CPUs now? I tried the X5687 in my SP Mac Pro with the recently updated firmware supplied by Apple and got no change. Still won't boot.

What are you using to change out the microcode, and can this "patch" you've developed be sent via email? I have not only an unsupported Westemere CPU to test (obviously), but a Nehalem CPU as well (the original 2.66 quad core that came supplied in my 4,1).

Let me know if I can be of any assistance in your research.

when I say "easy" it still involves getting freaky with a hex editor. but it brings the difficulty of it "down" so its on par with updating the microcode on something like a Mac Pro 2,1, the patch I have developed is basically a section of the BootROM which contains the updated microcodes in it which you paste over the same section in the BootROM you want to update.

Basically you search for in 2 locations a specific section of hex in a hex editor, then past over another bit of hex of the same size in those 2 locations verify that your BootROM size has not changed and then you flash your ROM and cross fingers and toes :)

first you search for this piece of hex https://mega.nz/#!pNZikBbS!30gv0d8cKqCvU_AwAddZWl3Am7Vw0tMjqaDxsdNbD6g in your Mac Pros BootROM which you have opened in a hex editor, this section should be in 2 locations in the Mac Pro 5,1 0085 and older BootROMs, this is the stock Mac Pro microcode block. then with the stock microcode block highlighted in your Mac Pros BootROM, open this https://mega.nz/#!UZhxCYbT!nrGMKjv2aDoC4iDFOAj-NR2yPHdSZ7FuruaBsCchhhA new updated microcode block in a hex editor, highlight it all and copy it (cmd c) then go back to the Mac Pro BootROM and paste it (cmd v) it will overwrite the old block which you have highlighted. make sure to do this in both locations, so now when you search for the new microcode block/piece of hex it should now show up twice in the same place the old blocks where (notice both the new and the old blocks are the same overall size of 49080 bytes). once you have done all this make sure the size of your BootROM has not changed, save the the BootROM then flash it using @dosdude1 Tool reboot your Mac Pro, and if everything went well you should now be running on the latest Westemere and Nehalem Microcodes :) note if you screw up even 1 byte you could brick your Mac Pro, I take no responsibility if you do happen to brick your machine. and ALWAYS make sure to keep a clean back up of your machines BootROM when doing such modifications...

hopefully this all makes sense :) to verify your running the updated microcode, run: sysctl machdep.cpu in terminal you should see microcode_version say 30 for westmere (and if my maths is right 28 for Nehalem)

I will say "developing" this new Microcode block which you Just drop in place of the old one was NOT easy at all...

Does the microcode patch work with the new firmware?

I have not tested it on the new Mac Pro 0087 firmware, see my Microcode Mac Pro thread on what happened when I tried to add microcode for a CPU which booted up fine but did not have a microcode in the EFI (it actually prevented the machine from booting when that CPU was installed)
 

DearthnVader

macrumors 68000
Dec 17, 2015
1,969
6,325
Red Springs, NC
What is going to stop working?
Design errors and mistakes in a CPU's hardwired logic may also be documented and described as errata. One well-publicized example is Intel's "FDIV" erratum in early Pentium processors,[3] known as the Pentium FDIV bug. This gave incorrect answers to a floating-point division instruction (FDIV) for a small set of numbers, due to an incorrect lookup table inside the Pentium chip.

https://www.intel.com/content/dam/w...on-updates/xeon-5600-specification-update.pdf

See table 4 page 17 for 56xx errata fixes.
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.