From 10aff1acdb244b2a4e719fadefd103fa256fb8f5 Mon Sep 17 00:00:00 2001 From: Daniel Maslowski Date: Sat, 29 Nov 2025 16:19:30 +0100 Subject: [PATCH] docs/unpacking: document IFWI for Gen 3 Signed-off-by: Daniel Maslowski --- docs/unpacking.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/docs/unpacking.md b/docs/unpacking.md index d523271..872c85c 100644 --- a/docs/unpacking.md +++ b/docs/unpacking.md @@ -66,3 +66,31 @@ utilities for unpacking: - - + +### Integrated Firmware Image + +A variant of ME gen 3 firmware exists based on a different layout, as described +in the Atom E3900 series platform enabling guide[^1]: + +> The IFWI region in SPI flash physically follows the SPI Flash Descriptor +> Region. It contains all platform firmware components and device firmware +> components. + +> The IFWI region is divided into two Logical Boot Partitions, which are +> identical in size. The Logical Boot Partition layout is defined by the Boot +> Partition Descriptor Table (BPDT) at the head of the Logical Boot Partition. + +There are multiple IFWI data structures, and some do not have a magic to detect, +so parsing them is not trivial. ME Analyzer has a lot of logic[^3] for them. +In some cases, the FPT is located right after the IFWI. + +The BPDT entries mostly point to CPDs, including the FTPR. +Some BPDT entries may point to the FPT. + +Samples: +- BPDT v1: Google "Coral" Chromebook +- BPDT v2: System76 Lemur Pro 10 (Tigerlake), Gigabyte Z590[^2] + +[^1]: +[^2]: +[^3]: