1# Intel Firmware Interface Table 2 3The FIT allows to run code before the actual IA32 reset vector is executed 4by the CPU. The FIT resides in the BIOS region (usually near the reset vector) 5and is pointed to by the FIT pointer residing at `0xFFFFFFC0`. 6 7## Table layout 8The table consists of blocks each 16 bytes in size. 9The first is called *FIT header* the other are called *FIT entry*. 10 11![FIT in x86 memory map][fit] 12 13[fit]: fit.svg 14 15## Fit types 16 17Each entry has a *type* that give the other bits in the entry a different 18meaning. The following types are known: 19 20```{eval-rst} 21+-----------+------------------------------------------------------------------+ 22| no. | Description | 23+===========+==================================================================+ 24| 0x0 | HEADER. | 25+-----------+------------------------------------------------------------------+ 26| 0x1 | MICROCODE. | 27+-----------+------------------------------------------------------------------+ 28| 0x2 | STARTUP_ACM. | 29+-----------+------------------------------------------------------------------+ 30| 0x7 | BIOS_STARTUP_MODULE. | 31+-----------+------------------------------------------------------------------+ 32| 0x8 | TPM_POLICY. | 33+-----------+------------------------------------------------------------------+ 34| 0x9 | BIOS_POLICY. | 35+-----------+------------------------------------------------------------------+ 36| 0xa | TXT_POLICY. | 37+-----------+------------------------------------------------------------------+ 38| 0xb | KEY_MANIFEST. | 39+-----------+------------------------------------------------------------------+ 40| 0xc | BOOT_POLICY_MANIFEST. | 41+-----------+------------------------------------------------------------------+ 42| 0x10 | CSE_SECURE_BOOT. | 43+-----------+------------------------------------------------------------------+ 44| 0x2d | TXTSX_POLICY. | 45+-----------+------------------------------------------------------------------+ 46| 0x2f | JMP_DEBUG_POLICY. | 47+-----------+------------------------------------------------------------------+ 48| 0x7f | SKIP. | 49+-----------+------------------------------------------------------------------+ 50``` 51 52## Usage in coreboot 53 54The most common usage of FIT is to use *Type1* to update microcode before 55execution of the IA32 reset vector happens. 56 57## References 58 59```{toctree} 60:maxdepth: 1 61 62Intel TXT LAB handout <https://downloadmirror.intel.com/18931/eng/Intel%20TXT%20LAB%20Handout.pdf> 63FIT BIOS specification <https://www.intel.com/content/dam/www/public/us/en/documents/guides/fit-bios-specification.pdf> 64``` 65