Versal ACAP パーティション ヘッダー - 2022.1 日本語

Bootgen ユーザー ガイド (UG1283)

Document ID
UG1283
Release Date
2022-04-26
Version
2022.1 日本語

パーティション ヘッダーには、次の表に示すパーティションの詳細が含まれます。

表 1. Versal ACAP パーティション ヘッダー テーブル
オフセット 名前 説明
0x0 パーティションのデータ ワード長 暗号化されたパーティション データの長さ。
0x4 抽出されたデータ ワード長 暗号化されていないデータの長さ。
0x8 パーティションの合計ワード長 (認証証明を含む) 暗号化、パディング、拡張、認証を加算した合計長さ。
0xC 次のパーティション ヘッダー オフセット 次のパーティション ヘッダーのオフセット。
0x10 デスティネーション実行アドレス (下位半分) ロード後のこのパーティションの実行可能アドレスの下位 32 ビット。
0x14 デスティネーション実行アドレス (上位半分) ロード後のこのパーティションの実行可能アドレスの上位 32 ビット。
0x18 デスティネーション読み込みアドレス (下位半分) このパーティションがロードされる RAM アドレスの下位 32 ビット。ELF ファイルの場合、Bootgen が自動的に ELF フォーマットから読み出されます。RAW データを使用する場合は、読み込み先を指定する必要があります。CFI およびコンフィギュレーション データの場合は、0xFFFF_FFFF にする必要があります。
0x1C デスティネーション読み込みアドレス (上位半分) このパーティションがロードされる RAM アドレスの上位 32 ビット。ELF ファイルの場合、Bootgen が自動的に ELF フォーマットから読み出されます。RAW データを使用する場合は、読み込み先を指定する必要があります。CFI およびコンフィギュレーション データの場合は、0xFFFF_FFFF にする必要があります。
0x20 イメージのデータ ワード オフセット ブート イメージの開始に対するパーティション データの位置。
0x24 属性ビット パーティション属性の表を参照。
0x28 セクション数 イメージ タイプが ELF の場合は、この ELF にさらにいくつのパーティションが関連付けられているかが示されます。
0x2C チェックサム ワード オフセット ブート イメージ内のチェックサム ワードの位置。
0x30 パーティション ID パーティション ID。
0x34 認証証明ワード オフセット ブート イメージ内の認証証明の位置。
0x38 ~ 0x40 IV パーティションのセキュア ヘッダー用 IV。
0x44 暗号化キー セレクト

暗号化ステータス:

  • 0x00000000: 暗号化なし
  • 0xA5C3C5A3: eFuse レッド キー
  • 0xA5C3C5A5: eFuse ブラック キー
  • 0x3A5C3C5A: BBRAM レッド キー
  • 0x3A5C3C59: BBRAM ブラック キー
  • 0xA35C7C53: ブート ヘッダー ブラック キー
  • 0xC5C3A5A3: ユーザー キー 0
  • 0xC3A5C5B3: ユーザー キー 1
  • 0xC5C3A5C3: ユーザー キー 2
  • 0xC3A5C5D3: ユーザー キー 3
  • 0xC5C3A5E3: ユーザー キー 4
  • 0xC3A5C5F3: ユーザー キー 5
  • 0xC5C3A563: ユーザー キー 6
  • 0xC3A5C573: ユーザー キー 7
  • 0x5C3CA5A3: eFuse ユーザー キー 0
  • 0x5C3CA5A5: eFuse ユーザー ブラック キー 0
  • 0xC3A5C5A3: eFuse ユーザー キー 1
  • 0xC3A5C5A5: eFuse ユーザー ブラック キー 1
0x48 ブラック IV そのパーティションのキーを暗号化するために使用される IV。
0x54 取り消し ID パーティション取り消し ID
0x58 ~ 0x78 予約 0
0x7C ヘッダー チェックサム パーティション ヘッダーの以前のワードの合計値。

次の表に、パーティション ヘッダー テーブルの属性をリストします。

表 2. Versal ACAP パーティション ヘッダー テーブル属性
ビット フィールド 名前 説明
31:29 予約 0x0
28:27 DPA CM イネーブル

0: ディスエーブル

1: イネーブル

26:24 パーティション タイプ

0: 予約

1: ELF

2: コンフィギュレーション データ オブジェクト

3: Cframe データ (PL データ)

4: 生のデータ

5: 生の ELF

6: CFI GSR CSC アンマスク フレーム

7: CFI GSR CSC マスク フレーム

23 HiVec

RPU/APU (32 ビット) プロセッサの VInitHi 設定

0: LoVec

1: HiVec

22:19 予約 0
18 エンディアン

0: リトル エンディアン (デフォルト)

1: ビッグ エンディアン

17:16 パーティション オーナー

0: PLM (デフォルト)

1: PLM 以外

2、3: 予約

15:14 PUF HD の場所

0: eFuse

1: ブート ヘッダー

13:12 チェックサム タイプ

000b: チェックサムなし (デフォルト)

011b: SHA3

11:8 デスティネーション CPU

0: なし (ELF 以外のファイルのデフォルト)

1: A72-0

2: A72-1

3: 予約

4: 予約

5: R5-0

6: R5-1

7: R5-L

8: PSM

9: AIE

10 ~ 15: 予約

4:7 予約 0x0
3 A72 CPU 実行ステート

0: Aarch64 (デフォルト)

1: Aarch32

2:1 A72 コアを設定する必要のある例外レベル (EL)

00b: EL0

01b: EL1

10b: EL2

11b: EL3 (デフォルト)

0 TZ セキュア パーティション

0: 非セキュア (デフォルト)

1: セキュア

このビットは、PLM を設定する必要のある (このパーティションを実行する必要のある) コアを TrustZone セキュアとして設定するかしないかを指定します。デフォルトではこれは 0 になっているはずです。