Firmware Interface Table

BIOS Specification

ID 599500
Date 04/14/2023
Intel Confidential

A newer version of this document is available. Customers should click here to go to the newest version.

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.

Note:It is recommended to place FIT at a fixed address in the BIOS. This will help making FIT Pointer static.

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.