TianoCore EDK2 master
CPU_MICROCODE_HEADER Struct Reference

#include <MdePkg/Include/Register/Intel/Microcode.h>

Data Fields

UINT32 HeaderVersion
 
UINT32 UpdateRevision
 
CPU_MICROCODE_DATE Date
 
CPU_MICROCODE_PROCESSOR_SIGNATURE ProcessorSignature
 
UINT32 Checksum
 
UINT32 LoaderRevision
 
UINT32 ProcessorFlags
 
UINT32 DataSize
 
UINT32 TotalSize
 
UINT8 Reserved [12]
 

Detailed Description

Microcode Update Format definition

Definition at line 54 of file Microcode.h.

Field Documentation

◆ Checksum

UINT32 CPU_MICROCODE_HEADER::Checksum

Checksum of Update Data and Header. Used to verify the integrity of the update header and data. Checksum is correct when the summation of all the DWORDs (including the extended Processor Signature Table) that comprise the microcode update result in 00000000H.

Definition at line 93 of file Microcode.h.

◆ DataSize

UINT32 CPU_MICROCODE_HEADER::DataSize

Specifies the size of the encrypted data in bytes, and must be a multiple of DWORDs. If this value is 00000000H, then the microcode update encrypted data is 2000 bytes (or 500 DWORDs).

Definition at line 113 of file Microcode.h.

◆ Date

CPU_MICROCODE_DATE CPU_MICROCODE_HEADER::Date

Date of the update creation in binary format: mmddyyyy (e.g. 07/18/98 is 07181998H).

Definition at line 72 of file Microcode.h.

◆ HeaderVersion

UINT32 CPU_MICROCODE_HEADER::HeaderVersion

Version number of the update header

Definition at line 58 of file Microcode.h.

◆ LoaderRevision

UINT32 CPU_MICROCODE_HEADER::LoaderRevision

Version number of the loader program needed to correctly load this update. The initial version is 00000001H

Definition at line 98 of file Microcode.h.

◆ ProcessorFlags

UINT32 CPU_MICROCODE_HEADER::ProcessorFlags

Platform type information is encoded in the lower 8 bits of this 4- byte field. Each bit represents a particular platform type for a given CPUID. The BIOS uses the processor flags field in conjunction with the platform Id bits in MSR (17H) to determine whether or not an update is appropriate to load on a processor. Multiple bits may be set representing support for multiple platform IDs.

Definition at line 107 of file Microcode.h.

◆ ProcessorSignature

CPU_MICROCODE_PROCESSOR_SIGNATURE CPU_MICROCODE_HEADER::ProcessorSignature

Extended family, extended model, type, family, model, and stepping of processor that requires this particular update revision (e.g., 00000650H). Each microcode update is designed specifically for a given extended family, extended model, type, family, model, and stepping of the processor. The BIOS uses the processor signature field in conjunction with the CPUID instruction to determine whether or not an update is appropriate to load on a processor. The information encoded within this field exactly corresponds to the bit representations returned by the CPUID instruction.

Definition at line 85 of file Microcode.h.

◆ Reserved

UINT8 CPU_MICROCODE_HEADER::Reserved[12]

Reserved fields for future expansion.

Definition at line 124 of file Microcode.h.

◆ TotalSize

UINT32 CPU_MICROCODE_HEADER::TotalSize

Specifies the total size of the microcode update in bytes. It is the summation of the header size, the encrypted data size and the size of the optional extended signature table. This value is always a multiple of 1024.

Definition at line 120 of file Microcode.h.

◆ UpdateRevision

UINT32 CPU_MICROCODE_HEADER::UpdateRevision

Unique version number for the update, the basis for the update signature provided by the processor to indicate the current update functioning within the processor. Used by the BIOS to authenticate the update and verify that the processor loads successfully. The value in this field cannot be used for processor stepping identification alone. This is a signed 32-bit number.

Definition at line 67 of file Microcode.h.


The documentation for this struct was generated from the following file: