Versal AI Edge Gen 2 and Versal Prime Gen 2 Partition Header - 2025.1 English - UG1283

Bootgen User Guide (UG1283)

Document ID
UG1283
Release Date
2025-05-29
Version
2025.1 English

The Partition Header specifies the start and end addresses of each partition within the boot image. This helps in accurately locating and loading the partitions during the boot process.

Table 1. Versal AI Edge Series Gen 2 and Versal Prime Series Gen 2 Partition Header
Offset Name Description
0x0 Partition Data Word Length Encrypted partition data length
0x4 Extracted Data Word Length Unencrypted data length
0x8 Total Partition Word Length (Includes Authentication Certificate) The total encrypted + padding + expansion +authentication length
0xC Next Partition header offset Offset of next partition header
0x10 Destination Execution Address (Lower Half) The executable address of this partition after loading.
0x14 Destination Execution Address (Higher Half) The executable address of this partition after loading.
0x18 Destination Load Address (Lower Half) The RAM address into which this partition is to be loaded. For elf files Bootgen automatically reads from elf format. For RAW data users has to specify where to load it. For CFI and Config data it should be 0xFFFF_FFFF
0x1C Destination Load Address (Higher Half) The RAM address into which this partition is to be loaded. For elf files Bootgen will automatically read from elf format. For RAW data users has to specify where to load it. For CFI and Config data it should be 0xFFFF_FFFF
0x20 Data Word Offset in Image The position of the partition data relative to the start of the boot image.
0x24 Attribute Bits See Partition Attributes Table
0x28 Section Count If image type is elf, it says how many more partitions are associated with this elf.
0x2C Checksum Word Offset The location of the checksum word in the boot image.
0x30 Partition ID Partition ID
0x34 Hash block Authentication Certification Word Offset The location of the Hash block Authentication Certification in the boot image when authentication exists and is zero if authentication is not enabled
0x38 – 0x40 IV IV for PH’s Secure header
0x44 Encryption Key select

Encryption status :

0x00000000 – Unencrypted

256-bit key sizes

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

128 and 256 bit key sizes

0x5C3CA5A3 - eFUSE User Key 0

0x5C3CA5A5 - eFUSE User key 0 Black

0x5C3CA5A7 - eFUSE User key 0 Obfuscated

0xC3A5C5A3 - eFUSE User Key 1

0xC3A5C5A5 - eFUSE User key 1 Black

0xC3A5C5A7 - eFUSE User key 1 Obfuscated

0xC5C3A5A3 - User Key 0

0xC3A5C5B3 - User Key 1

0xC5C3A5C3 - User Key 2

0xC3A5C5D3 - User Key 3

0xC5C3A5E3 - User Key 4

0xC3A5C5F3 - User Key 5

0xC5C3A563 - User Key 6

0xC3A5C573 - User Key 7

0x48 IV for KEK decryption IV for decrypting black or obfuscated key
0x54 Partition revocation ID Revocation ID for partition which is valid in case of image is in encrypted format
0x54 Partition revocation ID Revocation ID for partition which is valid in case of image is in encrypted format
0x58 Measured Boot Address Single Byte Measured Boot Address
0x5C Authentication Header Hash algorithm selection and authentication algorithm
0x60 Hash block length Hash block length for Partition
0x64 Hash block offset Partition 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 0
0x7C Header Checksum A sum of the previous words in the Partition Header

Partition Header Table Attribute

The following table lists the partition header table attributes.

Table 2. Partition Header Table Attribute
Bit Field Name Description
31:29 Destination Cluster

0 - A78 Cluster 0 (or) R52 Cluster 0

1 - A78 Cluster 1 (or) R52 Cluster 1

2 - A78 Cluster 2 (or) R52 Cluster 2

3 - A78 Cluster 3 (or) R52 Cluster 3

4- R52 Cluster 4

28:27 DPA CM Enable

0x00 – Disabled

0x11 – Enabled

26:24 Partition Type

0 – Reserved

1 - elf

2 - Configuration Data Object

3 - Cframe Data (PL data)

4 – Raw Data

5 – Raw elf

6 – CFI GSR CSC unmask frames

7 – CFI GSR CSC mask frames

23 HiVec

VInitHi setting for RPU/APU(32-bit) processor.

0 – LoVec

1 – HiVec

22:21 Reserved 0
20:19 TCM Boot Flag 00 – TCM Boot Flag Not set by User 11 - TCM Boot Flag set by Use
18 BE or LE

0 – Little Endian (Default)

1 – Big Endian

17:16 Partition Owner

0 - PLM (Default)

1 - Non-PLM

2,3 – Reserved

15:14 Reserved  
13:12 Checksum Type

00b - No Checksum (Default)

11b – SHA3

11:8 Destination CPU

0 – None (Default for non-elf files)

1 - A78-0

2 - A78-1

3 – A78-2

4 – A78-3

5 - R52-0

6 - R52-1

7- Reserved

8 – ASU

9 – AIE

10-15 – Reserved

7:6 Reserved  
5:4 Cluster Lockstep

0x0 – Lockstep Disabled

0x3 – Lockstep Enabled

3 A78 CPU execution state

0 - Aarch64 (default)

1 - Aarch32

2:1 EL level the A78 core should be configured for

00b – EL0

01b – EL1

10b – EL2

11b – EL3 (Default)

0 TZ secure partition

0 – Non-Secure

1 – Secure (Default)

This bit indicates if the PLM is required to configure the core (on which this partition needs to execute) must be configured as TZ secure or not. Default value is 0.