Note that this thread will be updated from Plutomaniac’s Github when I have time, if you want to test the latest microcode and it isn’t here then you can still download the latest file(s) from Github.
The Microcodes have been sorted into folders that are labeled by CPUID.
To find your specific CPU folder use the search box at the top of the Mega folder to enter your CPUID e.g.
Intel has subfolders for each Platform ID (i.e. 0906A4_40, 0906A4_80, 0906A4_C3), please make sure to use the same Platform ID for compatibility when swapping/updating microcodes in your BIOS.
In some cases you can use a higher Platform ID but this is not guaranteed!
WARNING: Replacing a working microcode + Platform ID with a non-compatible Platform ID can result in a POST (Power On Self Test) failure which may require BIOS recovery with a hardware programmer! Be careful!
Here is some helpful information taken directly from plutomaniac’s Github readme to help understand Platform ID on Intel systems:
Platform (Intel only)
Provides information about the supported sockets (LGA775, LGA1366 etc) or platform types (Desktop, Mobile etc) depending on CPU generation.
Up to 8 supported Platforms, encoded in Little Endian binary form (bitfield).
When updating to another microcode, ensure that at least the same or more Platforms are supported. You can use MC Extractor to check each Intel microcode’s supported Platforms.
Example: Changing from 0x5C (2,3,4,6) to 0x5D (0,2,3,4,6) is okay, due to the additionally included platform “0”.
To not risk losing socket/platform support, avoid reducing the supported platforms.
Example: Changing from 0x5C (2,3,4,6) to 0x58 (3,4,6) might not be okay due to the missing platform “2”.
If you cannot find the exact CPUID & Platform combo at the repository, as the one you currently have, it might be because there is another microcode with the same CPUID but with more supported Platforms.
Example: Microcodes with CPUID 0x906E9 & Platform 0x22 (1,5) were superseded by CPUID 0x906E9 & Platform 0x2A (1,3,5) in order to add LGA2066 socket/HEDT platform type support at KBL(-X).
Null Platform (0x00) is implicitly the same as single Platform (0x01), since at least one platform must be supported.
The README at the CPUMicrocodes github repo explains the naming of each Intel, AMD, VIA microcode as well as how to use the Intel Platform ID correctly:
Feel free to copy it here, if you think it will make things easier to understand.
This is amazing, new refreshing post for Microcodes are always welcomed!
I use it mainly to convert from .bin–>.dat so that I can use it with VMware CPU Microcode Update Driver on any windows without needing to mess with the BIOS. Safest thing to update microcode.
Here’s an example… this is old microcode that came with the BIOS
I have a question about the Intel microcode update, my processor is i5-7200U, laptop is Acer Aspire F5-573G, I came across a thread about the “safe” processor microcode update, my microcode version is B4
the question is whether it will fit the acer aspire f5-573G and I would like to ask which version of the file should be uploaded and what is pla10 and platC0 about because I don’t understand it
You know that you have a Kaby Lake-U processor (i5-7200U) so your only option is to use C0 which is what is in the BIOS you linked for v1.51.
Microcode versions released after B4 will have a performance penalty as Intel attempted to add more security patches - personally I wouldn’t worry about updating it to the latest.
@chinobino
I’ll ask again because as I remember, the BIOS update for my laptop model from 1.27 to 1.51 always had the processor microcode version B4. Can switching from B4 to F6 cause anything other than a drop in performance, for example with the BIOS? I’m asking because I’ve never done it and I recently discovered VMware CPU Microcode Update Driver, which as @THEBOSS wrote, can be updated without having to tinker with the BIOS. You also added that “personally I wouldn’t worry about updating to the latest version.” So I understand that the B4 microcode version that is in the BIOS is safe and ok.
@martin4562 You can update to F6 if you want to, the performance decrease is determined by workloads that use specific instructions e.g. The Downfall exploit (CVE-2022-40982) effects SGX which is enabled on many Intel machines by default. According to Intel:
Intel® SGX is designed to protect data in use with isolation, encryption, and attestation capabilities to help guard against threats while also allowing users to maintain control of and use of their data.
there’s a potential claimed performance impact of up to 50% on AVX2 and AVX-512 workloads involving the Gather instruction.
The problem with using the VMware CPU Microcode Update Driver:
The big issue with the VMWare solution is that currently the OS mitigations are not enabled. On boot, the kernel is started and does a CPUID check. The BIOS microcode is loaded at this point, and fails the HW mitigation check, and the OS disables the support. THEN the VMWare driver is loaded.
We would need to see if we can force the OS level support to be enabled in conjunction with the VMWare driver loaded.
So while the newer microcode is ‘running’ the OS mitigations aren’t, which defeats the whole purpose of updating the microcode for increased security.
I can understand why THEBOSS would want the latest microcode for their 13th Gen system as the microcode effects CPU voltage but for older CPUs this method may not be practical.