Firmware Interface Table

BIOS Specification October 2022 Revision 1.4

ID 599500
Date 10/01/2022
Intel Confidential
Document Table of Contents

Firmware Interface Table

Each entry in the Firmware Interface Table is 16 bytes in length. Generic FIT entry format is described below.

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

Table 1. Generic 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 1-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.

Note:FIT Entries are not required to support the above generic format. Custom formats are permitted and are intensively used. Custom formats are described in dedicated sections.

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

Platform Boot Policy Entry

0x05

Intel Reserved

0x06

FIT Reset State Entry

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 – 0x19

Intel Reserved

0x1A

Vendor Authorized Boot Provisioning Table

0x1B

Vendor Authorized Boot Key Manifest

0x1C

Vendor Authorized Boot Image Manifest

0x1D

Vendor Authorized Boot Image Hash Descriptors

0x1E - 0x2B

Intel Reserved

0x2C

SACM Debug Record

0x2D

Feature Policy Delivery Record. Deprecated in CBnT platforms.

0x2E

Granular SCRTM Error Record

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.