Firmware Interface Table
Each entry in the Firmware Interface Table is 16 bytes in length. A valid entry will contain all the required fields as defined below.
Table 1. FIT Entry Format
Byte Offsets | 15 | 14 | 13:12 | 11 | 10:8 | 7:0 |
Meaning | Chksum | Bit 7 - C_V Bits 6:0 - Type | Version | Reserved | Size | Address |
ADDRESS - Address is the base address of the firmware component and must be aligned on 16-byte boundary.
SIZE - Size is the span of the component in multiple of 16 bytes.
VERSION - Version contains the component's version number in binary coded decimal (BCD) format. For the FIT header entry, the value in this field will indicate the revision number of the FIT data structure. The upper byte of the revision field indicates the major revision and the lower byte indicates the minor revision. The format 0x1234 conveys the major number encoded in the first two digits and the minor number in the last two with a fixed point assumed in between.
C_V - Checksum Valid bit. This is a one bit field that indicates, whether component has a valid checksum. CPU must ignore CHKSUM field, if C_V bit is not set.
TYPE - 7 bit field containing the type code for the component registered in the FIT table. The type field encoding is defined in Table below.
CHKSUM - 1 byte field containing the component's checksum. The modulo sum of all the bytes in the component and the value in this field (CHKSUM) must add up to zero. This field is only valid, if the C_V flag is non-zero. Support for checksum is optional.
RESERVED: All reserved bit fields must be set to 0.
Table 2. FIT Entry Type Field Definitions
FIT Entry Type | Description (Intel® 64 and IA-32 Architectures) |
0x00 | FIT Header Entry |
0x01 | Microcode Update Entry |
0x02 | Startup AC Module Entry |
0x03 | Diagnostic AC Module Entry |
0x04 to 0x06 | Intel Reserved |
0x07 | BIOS Startup Module Entry |
0x08 | TPM Policy Record |
0x09 | BIOS Policy Record |
0x0A | TXT Policy Record |
0x0B | Key Manifest Record |
0x0C | Boot Policy Manifest |
0x0D - 0x0F | Intel Reserved |
0x10 | CSE Secure Boot |
0x11 - 0x2C | Intel Reserved |
0x2D | Feature Policy Delivery Record |
0x2E | Intel Reserved |
0x2F | JMP $ Debug Policy |
0x30 - 0x70 | Reserved for Platform Manufacturer Use |
0x71 - 0x7E | Intel Reserved |
0x7F | Unused Entry (skip) |
Intel Reserved Entries are reserved for Intel usage only.
Platform Manufacturer Use Reserved Entries are reserved for Platform Manufacturer specific usage. These entries are not checked by the processor.
Unused Entry (Type 0x7F) - FIT Type “0x7F” means “Unused entry”. “Unused entry” refers to FIT entry that exists but has no meaningful contents. It serves as a “reserved” or an “invalid” entry, which may be updated later or had been invalidated without having to change the total number of FIT entries (like a deleted record).
The FIT processing code always skips the unused entry and moves on to the next record.