9-58 Vol. 3
PROCESSOR MANAGEMENT AND INITIALIZATION
Description
The BIOS is responsible for selecting an appropriate update block in the non-volatile
storage for storing the new update. This BIOS is also responsible for ensuring the
integrity of the information provided by the caller, including authenticating the
proposed update before incorporating it into storage.
Before writing the update block into NVRAM, the BIOS should ensure that the update
structure meets the following criteria in the following order:
1. The update header version should be equal to an update header version
recognized by the BIOS.
2. The update loader version in the update header should be equal to the update
loader version contained within the BIOS image.
3. The update block must checksum. This checksum is computed as a 32-bit
summation of all double words in the structure, including the header, data, and
processor signature table.
The BIOS selects update block(s) in non-volatile storage for storing the candidate
update. The BIOS can select any available update block as long as it guarantees that
only a single update exists for any given processor stepping in non-volatile storage.
If the update block selected already contains an update, the following additional
criteria apply to overwrite it:
• The processor signature in the proposed update must be equal to the processor
signature in the header of the current update in NVRAM (Processor Signature +
platform ID bits).
• The update revision in the proposed update should be greater than the update
revision in the header of the current update in NVRAM.
If no unused update blocks are available and the above criteria are not met, the BIOS
can overwrite 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 step
-
pings that currently exist in the system.
CPU_NOT_PRESENT The processor stepping does not currently exist in the
system.
INVALID_HEADER The update header contains a header or loader version
that is not recognized by the BIOS.
INVALID_HEADER_CS The update does not checksum correctly.
SECURITY_FAILURE The processor rejected the update.
INVALID_REVISION The same or more recent revision of the update exists in
the storage device.
Table 9-14. Parameters for the Write Update Data Function (Contd.)
Input