[Guide] Insyde CPU Microcode Update

Disclaimer: This method has not been tested yet. I discovered it while messing around “Non-UEFI Data” (which should be “Volume Free Space” when the Full-Size Raw Header is correct). Additionally, I do not have the device for testing.


NOTE : This Guide only covers the structure microcode like this picture below. For padding area, refer to this thread.

Raw Header and Volume Free Space


What we are going to do here is adjust the Volume Free Space by editing the full-size Raw Header. When adding, deleting, or updating microcode of a different size, we need to increase or decrease the Body Size area accordingly. This method has additional advantages for newer Insyde devices and Intel Boot Guard-enabled systems (as Microcode and FIT are outside Boot Guard coverage), especially since UEFITool sometimes breaks the FIT Table.


what we need:

Microcode Hex View

INTEL

AMD


STEP1

search

Load the full BIOS in a hex editor, then press “CTRL + F” to search for the first row of microcode (signature and date) in the FIT Table using the Hex view in UEFITool NE. You should now see the Raw Header, as shown in the “Raw Header and Volume Free Space” image.


STEP2

After adding, deleting, or updating the microcode in the Body Size area, don’t forget to add or delete FF in the Volume Free Space area to ensure the full BIOS size remains unchanged. Then, go back to the Raw Header, where we need to adjust the “Full Size” by recalculating it as the sum of the “Body Size (microcode area)” + “Header Size (always 18(?))”. Use the Programmer Calculator in Hex mode for this step. Afterward, save the file and reopen it in UEFITool NE.

here are bad example editing.


The full size Raw header has more space FF at the end microcode that should’nt be. (incorrectly full size on the Raw header)


Some part of the end microcode in Volume free space area. (incorrectly full size on the Raw header)


STEP3

Now we need to fix the FIT Table by clicking on the Intel microcode with the broken FIT. More information about the FIT Table can be found here.



STEP4

After completing all the processes correctly, the final step is to fix the checksum in the Raw Header and FIT Table. Simply toggle it to “Parser” in UEFITool NE.

2 Likes

Could this method be used to re-enable undervolting on certain cpu’s?

No, what do you mean by re-enabling undervolting? I didn’t get it lol.

@karfel I think they may be referring to Intel’s decision to stop systems from having the ability to boot with an undervolt, usually via software that sets a vcore offset.

Intel disclosed a vulnerability in 2019 (INTEL-SA-00289).

This vulnerability (CVE-2019-11157 AKA Plundervolt) was patched via Intel microcode and BIOS patching for 6th Gen up to 11th Gen which blocked access to Intel Software Guard Extensions (SGX) which Plundervolt exploited.

As a result of the patches Intel Extreme Tuning Utility (XTU) and Throttlestop are no longer able to access the Machine State Registers (MSR) that control vcore offset.

12th Gen and later don’t have SGX but Intel made a decision to stop all runtime undervolting via a feature called ‘Dynamic Overclocking Undervolt Protection’.

There are guides around for re-enabling undervolting for 8th-11th Gen (and another here).

For 12th Gen onward I’d suggest reading this.

2 Likes