CPU Microcode BIOS modding questions/problems

For more performance numbers, this report from the Red Hat Performance Engineering team describes their research into the performance impact of various microcode and kernel patch combinations in a server environment: https://access.redhat.com/articles/3307751

You can easily skip to implement the “new” haswell binary
cpu000306c3_plat00000032_ver00000023_date20171120.bin
which is identical to
cpu306C3_plat32_ver00000023_2017-11-20_PRD_16535FE4.bin
and causes IRQ (CPU, WHEA) errors.
My 960 NVMe performance dropped from ~2.200MB/s to 1.500 and while an AS SSD benchmark you’ll get massive stuttering and CPU erros in HWinfo.

more about the instabilities here > http://www.overclock.net/t/1645289/haswe…ity-differences

I hope Intel manages to release some microcodes as far back as Westmere-EP at least. But even that far back seems inefficient of a response.

After a decade of near exclusively using Intel in my builds I think it’s time once again to jump ship for a few years. I been wanting to support AMD somehow and the Ryzen refresh seems like the perfect opportunity to do just that. My 1st generation Intel Xeon system is too old anyway.

Let there be microcodes, lol

Outdated AMD MC.
http://rgho.st/6K7SXc84B

SoniX
Microcode cpu00800F12 replaced cpu00800F10 & cpu00800F11 ? I cannot search the document cpuid AMD. (
And whether it is necessary to replace sections when changing a microcode: AmdVersionDxe, AmiAgesaDxe, AmdVersionPei, AmiAgesaPei, CpuPei, CpuSetAgesaPcd ?

https://drive.google.com/open?id=1VxOHCX…YT6hu6DvdoUag8t

cpu00660F00_ver06006012_2014-10-14_5FF7FE99.bin
cpu00660F01_ver06006118_2016-02-18_9718EBEF.bin
cpu00800F00_ver0800002A_2016-10-06_A3C03341.bin
cpu00800F10_ver0800100C_2017-01-31_72EA2E9B.bin
cpu00800F11_ver08001129_2017-07-14_4F426450.bin
cpu00800F12_ver08001207_2017-06-20_32DF1D11.bin
cpu00800F82_ver08008202_2017-10-03_B95D2272.bin
cpu00810F00_ver08100004_2016-11-20_70D8F43B.bin
cpu00810F10_ver08101007_2017-12-12_FACD50F0.bin

@ Prodif

Unfortunately, for AMD microcodes I can not say anything.

SoniX
To derive updated sections from the new version of Bios? Just I do not know on how many it correctly …
It is necessary to update old firmware of Asrock, ASUS will be a donor.

quick question:

for example, CPUID : 306A9 - what actual Intel CPU does this correspond to? Is it an coreI3, corei5 etc… thanks.

This might help? https://newsroom.intel.com/wp-content/uploads/sites/11/2018/02/microcode-update-guidance.pdf

I tried to read as much as possible but it seems I’m missing some info I desperately need.

Want to update and add microcode for non supported cpu on my mobo MSI x58 platinum.

I open the bios.rom in mmtool v3.26 then go to CPU PATCH tab, and for non existent Xeon cpu I insert patch data with downloaded file. Then save rom.

What happens now is some of modules RomLoc change and I don’t know if that is allowed or not.

Should RomLoc for modules always be exactly the same after making any changes?
If yes, what is the usual procedure to keep RomLocs the same? I guess I can delete one of older CPU patches with exact size. What if there is no other cpu patch with exact same size? Creating some dummy bin file or something?

EDIT: essentially i’m upgrading i7 920 to Xeon X5670, downloaded Xeon X5670 206C2_v_1D_Microcode FIX and will even update microcode for i7 920. Also I will probably update realtek orom and intel raid orom. So really need to know if RomLoc can change or not. Thanks for quick replies, I’m itching to put new chip into this mobo :smiley: Everything is ready, just need to mod bios.

EDIT 2: I proceeded with flashing bios even though RomLoc were different. Installed Xeon and after CMOS reset, everything seems to be working. Yay!

EDIT 3: The only issue I seem to have is high DPC latency that wasn’t there before with i7 920. It happens when I run programs like CPU-Z or OCCT (without even running stability test, only starting it up) Latencies go into 4000-5000s and should be in 1000s https://i.imgur.com/KMSRgJF.png

…continuation of previous post

After realizing my MSI x58 platinum has locked x20 uncore multiplier for Xeon X5670 I’m wondering is there any way to unlock it? I’ve read it might be unlocked in microcode update but I doubt it since I tried few suggested microcodes and flashed bios like that and verified they are being used and still uncore is locked at x20.

Maybe I’m wrong, any idea about unlocking uncore multi?

Maybe this method will be a bit easier, but one has to be sure it is for them

https://support.microsoft.com/en-us/help…crocode-updates

Hello,

I have modded my MSI Notebook Bios (GE60 2PC Apache) with Ubu to Haswell Microcode 0x24. Is it safe to flash it ?

I am typing this message on a laptop that has been running Haswell Microcode 24 for a couple of weeks.

I used UBU 14. I take it that you did not have the problems I am having where UBU 15 and 16 show the microcodes twice and update twice, throwing an incompatible file size error.

yes it has shown twice but there was no error. But i dont flash it. Will try other method.

I observed the same problem on my Haswell System with a 960 Pro: Massive SSD performance drop. This just sucks. The biggest problem for me is Windows as it is not possible to disable those patches.

Hi guys, I need your help, I’ve an ASUS M5A88V-EVO motherboard (AMI non-UEFI BIOS) and I can’t flash my modified BIOS, security message appears (signature problem) when I select the modified BIOS in the ASUS EZ-Flash 2 utility.

And of course, how can I update the microcodes for this Mobo???

Is there anything that I can do???

Thanks and Kind regards.

@RaskaipikaFWR -
Here’s an excellent tutorial on CPU microcode updating/modding using the non-UEFI AMI BIOS MMtool … http://wp.xin.at/archives/tag/microdecode

Read entire post first and you should be able to modify your non-UEFI ASUS board using MMtool with updated CPU Microcode without issue.

The key thing is that the KB size of the new microcode being added to your AMI BIOS via MMtool must be an even multiple of 2K,4K,6K,8K,10K,12K, etc. or you’ll get the dreaded “This is not a valid CPU Microcode patch file” when you try to embed Intel’s original binaries.

The link posted above will walk you through what you need to do. Good luck.

Adding to @rdrguy info, thanks! That is helpful guide for some, but only Intel users. AMD is different methods, of which I am not sure about, but I do know you can get all new latest microcodes, choose AMD or Intel
https://github.com/platomav/CPUMicrocodes

You may also need to try different versions of MMtool depending on the BIOS you are working on, I am not sure if we are allowed to post links to these tools here in public, so PM me if you need a package of all the versions I have.
Some only work on new BIOS, some only on old, with variants of each that only work in certain instances, so sometimes you might need to try open file in many MMTool’s before you find the right one that works for your BIOS at that time.

Also, here is two guides on how to flash modified BIOS files, Asus is specifically covered in first one
[Guide] How to flash a modded AMI UEFI BIOS
[Guide] Flashing modified AMI Aptio UEFI using AFU

Thank you so much for the info @rdrguy and @Lost_N_BIOS , first:

The ASUS M5AA88-V EVO is one of the lastest ASUS’s non-UEFI motherboards for the AM3+ plattform, like I said above, its last BIOS is dated 2013, and I’ve beeN able to modify the Option ROMs (LAN, AHCI and RAID) without problems and flash the MOD BIOS.

The problem is that I haven’t been able to find a guide to update the CPU microcodes in an AMD system (remember, AMI non-UEFI BIOS), because, the version of MMTOOL (3.26) that I using, doesn’t let me to add or update them.

I’ve tried to update the microcodes editing them with the HxD program but the result is that when I try to flash, the EZ Flash 2 app (from the BIOS) or AFUDOS, the integrity check fails and I can’t flash the BIOS. With MC Extract tool is easy to identify the correct Microcodes that I’ve to update, and find them in the repository is easuy too, but I don’t know how to add or replace them in the BIOS file.

Thank you so much guys for your help.