This includes information about the number of images and partitions present. The Image Header Table consists of a header followed by a linked list of image headers. Each image header is linked to the next through a pointer, allowing Bootgen to navigate through the images efficiently.
The following table contains generic information related to the PDI image.
| Offset | Name | Description |
|---|---|---|
| 0x0 | Version | 0x00010000 (v1.00) |
| 0x4 | Total Number of Images | Maximum 32 Images |
| 0x8 | Image header offset | Address to start of first Image header |
| 0xC | Total Number of Partition | Max 32 Partitions |
| 0x10 | Partition Header Offset | Offset to the start of partitions headers |
| 0x14 | Secondary boot device address |
Indicates the address where secondary image is present. This is only valid if secondary boot device is present in attributes |
| 0x18 | ID Code | Device ID code |
| 0x1C | Image Header Table Attributes | Refer to Versal AI Edge Series Gen 2 and Versal Prime Series Gen 2 Image Header Table Attributes |
| 0x20 | PDI ID | User defined field for information like revision. |
| 0x24 | Reserved | |
| 0x28 | Identification string |
Full PDI if present with boot header – “FPDI” Partial/Sub-system PDI – “PPDI” |
| 0x2C | Header sizes |
0 – 7: Image header table size in words 8 – 15: Image header size in words 16 – 23: Partition header size in words 24 – 31: Reserved |
| 0x30 | Total meta header length | Including Authentication and encryption overhead (excluding IHT and including AC) |
| 0x34 -0x3C | IV for encryption of headers | IV for decrypting (SecureHeader) of header table |
| 0x40 |
Encryption status 0x00000000 - Unencrypted 0xA5C3C5A3 - eFUSE Key 0xA5C3C5A5 - eFUSE Black Key 0xA5C3C5A7 - eFUSE Obfuscated Key 0x3A5C3C5A - BBRAM Key 0x3A5C3C59 - BBRAM Black Key 0x3A5C3C57 - BBRAM Obfuscated Key 0xA35C7C53 - Boot Header Black Key 0xA35C7CA5 - Boot Header Obfuscated Key |
Encryption key source, only key source used for PLM is valid for meta header |
| 0x44 | Extended ID Code | Extended ID Code |
| 0x48 | Hash block AC Offset of meta header | Holds authentication certificate offset of meta header Hash block |
| 0x4C – 0x54 | KEK IV of meta header | KEK IV of meta header KEK |
| 0x58 | Size of IHT Optional Data | Number of words in IHT Optional Data. This must be a multiple of 4 to align the optional data on 16 bytes. |
| 0x5C | Authentication Header | Hash algorithm selection and authentication algorithm |
| 0x60 | Hash block length | Hash block length for Meta header |
| 0x64 | Hash block offset | Meta header hash block offset |
| 0x68 | Total PPK Size | Includes key alignment length in case, else actual PPK size |
| 0x6C | Actual PPK Size | Actual PPK size |
| 0x70 | Total Hash block signature size | Hash block signature Size with padding to make it aligned |
| 0x74 | Actual Hash block signature size | Actual Hash block signature size |
| 0x78 | Reserved | 0x0 |
| 0x7C | Checksum | A sum of all the previous words in the image header table |