Intel, AMD, VIA & Freescale CPU Microcode Repositories Discussion

Interesting. It’s because AMD started to use the “Checksum” field again, which was null/reserved for a decade now.

However, this field is no longer a Checksum but looks like another “Update Version”. Since this “Update Version” is smaller than the actual “Update Version”, this should be a “Minimum Version”, meaning the minimum required version for OS kernel late loading. Intel had also added that field 2.5 years ago.

An MCE update is needed to add support for the new “Minimum Version” field in place of the old “Checksum” one.

3 Likes

AMD may use this part again. With the exception of one microcode, all of them were released before March. The one released on April 15 does not use the mentioned part either.

!New_cpuB06A2_platE0_ver00004129_2025-02-24_PRD_8D4C3146
!New_cpuB06A3_platE0_ver00004129_2025-02-24_PRD_8D4C3145
!New_cpuB06A8_platE0_ver00004129_2025-02-24_PRD_8D4C3140

I am only attaching B06A2 as any if these MC will generate all others
!New_cpuB06A2_platE0_ver00004129_2025-02-24_PRD_8D4C3146.zip (219.3 KB)
using mcextractor

3 Likes

I missed it, but since I’ve already started doing it, then…

Raptor Lake-H/P/PX/U
cpuB06A2_platE0_ver00004129_2025-02-24_PRD_8D4C3146
cpuB06A3_platE0_ver00004129_2025-02-24_PRD_8D4C3145
cpuB06A8_platE0_ver00004129_2025-02-24_PRD_8D4C3140

Updated MCE.db (v1.101.0 r339 Dev)

Intel_250731.rar (479.7 KB)

2 Likes

here is my bodge

diff --git a/MCE.py b/MCE.py
index 75aed33..933f3a4 100644
--- a/MCE.py
+++ b/MCE.py
@@ -1775,8 +1775,11 @@ for in_file in source :
         else : mc_chk_ok = 0
         
         if mc_chk_ok != 0 :
-            msg_a.append(col_m + '\nWarning: Microcode #%d is corrupted!' % mc_nr + col_e)
-            mc_path = '%s!Bad_%s.bin' % (extr_dir_amd, mc_name)
+            if (int(year) >= 2025) and (str(cpu_id)[1:5] == str('%0.8X' % mc_chk)[0:4]):
+                mc_path = '%s%s.bin' % (extr_dir_amd, mc_name)
+            else :
+                msg_a.append(col_m + '\nWarning: Microcode #%d is corrupted!' % mc_nr + col_e)
+                mc_path = '%s!Bad_%s.bin' % (extr_dir_amd, mc_name)
         elif len(mc_data) < mc_len :
             msg_a.append(col_m + '\nWarning: Microcode #%d is truncated!' % mc_nr + col_e)
             mc_path = '%s!Bad_%s.bin' % (extr_dir_amd, mc_name)
4 Likes

@plutomaniac

Breithorn
cpu00B00F21_ver0B002151_2025-05-15_A196CC52
(cpu00B00F21_ver0B002151_2025-05-15_4B2CCCBE)

Epyc
cpu00B10F10_ver0B10104E_2025-05-15_C521F78E
(cpu00B10F10_ver0B10104E_2025-05-15_3694F7F9)

It occurred to me even then that those Checksum microcodes were just “accidents” when they appeared. Since they were not taken from the BIOS, I assume that they are not the default ones (xx xx xx xx), but ones that resemble earlier versions (00 00 00 00). I wonder what AMD has to say about this.

Updated MCE.db (v1.101.0 r340 Dev)

AMD_250805.rar (288.0 KB)

3 Likes

No, this further validates the assumption that these are “Minimum Versions” for late OS loading. The microcodes with that change were found at the Linux kernel git after all. When loading the microcode early (BIOS), this field does not matter.

Since we have now found identical variants with and without the new field, what I suspect is that AMD is releasing both, one for BIOS and another for OS kernels (Linux, Windows). Very stupid, if true, but maybe it’s because existing tooling has always known that field to be a checksum, so it’s for compatibility? No idea, would not really surprise me, though.

4 Likes

!New_cpu406F1_platEF_ver0B000041_2024-02-16_PRD_313D4056 extracted from here https://downloads.hpe.com/pub/softlib2/software1/pubfw-uefi/p1335283148/v254584/P89_3.40_08_29_2024.signed.flash

HPE ProLiant DL380 Gen9/DL360 Gen9

4 Likes

Intel.zip (3.9 MB)

from microcode-20250812 Release · intel/Intel-Linux-Processor-Microcode-Data-Files@4ded52b · GitHub

3 Likes

The previous one, in more detail.

Ice Lake-D
cpu606C1_plat10_ver010002E0_2025-03-06_PRD_20BEDFD1

Granite Rapids-SP
cpuA06D1_plat20_ver0A000100_2025-05-15_PRD_C7A23170
cpuA06D1_plat95_ver010003D0_2025-05-15_PRD_FCE3FE32

Lunar Lake-MX
cpuB06D1_plat80_ver00000123_2025-05-21_PRD_9A190EC7

Arrow Lake-H
cpuC0652_plat82_ver00000119_2025-05-14_PRD_C01648DC

Arrow Lake-S
cpuC0662_plat82_ver00000119_2025-05-14_PRD_C01648CC
cpuC0664_plat82_ver00000119_2025-05-14_PRD_C01648CA
cpuC06A2_plat82_ver00000119_2025-05-14_PRD_C016488C

Updated MCE.db (v1.101.0 r340 Dev)

Intel_250812.rar (3.1 MB)

3 Likes

Clearwater Forest
cpuD06D0_plat01_ver000002D1_2025-05-20_PRD_FA285CE0

First.

Intel_250816.rar (1.7 MB)

3 Likes

Granite Rapids-D
cpuA06E1_plat97_ver01000263_2025-05-29_PRD_E8912174

First.

& updated MCE.db (v1.101.0 r341 Dev)

Intel_250822.rar (1.8 MB)

3 Likes

Very interesting, here (https://www.intel.com/content/dam/develop/public/us/en/include/software-security/affected-processors-2025tab-february2025.html) it is sayd about newer microcodes, example 306F2 0x4A

2 Likes

This is indeed interesting, especially since this is a February table. The following CPUIDs are those for which only older microcode is currently available:

306F2 (49_2021-08-11)
306F4 (1A_2021-05-24)
50663 (1C_2021-06-12)
50664 (1A_2021-06-12)
506E3 (F2_2023-01-02)
90660 (09_2020-06-17)

An even more interesting question is where the newer versions are. :slight_smile:

1 Like

Lunar Lake-MX
cpuB06D1_plat80_ver00000121_2025-04-23_PRD_98D97B02 (old)

& updated MCE.db (v1.101.0 r341 Dev)

Intel_250827.rar (339.2 KB)

3 Likes

Arrow Lake-H
cpuC0652_plat82_ver0000011A_2025-06-30_PRD_A003CBD2

Arrow Lake-S
cpuC0662_plat82_ver0000011A_2025-06-30_PRD_A003CBC2
cpuC0664_plat82_ver0000011A_2025-06-30_PRD_A003CBC0
cpuC06A2_plat82_ver0000011A_2025-06-30_PRD_A003CB82

& updated MCE.db (v1.101.0 r341 Dev)

Intel_250829.rar (350.1 KB)

3 Likes

Shimada Peak
cpu00B00F81_ver0B008114_2025-05-15_6845E0A8

Granite Rapids-SP
cpuA06D1_plat20_ver0A000120_2025-07-23_PRD_0CDAB871
cpuA06D1_plat95_ver010003F0_2025-07-23_PRD_FBBF02F6

Sierra Forest
cpuA06F3_plat01_ver03000382_2025-07-30_PRD_319EF5CA

& updated MCE.db (v1.101.0 r343 Dev)

250917.rar (3.7 MB)

3 Likes

Breithorn
cpu00B00F21_ver0B002152_2025-06-16_3BF510FD

Turin-D
cpu00B10F10_ver0B10104F_2025-06-16_6C78DF2E

& updated MCE.db (v1.101.0 r344 Dev)

AMD_250929.rar (290.3 KB)

4 Likes