@Sleinous - I need to update that FIT Guide, there is a MUCH easier way to get the values you need now, I just never have time to update it yet!
UEFITool NE Alpha version 51 or above, shows each microcode individually and each ones “header Address” which is what you use (backwards / Little Endian) instead of all the math from the original guided method
MMTool loads uCodes as you feed, so if you leave some in, the new will be inserted under that. If updating them all, I always leave one, then remove all below it, then insert the newer one of the last remaining, then delete it (same method used to ensure whichever you want is first/at top)
Watch out for microcode volumes in PEI BIOS volumes, replace those microcodes only by direct hex edit (and then fix checksum for that module) or by MMTool only, unless forced to use UEFITool (and then only use version 25)
Also watch for padding above/below microcode modules and FIT module, if they are there in stock they must be there when you are done. If they are missing in stock they should not be added when you are done.
Also be careful with MMTool when adding or removing micrcode and seeing incorrect info as you noted, sometimes this means it’s breaking the BIOS and you need to use some other method.
There should be no trial and error, add as needed, remove as needed to sort order, but don’t dance around some info/version/date issue because that means it’s breaking something.
The above linked microcode - cpu906ED_plat22_ver000000D2_2020-01-09_PRD_02ACFA7D.bin << IS correctly dated (2020), see image below
You may need to update or downgrade ME FW too for certain CPU’s, but you can only do this within same major family (ie you can’t update V10 to V11, or downgrade V12 to V11)
This, and microcodes is also not always the only things that make a CPU compatible with a board or BIOS, sometimes hardware revision is made/needed (can be as tiny as a single resistor added or removed etc), other times they directly block CPU in BIOS
So, don’t expect this is for sure all you need to do and CPU will magically work. Sometimes though, yes, this is all that’s needed (microcode)
What you asked about in regards to the various volumes (like 0A only having three entries), this is normal, these are all different BIOS volumes. Open BIOS in UEFITool and you will see as you expand the volumes.
I grabbed your dumped BIOS and updated all microcodes (+ Added 2 you wanted added) and had no issues or dancing around problems with MMTool, CPUID and all info always matches what I inserted
So all microcodes 906EA/B/C/D = 1-9-2020 version - I then corrected FIT (properly) once done, since MMTool messes it up almost always. (Wow, did not need to do, MMTool did perfectly, so rare!)
Version 5.02.0024 was used - If you want this file to use, or to inspect etc, let me know and I will upload for you
Be VERY careful what you edit in this BIOS, I see at the BIOS side Intel Boot Guard profile #5 FVME is enabled, so I assume Measured or Verified Boot is enabled and key burned into the PCH FPF fuses, so you can ONLY edit areas of the BIOS not colored when looking at BIOS with UEFITool NE Alpha 51 or above)
This can be confirmed with this command, ran from V12 ME Info from the ME System tool v12 package (link below, tools in section “C”) >> MEInfowin.exe -verbose << Look at bottom of that report, if you see Measured or Verified boot Yes on the left/FPF side then heed this warning or = brick BIOS
Intel Management Engine: Drivers, Firmware & System Tools
UEFITool 25 (v25.1 is not V25, go to next page) and 51+ NE Alpha (A57 is latest Alpha) all available here in the “releases” tab at top/middle
https://github.com/LongSoft/UEFITool
@stovorsen - FIT Tables should always be corrected when present in BIOS, otherwise microcodes often do not load properly
But, not all BIOS use FIT, those that do, if you see it blank/empty fix it