@@ -29,14 +29,31 @@ enum Container {
2929}
3030```
3131
32+ ## Intel ME Generation 2
33+
34+ With the second hardware generation, Intel ME based platforms have introduced
35+ a partitioning scheme called Flash Partition Table (FPT), starting with a ` $FPT `
36+ magic. There are code and data partitions, and the main code partition is called
37+ FTPR.
38+
39+ Code partitions start with a manifest that holds metadata over the modules
40+ contained in the partition, as a flat directory. Those modules are in part
41+ Huffman-encoded and chunked, and the Huffman tables are part of the mask ROM.
42+
43+ The overall manifest format is header + signature + data. The data part lists
44+ the modules with their offsets, sizes and hashes, so that the manifest covers
45+ the whole partition's integrity.
46+
3247## Intel ME Generation 3
3348
3449With the third hardware generation of Intel ME based platforms, a new operating
35- system was introduced, based on MINIX 3. It needs bootstrapping first.
50+ system was introduced, based on MINIX 3. It needs bootstrapping first, starting
51+ with phases called RBE (ROM Boot Extensions) and bup (bringup).
3652
3753There are multiple kinds of partitions, including Code Partition Directory (CPD)
3854partitions. Those contain executables, their corresponding metadata files, and a
39- manifest that holds a signature over the manifest.
55+ manifest that holds a signature over the header before it and its other data.
56+ The manifest format with the header and signature is the same as for Gen 2.
4057
4158The signed data in the manifest includes hashes of the metadata files and other
4259things, so that the manifest suffices to verify the entire CPD's integrity.
0 commit comments