1 # Intel TXT Initial Boot Block
3 The Initial Boot Block (IBB) consists out of one or more files in the CBFS.
7 The IBB must follow the following constrains:
8 * One IBB must contain the reset vector as well as the [FIT table].
9 * The IBB should be as small as possible.
10 * The IBBs must not overlap each other.
11 * The IBB might overlap with microcode.
12 * The IBB must not overlap the BIOS ACM.
13 * The IBB size must be a multiple of 16.
14 * Either one of the following:
15 * The IBB must be able to train the main system memory and clear all secrets.
16 * If the IBB cannot train the main system memory it must verify the code
17 that can train the main system memory and is able to clear all secrets.
21 To add the IBBs to the [FIT], all CBFS files are added using the `cbfstool`
22 with the `--ibb` flag set.
23 The flags sets the CBFS file attribute tag to LE `' IBB'`.
25 The make system in turn adds all those files to the [FIT] as type 7.
27 ## Intel TXT measurements
29 Each IBB is measured and extended into PCR0 by [Intel TXT], before the CPU
30 reset vector is executed.
31 The IBBs are measured in the order they are listed in the [FIT].
37 [fit_ibb]: fit_ibb.svg
38 [FIT]: ../../soc/intel/fit.md