Intel IA-32 User Manual
Page 432
9-58 Vol. 3A
PROCESSOR MANAGEMENT AND INITIALIZATION
If no unused update blocks are available and the above criteria are not met, the BIOS can over-
write update block(s) for a processor stepping that is no longer present in the system. This can
be done by scanning the update blocks and comparing the processor steppings, identified in the
MP Specification table, to the processor steppings that currently exist in the system.
Finally, before storing the proposed update in NVRAM, the BIOS must verify the authenticity
of the update via the mechanism described in Section 9.11.6, “Microcode Update Loader.” This
includes loading the update into the current processor, executing the CPUID instruction, reading
MSR 08Bh, and comparing a calculated value with the update revision in the proposed update
header for equality.
When performing the write update function, the BIOS must record the entire update, including
the header, the update data, and the extended processor signature table (if applicable). When
writing an update, the original contents may be overwritten, assuming the above criteria have
been met. It is the responsibility of the BIOS to ensure that more recent updates are not over-
written through the use of this BIOS call, and that only a single update exists within the NVRAM
for any processor stepping and platform ID.
Figure 9-8 and Figure 9-9 show the process the BIOS follows to choose an update block and
ensure the integrity of the data when it stores the new microcode update.