3

updating a Mac (Pro)s CPU Microcode

 1 year ago
source link: https://forums.macrumors.com/threads/updating-a-mac-pro-s-cpu-microcode.2114187/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

updating a Mac (Pro)s CPU Microcode

LightBulbFun

macrumors 68030

Original poster

Nov 17, 2013 2,708 2,905 London UK
I Just wanted to make a Quick posting that I managed to update the Microcode on my MacBook2,1 to the latest version intel has released for its CPU

I managed to do this by dumping my MacBooks BootROM using flashrom in Linux and actually manually finding the microcode in the BootROM (which in this case is 4096 Bytes long/big) and taking the updated microcode and replacing the old microcode with the new version, I then flashed the now edited BootROM onto the MacBooks BootROM flash chip crossed my fingers rebooted and low and behold it booted up with the updated microcode!

here is the Stock microcode in the BootROM
upload_2018-4-9_12-37-59.png
and here is the microcode after I have inserted the new version into the BootROM
upload_2018-4-9_12-36-41.png
while this is a MacBook and not a Mac Pro im fairly sure the same thing could be Applied to Mac Pros.

it might be possible to add E0 stepping CPU compatibility to a Mac Pro 3,1 and get the X5492 to work for example using this. or even maybe Westmere support to an Xserve3,1? or add the newest microcode for meltdown/spectre patching if Apple does not release an update for it

I used my MacBook for this as this machine is Fairly expendable, now that I see it did not brick the MacBook by doing this, I plan on trying to add updated microcode to one of my Mac Pro 1,1/2,1s at some point now to test this on a Mac Pro.

it might even be possible to add Harpertown support to a 1,1/2,1 Mac Pro (atm i dont own any Harpertown CPUs sadly so i cant test this out)


I just wanted to show that it is possible to update the Microcode in Apples EFI BootROMs

and now for some pictures of the MacBook actually booted up into an OS showing off the new microcode revision

here is the old microcode revision
upload_2018-4-9_12-31-8.png
and here is the new Microcode revision
upload_2018-4-9_12-31-54.png
I am very excited about this it could enable quite a few cool things

ActionableMango

macrumors G3
Sep 21, 2010 9,610 6,896
Bravo!

Must have been scary before and thrilling after.

LightBulbFun

macrumors 68030

Original poster

Nov 17, 2013 2,708 2,905 London UK
Thanks

indeed it very much was I could of easily bricked the machine and as I dont own an external EEPROM programmer (yet ) if I did brick the machine I would of had no way to recovery it.

(I did just remember that you can program SPI ROMs with a Pi which I have, however dont own a SOIC8 chip clip, tho I could always solder wires onto the legs of the EEPROM sadly PowerPC macs dont use SPI ROMs and flashrom does not work on PowerPC . )

tsialex

macrumors G4
Jun 13, 2016 11,352 11,848
I used flashrom before to flash a macmini1,1 to 2,1 firmware, even changed the serial number of the board to the same of the enclosure. It's easy with a Pomona clip, but if I'm not mistaken Mac Pro 5,1 uses BGA flash, no?

Edit: correct info
  • Mac Pro 1,1 to 3,1 uses TSOP FWB flash memories
  • Mac Pro 4,1 to 6,1 uses SOIC-8 SPI flash memories
Last edited: Sep 29, 2018

LightBulbFun

macrumors 68030

Original poster

Nov 17, 2013 2,708 2,905 London UK
I used flashrom before to flash a macmini1,1 to 2,1 firmware, even changed the serial number of the board to the same of the enclosure. It's easy with a Pomona clip, but if I'm not mistaken Mac Pro 5,1 uses BGA flash, no?
Nice, flashing it that way should also change the Board ID so Lion will install without any hacks (where as flashing 1,1s to 2,1s normally does not change the board ID) I have also managed to edit the serial number in BootROMs too. I am aware of the Pomona clip I just dont own one atm sadly but I do want to get one .

as for the Mac Pro 5,1, I was able to dump my Mac Pro 5,1s BootROM chip with flashrom but I have not tried flashing it back, I dont want to brick my main computer just yet LOL. (flashrom did say something about write protect being enabled im guessing to disable it you have to boot in Firmware update mode ie hold down the power button down until it beeps) keep in mind im not using an external programmer but using the -p internal switch in flashrom
[doublepost=1523308431][/doublepost]Just managed to patch/update the Microcode on my Xserve1,1 in the same manner , its worth mentioning that I had to put the Xserve into BootROM update mode before flashrom could erase/write to the EEPROM.

here is the old microcode
upload_2018-4-9_22-10-38.png
and here is the new microcode
upload_2018-4-9_22-11-9.png

ActionableMango

macrumors G3
Sep 21, 2010 9,610 6,896
So when are you going to add support for X5698 CPUs? 4.4GHz is calling your name...

h9826790

macrumors P6
Apr 3, 2014 15,705 7,890 Hong Kong
So when are you going to add support for X5698 CPUs? 4.4GHz is calling your name...
1000% support this mod
[doublepost=1523320364][/doublepost]Or can we OC the CPU by modding the firmware?

LightBulbFun

macrumors 68030

Original poster

Nov 17, 2013 2,708 2,905 London UK
Feel free to cover the cost of a couple X5698, for "development" purposes of course

I would love to try out the X5698 and X5687 even without any EFI mods, because as I have said in past posts if you trace it back only 1 or 2 people ever tested those CPUs, for all we know they could of been doing something wrong, much like how OWC says 8GB FB-DIMMs dont work in a Mac Pro 1,1/2,1 or that 32GB RDIMMs dont work in a Mac Pro 5,1 even tho they do work.

but if the X5698/X5687 do not work, I dont think it would be down to a microcode issue sadly as they share the same CPUID/Microcodes. (if they dont POST it might be down to the same thing that causes the X5698 to be stuck at 1.6Ghz when stuck in an EVGA SR2 Blackbird which MIGHT be patchable... people have managed to patch in X5698 support to the EVGA SR2 blackbird, IIRC the issue was the SR2 just not supporting such a high stock multiplier of 33, they simply changed the max number to 33 and it worked so in theory IF That is the issue with the Mac Pro was well we might be able to apply a similar patch to the MP5,1 BootROM)

BTW heres a quick screen shot of the Xserve1,1 booted into OS X showing the updated Microcode (its in decimal if your convert it to hex you get 0xD2)
upload_2018-4-10_2-47-28.png

LightBulbFun

macrumors 68030

Original poster

Nov 17, 2013 2,708 2,905 London UK
Update time again! LOL

I finally dragged out my Mac Pro 1,1-2,1 (an upgraded 1,1 with 2,1 Firmware and SMC with Dual X5355 B3 stepping CPUs)

and I was also able to edit its BootROM and include updated microcode for the CPUs installed

heres is the old Microcode revision
upload_2018-4-11_12-24-21.png
and here is the new microcode revision (not a very big Jump in version mind you...)
upload_2018-4-11_12-24-49.png
also while I was poking around I noticed there are a total of 6 Microcodes included in the EFI, im planning on replacing the one of the un-needed microcodes with suitable Harpertown Microcode and hope I can get Harpertown CPUs working in a Mac Pro 1,1/2,1 I did notice there was a lot of empty space right at the end of the last Microcode so it Might be possible to add more then 6 Microcode but thats something I plan to play with once I have a means of recovering a bricked machine

also it turns out intelcpumicrocodelist works on Mac EFIs which is handy for quickly seeing what Microcodes are contained in an EFI here is an example of my Mac Pro indeed there are 6 Microcodes, the 2010 is the one I updated, and you can see some Microcode for some pre-release Core 2 Duo based CPUs but interestingly Microcode for G0 stepping CPUs is absent from the BootROM.... (I also Opened the BootROM up in a hex editor and confirmed this just incase there was some bug with intelmicrocodelist)
upload_2018-4-11_12-54-23.png
also worth noting that the Xserve1,1 lacks any microcode for any Clovertown CPU, I might try add some microcode and see if this Fixes the "Unknown" CPU in about this Mac that you get when you install Clovertown CPU into a MP1,1/XS1,1.
upload_2018-4-11_13-19-0.png
all in all theres been some pretty interesting findings I would think

Gamer9430

macrumors 68020
Apr 22, 2014 2,242 1,382 USA
Update time again! LOL

View attachment 757797

View attachment 757799

all in all theres been some pretty interesting findings I would think
I wonder where those Stock MBP3,1; 5,5; 6,1; 8,1 and MB5,2 BootRom dumps came from...

sailmac

macrumors 6502
Jan 15, 2008
Just jumping in to say this is an interesting thread. My 3,1 is still humming along. @LightBulbFun I look forward to seeing where all of this leads you -- maybe a few good surprises! Thanks for taking some risks and sharing results
Reactions: LightBulbFun

tpivette89

macrumors 6502a
Jan 1, 2018 Middletown, DE
VERY interesting thread. I was just inquiring whether or not Wolfdale and Harpertown CPUs would work in a 1,1 or 2,1 Mac Pro. With what you’ve done, it now may be a possibility.

Also, once I get my hands on a X5687, I plan on installing it into my flashed, single CPU 4,1. An X5698 experiment is a little too expensive for me at the moment.

LightBulbFun

macrumors 68030

Original poster

Nov 17, 2013 2,708 2,905 London UK

I wonder where those Stock MBP3,1; 5,5; 6,1; 8,1 and MB5,2 BootRom dumps came from...
from a Shady BootROM dealer somewhere in New Jersey IIRC
Just jumping in to say this is an interesting thread. My 3,1 is still humming along. @LightBulbFun I look forward to seeing where all of this leads you -- maybe a few good surprises! Thanks for taking some risks and sharing results
VERY interesting thread. I was just inquiring whether or not Wolfdale and Harpertown CPUs would work in a 1,1 or 2,1 Mac Pro. With what you’ve done, it now may be a possibility.

Also, once I get my hands on a X5687, I plan on installing it into my flashed, single CPU 4,1. An X5698 experiment is a little too expensive for me at the moment.
Thanks a kind forum member here (@Gamer9430 ) helped me to get a pair of (C0 stepping) L5410s, so those should arrive pretty soon and then ill be able to have a go at getting Harpertown working in my Mac Pro 1,1/2,1

keep us posting on the X5687 stuff I am eager to see how that turns out

I also had a look at a couple other BootROMs and noticed some interesting stuff like the iMac7,1 has no Penryn Microcode in it, it might explain why it reports weird CPU speeds to OS X when you install a Penryn CPU into said iMac. I wonder if adding Penryn Microcode would solve that issue (and the issue of the X9000 being stuck at the lowest multiplier when install in an iMac7,1) sadly I dont own an iMac7,1 to test this on (I would also like to try and flash an iMac7,1 with iMac8,1 firmware as they both share the same chipsets and have a very similar board layout)

I also confirmed the Mac Pro 3,1 lacks E0 Microcode so hopefully adding E0 stepping microcode to its Firmware would enable E0 stepping CPUs to work in the Mac Pro 3,1 (again one i cant personally test as of typing this due to a Lack of hardware, my Macintosh collection is mostly made up of PowerPC macs )
Last edited: Apr 11, 2018

Gamer9430

macrumors 68020
Apr 22, 2014 2,242 1,382 USA
from a Shady BootROM dealer somewhere in New Jersey IIRC

Thanks a kind forum member here has enabled me to get a pair of C0 stepping L5410s, so those should arrive pretty soon and then ill be able to have a go at getting Harpertown working in my Mac Pro 1,1/2,1,

keep us posting on the X5687 stuff I am eager to see how that turns out

I also had a look at a couple other BootROMs and noticed some interesting stuff like the iMac7,1 has no Penryn Microcode in it, it might explain why it reports weird CPU speeds to OS X when you install a Penryn CPU into said iMac. I wonder if adding Penryn Microcode would solve that issue (and the issue of the X9000 being stuck at the lowest multiplier when install in an iMac7,1) sadly I dont own an iMac7,1 to test this on (I would also like to try and flash an iMac7,1 with iMac8,1 firmware as they both share the same chipsets and have a very similar board layout)

I also confirmed the Mac Pro 3,1 lacks E0 Microcode so hopefully adding E0 stepping microcode to its Firmware would enable E0 stepping CPUs to work in the Mac Pro 3,1 (again one i cant personally test as of typing this due to a Lack of hardware, my Macintosh collection is mostly made up of PowerPC macs )
Hopefully those CPUs will help to further your research. They were pretty cheap, which would mean if successful, a lot of people could easily get Harpertown CPUs, install them, and once again extend the lives of their MP 1,1/2,1s, like myself
Hopefully those CPUs will help to further your research. They were pretty cheap, which would mean if successful, a lot of people could easily get Harpertown CPUs, install them, and once again extend the lives of their MP 1,1/2,1s, like myself
It may also motivate certain people to buy a 1,1/2,1

tpivette89

macrumors 6502a
Jan 1, 2018 Middletown, DE
keep us posting on the X5687 stuff I am eager to see how that turns out

I also confirmed the Mac Pro 3,1 lacks E0 Microcode so hopefully adding E0 stepping microcode to its Firmware would enable E0 stepping CPUs to work in the Mac Pro 3,1 (again one i cant personally test as of typing this due to a Lack of hardware, my Macintosh collection is mostly made up of PowerPC macs )
Got an offer on a X5687... so I'll keep you posted if it works out.

Would LOVE to see the E0 stepping pan out for the 3,1... as I already have the dual-core 3.4ghz X5272 in my 3,1, but would love to replace them with the quad-core versions.

Keep up the AMAZING work!

LightBulbFun

macrumors 68030

Original poster

Nov 17, 2013 2,708 2,905 London UK
Got an offer on a X5687... so I'll keep you posted if it works out.

Would LOVE to see the E0 stepping pan out for the 3,1... as I already have the dual-core 3.4ghz X5272 in my 3,1, but would love to replace them with the quad-core versions.

Keep up the AMAZING work!
Thanks sadly its probably going to be a while before anything MP3,1 happens since I dont actually own a MP3,1 sadly...
(nice work on the X5687 )


with any luck my Harpertown CPUs will arrive tomorrow and I can to work on getting Harpertown working in a MP1,1/2,1 I also confirmed that indeed the Mac Pro 1,1/2,1 also lacks Microcode at all for G0 stepping Woodcrest and clovertown CPUs so while those do boot the Mac Pro is actually running them without any microcode... (at least starting with mavericks OS X loads its own microcode on the fly) so while im working on Harpertown support I will also be working on enabling better G0 stepping Woodcrest/clovertown support for the Mac Pro 2,1

I was also thinking about Hacking in NVMe support into the Mac Pro 5,1 when I had a better idea

I wonder if its possible to build a normal PCIe to M.2 adapter board, but one that contains a small EEPROM/OptionROM that contains an NVMe (U)EFI driver that gets loaded at POST, I know its possible to load the NVMe (U)EFI driver from another hard drive then from the EFI boot OS X from the newly exposed NVMe drive on a Mac (IIRC someone has done this with an Xserve even), so it should be possible to embed that as an OptionROM on a PCIe adapter board... it would be a great way to get NVMe booting working on the Mac Pro 5,1 and would enable NVMe booting with no BootROM hacks

thats Just an idea/brainwave I had


Also interestingly the MBP5,5 contains intel Atom Microcode... Apple NetBook? the MacBook5,2 does not contain the atom microcode.
upload_2018-4-14_5-3-37.png
Last edited: Apr 13, 2018

flyinmac

macrumors 68040
Sep 2, 2006 3,578 2,462 United States
Appreciate the work you’re doing. I have my 1,1 (flashed 2,1) up on El Capitan. It would be wonderful if we could update these machines to support CPU’s with SSE 4.x. That would extend us beyond El Capitan

rawweb

macrumors 65816
Aug 7, 2015 1,115
Just clicked “watch thread”. @LightBulbFun this is the most interesting thing that’s come around in years. Keep up the great work.

Dr. Stealth

macrumors 6502a
Sep 14, 2004 SoCal-Surf City USA
Yes.... Finally a thread I can sink my teeth into ! Most interesting thread in a long time....

VanneDC

macrumors 6502a
Jun 5, 2010 Dubai, UAE

RyanXM

Contributor
Jul 7, 2012 DFW, TX
Can we say 12-Core Xserve3,1...?!? Same basic components as the MacPro4,1....
Reactions: LightBulbFun

Virus.Piotr

macrumors newbie
Apr 15, 2018 Warsaw
Hi. I have a pair of X54xx. I can make a check in Mac Pro 2,1 if that update of microcode works.

LightBulbFun

macrumors 68030

Original poster

Nov 17, 2013 2,708 2,905 London UK
Hi. I have a pair of X54xx. I can make a check in Mac Pro 2,1 if that update of microcode works.
Thanks for the offer but im good my L5410s should hopefully arrive tomorrow (they sadly did not arrive on Saturday) and I dont want to risk bricking anyone else mac...
Last edited: Apr 15, 2018

LightBulbFun

macrumors 68030

Original poster

Nov 17, 2013 2,708 2,905 London UK
so the L5410 Harpertown CPU arrived today

sadly the ebay seller Messed up and sent me 1 E0 stepping L5410 rather then the 2 C0 stepping CPUs that where actually ordered...

I still pressed on with trying to get it to work in my Mac Pro 1,1/2,1 (only thing is E0 throws another variable into the system considering E0 supposedly does not even work in 3,1s let alone 1,1/2,1s)

now im going to mention a couple of things before getting to actually fitting the L5410 and that is:

I noticed that with both the Xserve1,1 and my MacPro2,1, they both lack G0 Woodcrest/Clovertown Microcode yet both of them will happily boot with G0 stepping CPUs they just run with no microcode. (Stepping 11 is G0)
upload_2018-4-16_17-18-2.png
now the interesting thing is if I add G0 microcode to the EFI on both the Xserve1,1 and the Mac Pro1,1 they will both fail to POST and light up the CPU_HLT/CPU FAIL LEDs on their respective motherboards... if I remove the microcode it boots right up.

now onto the L5410 and Harpertown CPUs.

first test was Just installing the CPU into a unmodified Mac Pro 1,1-2,1.

interestingly I had read reports that this would result in the CPU over temp LED lighting up and thats it.

but what happened is the Machine turned on it did not POST or chime but no LEDs that should not be normally lit up where lit (the Over temp and CPU FAIL LEDs stayed off).

having confirmed that the Mac Pro as more or less expected does not work with the Harpertown CPU stock, I went about adding the E0 Harpertown Microcode (CPUID 1067A) into the Mac Pros EFI.

I then flashed it and rebooted with the X5355s to make sure I had not bricked anything Once I confirmed that I had not bricked anything I stuck the L5410 in...

moment of truth time. apply power stuff spins up ... ... CPU_FAIL LED lights up. f*ck... but interestingly this is diffrent from what the L5410s in the Mac Pro 1,1/2,1 did when there was no microcode for them in the EFI.


what im suspecting is happening is, since we deduced that the Mac Pro 2,1 will run/post with a CPU That has No microcode in the EFI. (another example of this is the iMac7,1 does not have any penryn Microcode but will work with Penryn CPUs)

I think that the Harpertown is actually trying to boot when in a stock Mac Pro 1,1/2,1 there just seems to be some sort of Hardware incompatibility stopping it from finishing POST but it does get far enough to Load Microcode if I have inserted it and fall over said microcode like the G0 CPUs do.

now the interesting thing is I vaguely remember reading a Mac Pro article where it mentioned that some people with the Intel V8 Motherboard (The Pre curser to SkullTrail) managed to hack in Harpertown Support via some Hardware mods.

sadly I cant find this article for love nor money, I would love to find out some more details on the mods they did to see if they can be Applied to the Mac Pro 1,1/2,1

it also brings back us back to what anadtech said here https://www.anandtech.com/show/2800/upgrading-and-analyzing-apple-s-nehalem-mac-pro
upload_2018-4-16_18-24-32.png
im really curious as to what those Hardware mods are (like the intel V8 board?) sadly anand works for Apple now IIRC, so I dont know if we could even contact him for details...


im also quite curious as to what a Genuine Mac Pro 2,1 Would do with harpertown CPUs since I know the Mac Pro 2,1s logic-board is slightly diffrent from the Mac Pro 1,1 Logic-board (thanks to @Surrat s detailed analysis of a real 2,1 Lobo) Remember that I (and a lot of other people) use 1,1 boards that are flashed to 2,1 Firmware, I also still need to Test out C0 CPUs in the 1,1/2,1 but at least I have an E0 Harpertown now for testing E0 Harpertowns in a Mac Pro 3,1 if i can get ahold of a MP3,1...

I hope this all makes sense! I may or may not have been awake for over 24 hours at the time of writing this up

basically TLDR is:

Harpertowns in 1,1/2,1 are still a no go but I think its just a hardware limitation we might be able to hack round.
Last edited: Apr 16, 2018

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK