PSPReverse / PSPTool

Display, extract, and manipulate PSP firmware inside UEFI images
GNU General Public License v3.0
612 stars 62 forks source link

Unable to parse Gigabyte X570 #30

Closed rootwyrm closed 2 years ago

rootwyrm commented 3 years ago

I'm working on debugging a suspected issue with the Gigabyte X570 BIOS, but psptool seems to actually be failing to parse Gigabyte's files with Zen3 support for some reason. The file I am working with can be downloaded directly from Gigabyte here.

Results of a quick attempt to parse:

Warning: Couldn't parse pubkey entry 0x9
Warning: ERROR id is not a pubkey
Warning: Couldn't find corresponding key in blob for entry at: 0x821100. Type: PSP_FW_TRUSTED_OS~0x2
Warning: Couldn't find corresponding key in blob for entry at: 0x835500. Type: SMU_OFFCHIP_FW~0x8
Warning: Couldn't parse pubkey entry 0x9
Traceback (most recent call last):
  File "/home/prj/bios/bin/psptool", line 8, in <module>
    sys.exit(main())
  File "/home/prj/bios/lib/python3.7/site-packages/psptool/__main__.py", line 80, in main
    psp = PSPTool.from_file(args.file, verbose=args.verbose)
  File "/home/prj/bios/lib/python3.7/site-packages/psptool/psptool.py", line 31, in from_file
    pt = PSPTool(rom_bytes, verbose=verbose)
  File "/home/prj/bios/lib/python3.7/site-packages/psptool/psptool.py", line 39, in __init__
    self.blob = Blob(rom_bytes, len(rom_bytes), self)
  File "/home/prj/bios/lib/python3.7/site-packages/psptool/blob.py", line 48, in __init__
    self._find_entry_table()
  File "/home/prj/bios/lib/python3.7/site-packages/psptool/blob.py", line 86, in _find_entry_table
    self.fets.append(Fet(self, fet_offset, self.agesa_version))
  File "/home/prj/bios/lib/python3.7/site-packages/psptool/fet.py", line 45, in __init__
    self._parse_entry_table()
  File "/home/prj/bios/lib/python3.7/site-packages/psptool/fet.py", line 89, in _parse_entry_table
    self._create_dir(addr, dir_magic)
  File "/home/prj/bios/lib/python3.7/site-packages/psptool/fet.py", line 72, in _create_dir
    self.directories.append(Directory(self, dir.secondary_directory_address, 'secondary', self.blob))
  File "/home/prj/bios/lib/python3.7/site-packages/psptool/directory.py", line 69, in __init__
    self._parse_entries()
  File "/home/prj/bios/lib/python3.7/site-packages/psptool/directory.py", line 150, in _parse_entries
    if entry == existing_entry:
  File "/home/prj/bios/lib/python3.7/site-packages/psptool/entry.py", line 276, in __eq__
    return self.type == other.type and self.get_address() == other.get_address() and \
AttributeError: 'NoneType' object has no attribute 'type'

Other tools (UBU, UEFI Explorer, etc) are able to open the file successfully and map. I suspect this may be a key blob identifier change in AGESA ComboV2 1.1.0.0.

cwerling commented 2 years ago

Works in the latest PSPTool 2.4 🥳

+-----+------+-----------+---------+---------------+
| ROM | Addr |    Size   |   FET   |     AGESA     |
+-----+------+-----------+---------+---------------+
|  0  | 0x0  | 0x1000000 | 0x20000 | AGESA_UNKNOWN |
+-----+------+-----------+---------+---------------+
+--+-----------+----------+------+-------+---------------------+
|  | Directory |   Addr   | Type | Magic | Secondary Directory |
+--+-----------+----------+------+-------+---------------------+
|  |     0     | 0x7ef000 | PSP  |  $PSP |       0x7f0000      |
+--+-----------+----------+------+-------+---------------------+
+--+---+-------+----------+---------+-------------------------------+----------+-----------+---------------------------+
|  |   | Entry |  Address |    Size |                          Type | Magic/ID |   Version |                      Info |
+--+---+-------+----------+---------+-------------------------------+----------+-----------+---------------------------+
|  |   |     0 | 0x7ef400 |   0x440 |            AMD_PUBLIC_KEY~0x0 |     6C9E |         1 |                           |
|  |   |     1 | 0x7f0400 | 0x10880 |        PSP_FW_BOOT_LOADER~0x1 |     $PS1 | 0.11.0.70 | verified(6C9E), sha256_ok |
|  |   |     2 | 0x7ef900 |    0x10 |             WRAPPED_IKEK~0x21 |          |           |                           |
|  |   |     3 | 0x7f0000 |   0x400 | !PL2_SECONDARY_DIRECTORY~0x40 |          |           |                           |
+--+---+-------+----------+---------+-------------------------------+----------+-----------+---------------------------+

+--+-----------+----------+-----------+-------+---------------------+
|  | Directory |   Addr   |    Type   | Magic | Secondary Directory |
+--+-----------+----------+-----------+-------+---------------------+
|  |     1     | 0x7f0000 | secondary |  $PL2 |          --         |
+--+-----------+----------+-----------+-------+---------------------+
+--+---+-------+----------+---------+-----------------------------+----------+-------------+---------------------------------------+
|  |   | Entry |  Address |    Size |                        Type | Magic/ID |     Version |                                  Info |
+--+---+-------+----------+---------+-----------------------------+----------+-------------+---------------------------------------+
|  |   |     0 | 0x7f0400 | 0x10880 |      PSP_FW_BOOT_LOADER~0x1 |     $PS1 |   0.11.0.70 |             verified(6C9E), sha256_ok |
|  |   |     1 | 0x800d00 |   0x440 |          AMD_PUBLIC_KEY~0x0 |     6C9E |           1 |                                       |
|  |   |     2 | 0x801200 | 0x14350 |       PSP_FW_TRUSTED_OS~0x2 |     $PS1 |   0.11.0.70 |             verified(24C6), sha256_ok |
|  |   |     3 | 0x815600 | 0x21510 |          SMU_OFFCHIP_FW~0x8 |     $PS1 |   0.40.34.0 |                 compressed, sha256_ok |
|  |   |     4 | 0x836c00 |   0x440 |      SEC_DBG_PUBLIC_KEY~0x9 |     10AC |           1 |                        verified(6C9E) |
|  |   |     5 |      0x1 |     0x0 |      SOFT_FUSE_CHAIN_01~0xb |          |             |                                       |
|  |   |     6 | 0x837100 | 0x20100 | PSP_BOOT_TIME_TRUSTLETS~0xc |     $PS1 |    3.44.0.5 |             verified(CC7D), sha256_ok |
|  |   |     7 | 0x857200 | 0x115e0 |      SMU_OFF_CHIP_FW_2~0x12 |     $PS1 |   0.40.34.0 |                 compressed, sha256_ok |
|  |   |     8 | 0x868800 |  0x2040 |           DEBUG_UNLOCK~0x13 |     $PS1 |   0.11.0.70 |             verified(B034), sha256_ok |
|  |   |     9 | 0x86a900 |   0x670 |                        0x20 |     $PS1 |     0.0.0.1 |             verified(118D), sha256_ok |
|  |   |    10 | 0x86b000 |    0x10 |           WRAPPED_IKEK~0x21 |          |             |                                       |
|  |   |    11 | 0x86c000 |  0x1000 |           TOKEN_UNLOCK~0x22 |          |             |                                       |
|  |   |    12 | 0x86d000 |  0x2e80 |             SEC_GASKET~0x24 |     $PS1 |   B.10.0.1D |             verified(3005), sha256_ok |
|  |   |    13 | 0x86ff00 |  0x2a90 |                      0x8024 |     $PS1 |    B.11.0.1 |             verified(3005), sha256_ok |
|  |   |    14 | 0x872a00 | 0x1d770 |         DRIVER_ENTRIES~0x28 |     $PS1 |   0.11.0.70 |             verified(24C6), sha256_ok |
|  |   |    15 | 0x890200 |  0x3100 |            S0I3_DRIVER~0x2d |     $PS1 |  8.18.30.30 |             verified(CC7D), sha256_ok |
|  |   |    16 | 0x893300 |   0x290 |                   ABL0~0x30 |          |     0.0.0.0 |             verified(259C), sha256_ok |
|  |   |    17 | 0x8f9400 |  0x5840 |                        0x3c |     $PS1 |   11.A.0.1B |                        verified(DE39) |
|  |   |    18 | 0x8fed00 |   0x210 |             FW_INVALID~0x44 |     $PS1 |     0.0.0.1 |             verified(ADC2), sha256_ok |
|  |   |    19 | 0x905400 |  0x1b68 |                        0x45 |     $PS1 |   B.10.1.1D |             verified(3005), sha256_ok |
|  |   |    20 | 0x907000 |  0x1970 |                      0x8045 |     $PS1 |    B.11.1.1 |             verified(3005), sha256_ok |
|  |   |    21 | 0x908a00 |  0x5100 |                        0x47 |     $PS1 |   4.11.0.24 |                        verified(61CE) |
|  |   |    22 | 0x90db00 |  0x1900 |           KEY_DATABASE~0x50 |     $PS1 |           1 |             verified(6C9E), sha256_ok |
|  |   |    23 | 0x90f400 |  0x12c0 |                        0x51 |     $PS1 |           1 |             verified(6C9E), sha256_ok |
|  |   |    24 | 0x910700 |  0x5b70 |                        0x58 |     $PS1 |     0.0.0.0 |                        verified(EBDF) |
|  |   |    25 | 0x916300 |   0x220 |                        0x59 |     $PS1 |     0.0.0.0 |                        verified(EBDF) |
|  |   |    26 |  0x87000 | 0x20000 |             PSP_NV_DATA~0x4 |          |             |                                       |
|  |   |    27 |  0xa7000 | 0x40000 |                        0x54 |          |             |                                       |
|  |   |    28 | 0x110000 | 0x40000 |            ANOTHER_FET~0x46 |          |             |                                       |
|  |   |    29 | 0x150000 |   0x1a8 |                        0x2e |     0BAB | 8A.10.20.80 |                         legacy_header |
|  |   |    30 | 0x15c000 |  0xf330 |                        0x2f |     $PS1 |   0.2F.1B.0 | compressed, verified(F014), sha256_ok |
|  |   |    31 | 0x16c000 |   0xab0 |                        0x4c |     $PS1 |    11.D.0.E |            compressed, verified(B0E6) |
|  |   |    32 | 0x16e000 |  0x1a20 |                        0x4d |     $PS1 |    0.15.0.A |            compressed, verified(9F4D) |
+--+---+-------+----------+---------+-----------------------------+----------+-------------+---------------------------------------+

+--+-----------+----------+------+-------+---------------------+
|  | Directory |   Addr   | Type | Magic | Secondary Directory |
+--+-----------+----------+------+-------+---------------------+
|  |     2     | 0x66f000 | PSP  |  $PSP |       0x670000      |
+--+-----------+----------+------+-------+---------------------+
+--+---+-------+----------+---------+-------------------------------+----------+-----------+---------------------------+
|  |   | Entry |  Address |    Size |                          Type | Magic/ID |   Version |                      Info |
+--+---+-------+----------+---------+-------------------------------+----------+-----------+---------------------------+
|  |   |     0 | 0x66f400 |   0x440 |            AMD_PUBLIC_KEY~0x0 |     144E |         1 |                           |
|  |   |     1 | 0x670400 | 0x10880 |        PSP_FW_BOOT_LOADER~0x1 |     $PS1 | 0.11.0.70 | verified(144E), sha256_ok |
|  |   |     2 | 0x66f900 |    0x10 |             WRAPPED_IKEK~0x21 |          |           |                           |
|  |   |     3 | 0x670000 |   0x400 | !PL2_SECONDARY_DIRECTORY~0x40 |          |           |                           |
+--+---+-------+----------+---------+-------------------------------+----------+-----------+---------------------------+

+--+-----------+----------+-----------+-------+---------------------+
|  | Directory |   Addr   |    Type   | Magic | Secondary Directory |
+--+-----------+----------+-----------+-------+---------------------+
|  |     3     | 0x670000 | secondary |  $PL2 |          --         |
+--+-----------+----------+-----------+-------+---------------------+
+--+---+-------+----------+---------+-----------------------------+----------+-------------+---------------------------------------+
|  |   | Entry |  Address |    Size |                        Type | Magic/ID |     Version |                                  Info |
+--+---+-------+----------+---------+-----------------------------+----------+-------------+---------------------------------------+
|  |   |     0 | 0x670400 | 0x10880 |      PSP_FW_BOOT_LOADER~0x1 |     $PS1 |   0.11.0.70 |             verified(144E), sha256_ok |
|  |   |     1 | 0x680d00 |   0x440 |          AMD_PUBLIC_KEY~0x0 |     144E |           1 |                                       |
|  |   |     2 | 0x681200 | 0x14350 |       PSP_FW_TRUSTED_OS~0x2 |     $PS1 |   0.11.0.70 |             verified(D945), sha256_ok |
|  |   |     3 | 0x695600 | 0x20f70 |          SMU_OFFCHIP_FW~0x8 |     $PS1 |   0.37.59.0 |                 compressed, sha256_ok |
|  |   |     4 | 0x6b6600 |   0x440 |      SEC_DBG_PUBLIC_KEY~0x9 |     0475 |           1 |                        verified(144E) |
|  |   |     5 |      0x1 |     0x0 |      SOFT_FUSE_CHAIN_01~0xb |          |             |                                       |
|  |   |     6 | 0x6b6b00 | 0x20100 | PSP_BOOT_TIME_TRUSTLETS~0xc |     $PS1 |    3.44.0.5 |             verified(CC7D), sha256_ok |
|  |   |     7 | 0x6d6c00 | 0x10030 |      SMU_OFF_CHIP_FW_2~0x12 |     $PS1 |   0.37.59.0 |                 compressed, sha256_ok |
|  |   |     8 | 0x6e6d00 |  0x2040 |           DEBUG_UNLOCK~0x13 |     $PS1 |   0.11.0.70 |             verified(11F8), sha256_ok |
|  |   |     9 | 0x6e8e00 |   0x664 |                        0x20 |          |     0.0.0.0 |                        verified(76AC) |
|  |   |    10 | 0x6e9500 |    0x10 |           WRAPPED_IKEK~0x21 |          |             |                                       |
|  |   |    11 | 0x6ea000 |  0x1000 |           TOKEN_UNLOCK~0x22 |          |             |                                       |
|  |   |    12 | 0x6eb000 |  0x2f00 |             SEC_GASKET~0x24 |     $PS1 |    B.9.0.78 |                        verified(BCC5) |
|  |   |    13 | 0x6edf00 |  0x2ab0 |                      0x8024 |     $PS1 |     B.C.0.1 |   verified(BCC5), sha256_inconsistent |
|  |   |    14 | 0x6f0a00 | 0x1d770 |         DRIVER_ENTRIES~0x28 |     $PS1 |   0.11.0.70 |             verified(D945), sha256_ok |
|  |   |    15 | 0x70e200 |  0x3100 |            S0I3_DRIVER~0x2d |     $PS1 |  8.17.30.30 |             verified(CC7D), sha256_ok |
|  |   |    16 | 0x711300 |   0x290 |                   ABL0~0x30 |          |     0.0.0.0 |             verified(CF65), sha256_ok |
|  |   |    17 | 0x780f00 |  0x5fc0 |                        0x3c |     $PS1 |   11.A.0.17 |                        verified(2FCA) |
|  |   |    18 | 0x786f00 |   0x210 |             FW_INVALID~0x44 |     $PS1 |     0.0.0.0 |                        verified(462E) |
|  |   |    19 | 0x78d600 |  0x19f0 |                        0x45 |     $PS1 |    B.9.1.78 |                        verified(BCC5) |
|  |   |    20 | 0x78f000 |  0x1930 |                      0x8045 |     $PS1 |     B.C.1.1 |             verified(BCC5), sha256_ok |
|  |   |    21 | 0x790a00 |  0x5100 |                        0x47 |     $PS1 |   4.11.0.24 |                        verified(61CE) |
|  |   |    22 | 0x795b00 |  0x1900 |           KEY_DATABASE~0x50 |     $PS1 |           1 |             verified(144E), sha256_ok |
|  |   |    23 | 0x797400 |  0x1070 |                        0x51 |     $PS1 |           1 |             verified(144E), sha256_ok |
|  |   |    24 | 0x798500 |  0x5b70 |                        0x58 |     $PS1 |     0.0.0.0 |                        verified(EBDF) |
|  |   |    25 | 0x79e100 |   0x220 |                        0x59 |     $PS1 |     0.0.0.0 |                        verified(EBDF) |
|  |   |    26 | 0x79e400 |   0xb20 |                        0x5c |     $PS1 |   0.17.60.1 |             verified(8A19), sha256_ok |
|  |   |    27 | 0x110000 | 0x40000 |            ANOTHER_FET~0x46 |          |             |                                       |
|  |   |    28 | 0x150000 |   0x1a8 |                        0x2e |     0BAB | 8A.10.20.80 |                         legacy_header |
|  |   |    29 | 0x15c000 |  0xf330 |                        0x2f |     $PS1 |   0.2F.1B.0 | compressed, verified(F014), sha256_ok |
|  |   |    30 | 0x16c000 |   0xab0 |                        0x4c |     $PS1 |    11.D.0.E |            compressed, verified(B0E6) |
|  |   |    31 | 0x16e000 |  0x1a20 |                        0x4d |     $PS1 |    0.15.0.A |            compressed, verified(9F4D) |
|  |   |    32 |  0x87000 | 0x20000 |             PSP_NV_DATA~0x4 |          |             |                                       |
|  |   |    33 |  0xa7000 | 0x40000 |                        0x54 |          |             |                                       |
+--+---+-------+----------+---------+-----------------------------+----------+-------------+---------------------------------------+

+--+-----------+----------+------+-------+---------------------+
|  | Directory |   Addr   | Type | Magic | Secondary Directory |
+--+-----------+----------+------+-------+---------------------+
|  |     4     | 0x2c0000 | PSP  |  $PSP |          --         |
+--+-----------+----------+------+-------+---------------------+
+--+---+-------+----------+---------+-----------------------------+----------+-------------+------------------------------------------------+
|  |   | Entry |  Address |    Size |                        Type | Magic/ID |     Version |                                           Info |
+--+---+-------+----------+---------+-----------------------------+----------+-------------+------------------------------------------------+
|  |   |     0 | 0x2c0400 |   0x240 |          AMD_PUBLIC_KEY~0x0 |     60BB |           1 |                                                |
|  |   |     1 | 0x2c0700 |  0xe3c0 |      PSP_FW_BOOT_LOADER~0x1 |     $PS1 |    0.8.0.7D | verified(60BB), sha256_inconsistent, encrypted |
|  |   |     2 | 0x2ceb00 |  0xf310 |       PSP_FW_TRUSTED_OS~0x2 |     $PS1 |    0.8.0.7D |                      verified(60BB), sha256_ok |
|  |   |     3 |  0x87000 | 0x20000 |             PSP_NV_DATA~0x4 |          |             |                                                |
|  |   |     4 | 0x2ddf00 | 0x20650 |          SMU_OFFCHIP_FW~0x8 |          |     0.0.0.0 |          compressed, verified(60BB), sha256_ok |
|  |   |     5 | 0x2fe600 |   0x340 |      SEC_DBG_PUBLIC_KEY~0x9 |     ED22 |           1 |                                 verified(60BB) |
|  |   |     6 |      0x1 |     0x0 |      SOFT_FUSE_CHAIN_01~0xb |          |             |                                                |
|  |   |     7 | 0x2fea00 | 0x13500 | PSP_BOOT_TIME_TRUSTLETS~0xc |     $PS1 |    3.2D.0.4 |          compressed, verified(60BB), sha256_ok |
|  |   |     8 | 0x311f00 |  0x4460 |      SMU_OFF_CHIP_FW_2~0x12 |          |     0.0.0.0 |          compressed, verified(60BB), sha256_ok |
|  |   |     9 | 0x316400 |  0x1950 |           DEBUG_UNLOCK~0x13 |     $PS1 |    0.8.0.7D |          compressed, verified(60BB), sha256_ok |
|  |   |    10 | 0x317e00 |    0x10 |           WRAPPED_IKEK~0x21 |          |             |                                                |
|  |   |    11 | 0x318000 |  0x1000 |           TOKEN_UNLOCK~0x22 |          |             |                                                |
|  |   |    12 | 0x319000 |  0x1860 |             SEC_GASKET~0x24 |     $PS1 |    A.2.3.27 |                      verified(60BB), encrypted |
|  |   |    13 | 0x31a900 |  0x1840 |                       0x124 |     $PS1 |    A.2.4.26 |                      verified(60BB), encrypted |
|  |   |    14 | 0x31c200 |  0x1860 |                       0x224 |     $PS1 |    A.2.3.27 |                      verified(60BB), encrypted |
|  |   |    15 | 0x31db00 |  0x22f1 |                 MP2_FW~0x25 |          |    3.18.0.1 |                                                |
|  |   |    16 | 0x31fe00 |  0x3bb8 |                       0x125 |          |     1.2.2.7 |                            sha256_inconsistent |
|  |   |    17 | 0x323a00 |  0x23f8 |                       0x225 |          |     1.1.2.5 |                            sha256_inconsistent |
|  |   |    18 | 0x325e00 | 0x1d790 |         DRIVER_ENTRIES~0x28 |     $PS1 |    0.8.0.7D |                      verified(60BB), sha256_ok |
|  |   |    19 | 0x343600 |   0xdd0 |                   ABL0~0x30 |     AW0B |  20.10.19.0 |          compressed, verified(60BB), sha256_ok |
|  |   |    20 | 0x344400 |  0xd590 |                   ABL1~0x31 |     AW1B |  20.10.19.0 |          compressed, verified(60BB), sha256_ok |
|  |   |    21 | 0x351a00 |  0x9290 |                   ABL2~0x32 |     AW2B |  20.10.19.0 |          compressed, verified(60BB), sha256_ok |
|  |   |    22 | 0x35ad00 |  0xbce0 |                   ABL3~0x33 |     AW3B |  20.10.19.0 |          compressed, verified(60BB), sha256_ok |
|  |   |    23 | 0x366a00 |  0xdd20 |                   ABL4~0x34 |     AW4B |  20.10.19.0 |          compressed, verified(60BB), sha256_ok |
|  |   |    24 | 0x374800 |  0xd7b0 |                   ABL5~0x35 |     AW5B |  20.10.19.0 |          compressed, verified(60BB), sha256_ok |
|  |   |    25 | 0x382000 |  0xa060 |                   ABL6~0x36 |     AW6B |  20.10.19.0 |          compressed, verified(60BB), sha256_ok |
|  |   |    26 | 0x38c100 |  0xda10 |                   ABL7~0x37 |     AW7B |  20.10.19.0 |          compressed, verified(60BB), sha256_ok |
|  |   |    27 | 0x399c00 | 0x22a70 |   PSP_SMU_FN_FIRMWARE~0x108 |          |     0.0.0.0 |          compressed, verified(60BB), sha256_ok |
|  |   |    28 | 0x3bc700 |  0x6be0 |    !SMU_OFF_CHIP_FW_3~0x112 |          |     0.0.0.0 |          compressed, verified(60BB), sha256_ok |
|  |   |    29 | 0x3c3300 | 0x23140 |                       0x208 |          |     0.0.0.0 |          compressed, verified(60BB), sha256_ok |
|  |   |    30 | 0x3e6500 |  0x6de0 |                       0x212 |          |     0.0.0.0 |          compressed, verified(60BB), sha256_ok |
|  |   |    31 | 0x110000 | 0x40000 |            ANOTHER_FET~0x46 |          |             |                                                |
|  |   |    32 | 0x150000 |   0x1a8 |                        0x2e |     0BAB | 8A.10.20.80 |                                  legacy_header |
|  |   |    33 | 0x15c000 |  0xf330 |                        0x2f |     $PS1 |   0.2F.1B.0 |          compressed, verified(F014), sha256_ok |
|  |   |    34 | 0x16c000 |   0xab0 |                        0x4c |     $PS1 |    11.D.0.E |                     compressed, verified(B0E6) |
|  |   |    35 | 0x16e000 |  0x1a20 |                        0x4d |     $PS1 |    0.15.0.A |                     compressed, verified(9F4D) |
+--+---+-------+----------+---------+-----------------------------+----------+-------------+------------------------------------------------+

+--+-----------+----------+------+-------+---------------------+
|  | Directory |   Addr   | Type | Magic | Secondary Directory |
+--+-----------+----------+------+-------+---------------------+
|  |     5     | 0x2c0000 | PSP  |  $PSP |          --         |
+--+-----------+----------+------+-------+---------------------+
+--+---+-------+----------+---------+-----------------------------+----------+-------------+----------------------------------------------------------------------+
|  |   | Entry |  Address |    Size |                        Type | Magic/ID |     Version |                                                                 Info |
+--+---+-------+----------+---------+-----------------------------+----------+-------------+----------------------------------------------------------------------+
|  |   |     0 | 0x2c0400 |   0x240 |          AMD_PUBLIC_KEY~0x0 |     60BB |           1 |                                                                      |
|  |   |     1 | 0x2c0700 |  0xe3c0 |      PSP_FW_BOOT_LOADER~0x1 |     $PS1 |    0.8.0.7D |                       verified(60BB), sha256_inconsistent, encrypted |
|  |   |     2 | 0x2ceb00 |  0xf310 |       PSP_FW_TRUSTED_OS~0x2 |     $PS1 |    0.8.0.7D |                                            verified(60BB), sha256_ok |
|  |   |     3 |  0x87000 | 0x20000 |             PSP_NV_DATA~0x4 |          |             |                                                                      |
|  |   |     4 | 0x2ddf00 | 0x20650 |          SMU_OFFCHIP_FW~0x8 |          |     0.0.0.0 |                                compressed, verified(60BB), sha256_ok |
|  |   |     5 | 0x2fe600 |   0x340 |      SEC_DBG_PUBLIC_KEY~0x9 |     ED22 |           1 |                                                       verified(60BB) |
|  |   |     6 |      0x1 |     0x0 |      SOFT_FUSE_CHAIN_01~0xb |          |             |                                                                      |
|  |   |     7 | 0x2fea00 | 0x13500 | PSP_BOOT_TIME_TRUSTLETS~0xc |     $PS1 |    3.2D.0.4 |                                compressed, verified(60BB), sha256_ok |
|  |   |     8 | 0x311f00 |  0x4460 |      SMU_OFF_CHIP_FW_2~0x12 |          |     0.0.0.0 |                                compressed, verified(60BB), sha256_ok |
|  |   |     9 | 0x316400 |  0x1950 |           DEBUG_UNLOCK~0x13 |     $PS1 |    0.8.0.7D |                                compressed, verified(60BB), sha256_ok |
|  |   |    10 | 0x317e00 |    0x10 |           WRAPPED_IKEK~0x21 |          |             |                                                                      |
|  |   |    11 | 0x318000 |  0x1000 |           TOKEN_UNLOCK~0x22 |          |             |                                                                      |
|  |   |    12 | 0x319000 |  0x1860 |             SEC_GASKET~0x24 |     $PS1 |    A.2.3.27 |                                            verified(60BB), encrypted |
|  |   |    13 | 0x31a900 |  0x1840 |                       0x124 |     $PS1 |    A.2.4.26 |                                            verified(60BB), encrypted |
|  |   |    14 | 0x31c200 |  0x1860 |                       0x224 |     $PS1 |    A.2.3.27 |                                            verified(60BB), encrypted |
|  |   |    15 | 0x31db00 |  0x22f1 |                 MP2_FW~0x25 |          |    3.18.0.1 |                                                    inline_keys(76E9) |
|  |   |    16 | 0x31fe00 |  0x3bb8 |                       0x125 |          |     1.2.2.7 |                               sha256_inconsistent, inline_keys(76E9) |
|  |   |    17 | 0x323a00 |  0x23f8 |                       0x225 |          |     1.1.2.5 |                               sha256_inconsistent, inline_keys(76E9) |
|  |   |    18 | 0x325e00 | 0x1d790 |         DRIVER_ENTRIES~0x28 |     $PS1 |    0.8.0.7D | verified(60BB), sha256_ok, inline_keys(D8B1, CC7D, 61CE, 8253, 46F2) |
|  |   |    19 | 0x343600 |   0xdd0 |                   ABL0~0x30 |     AW0B |  20.10.19.0 |                                compressed, verified(60BB), sha256_ok |
|  |   |    20 | 0x344400 |  0xd590 |                   ABL1~0x31 |     AW1B |  20.10.19.0 |                                compressed, verified(60BB), sha256_ok |
|  |   |    21 | 0x351a00 |  0x9290 |                   ABL2~0x32 |     AW2B |  20.10.19.0 |                                compressed, verified(60BB), sha256_ok |
|  |   |    22 | 0x35ad00 |  0xbce0 |                   ABL3~0x33 |     AW3B |  20.10.19.0 |                                compressed, verified(60BB), sha256_ok |
|  |   |    23 | 0x366a00 |  0xdd20 |                   ABL4~0x34 |     AW4B |  20.10.19.0 |                                compressed, verified(60BB), sha256_ok |
|  |   |    24 | 0x374800 |  0xd7b0 |                   ABL5~0x35 |     AW5B |  20.10.19.0 |                                compressed, verified(60BB), sha256_ok |
|  |   |    25 | 0x382000 |  0xa060 |                   ABL6~0x36 |     AW6B |  20.10.19.0 |                                compressed, verified(60BB), sha256_ok |
|  |   |    26 | 0x38c100 |  0xda10 |                   ABL7~0x37 |     AW7B |  20.10.19.0 |                                compressed, verified(60BB), sha256_ok |
|  |   |    27 | 0x399c00 | 0x22a70 |   PSP_SMU_FN_FIRMWARE~0x108 |          |     0.0.0.0 |                                compressed, verified(60BB), sha256_ok |
|  |   |    28 | 0x3bc700 |  0x6be0 |    !SMU_OFF_CHIP_FW_3~0x112 |          |     0.0.0.0 |                                compressed, verified(60BB), sha256_ok |
|  |   |    29 | 0x3c3300 | 0x23140 |                       0x208 |          |     0.0.0.0 |                                compressed, verified(60BB), sha256_ok |
|  |   |    30 | 0x3e6500 |  0x6de0 |                       0x212 |          |     0.0.0.0 |                                compressed, verified(60BB), sha256_ok |
|  |   |    31 | 0x110000 | 0x40000 |            ANOTHER_FET~0x46 |          |             |                                                                      |
|  |   |    32 | 0x150000 |   0x1a8 |                        0x2e |     0BAB | 8A.10.20.80 |                                                        legacy_header |
|  |   |    33 | 0x15c000 |  0xf330 |                        0x2f |     $PS1 |   0.2F.1B.0 |                                compressed, verified(F014), sha256_ok |
|  |   |    34 | 0x16c000 |   0xab0 |                        0x4c |     $PS1 |    11.D.0.E |                                           compressed, verified(B0E6) |
|  |   |    35 | 0x16e000 |  0x1a20 |                        0x4d |     $PS1 |    0.15.0.A |                                           compressed, verified(9F4D) |
+--+---+-------+----------+---------+-----------------------------+----------+-------------+----------------------------------------------------------------------+

+--+-----------+----------+------+-------+---------------------+
|  | Directory |   Addr   | Type | Magic | Secondary Directory |
+--+-----------+----------+------+-------+---------------------+
|  |     6     | 0x170000 | PSP  |  $PSP |          --         |
+--+-----------+----------+------+-------+---------------------+
+--+---+-------+----------+---------+---------------------------------+----------+-------------+------------------------------------------------+
|  |   | Entry |  Address |    Size |                            Type | Magic/ID |     Version |                                           Info |
+--+---+-------+----------+---------+---------------------------------+----------+-------------+------------------------------------------------+
|  |   |     0 | 0x170400 |   0x240 |              AMD_PUBLIC_KEY~0x0 |     1BB9 |           1 |                                                |
|  |   |     1 | 0x170700 |  0xc580 |          PSP_FW_BOOT_LOADER~0x1 |     $PS1 |    0.9.0.79 | verified(1BB9), sha256_inconsistent, encrypted |
|  |   |     2 | 0x17cd00 | 0x4224c |           PSP_FW_TRUSTED_OS~0x2 |          |    0.B.0.67 |                      verified(1BB9), sha256_ok |
|  |   |     3 | 0x1bf000 | 0x230a8 |     PSP_BOOT_TIME_TRUSTLETS~0xc |          |     0.0.0.0 |                                  legacy_header |
|  |   |     4 |  0x87000 | 0x20000 |                 PSP_NV_DATA~0x4 |          |             |                                                |
|  |   |     5 | 0x1e2200 | 0x1d860 |              SMU_OFFCHIP_FW~0x8 |          |   0.19.56.0 |                     compressed, verified(1BB9) |
|  |   |     6 | 0x1ffb00 | 0x193f0 |       PSP_SMU_FN_FIRMWARE~0x108 |          |   0.2B.18.0 |                     compressed, verified(1BB9) |
|  |   |     7 | 0x218f00 |  0x24a0 |        !SMU_OFF_CHIP_FW_3~0x112 |          |   0.2B.18.0 |                     compressed, verified(1BB9) |
|  |   |     8 | 0x21b400 |   0x340 |          SEC_DBG_PUBLIC_KEY~0x9 |     2921 |           1 |                                 verified(1BB9) |
|  |   |     9 | 0x21b800 |   0x340 |       OEM_PSP_FW_PUBLIC_KEY~0xa |     2793 |           1 |                                 verified(1BB9) |
|  |   |    10 |      0x1 |     0x0 |          SOFT_FUSE_CHAIN_01~0xb |          |             |                                                |
|  |   |    11 | 0x21bc00 |   0x340 | PSP_BOOT_TIME_TRUSTLETS_KEY~0xd |     1E38 |           1 |                                 verified(1BB9) |
|  |   |    12 | 0x21c000 |  0x2d20 |          SMU_OFF_CHIP_FW_2~0x12 |          |   0.19.56.0 |                     compressed, verified(1BB9) |
|  |   |    13 | 0x21ee00 |  0x1920 |               DEBUG_UNLOCK~0x13 |     $PS1 |    0.9.0.79 |          compressed, verified(1BB9), sha256_ok |
|  |   |    14 | 0x220800 |    0x10 |               WRAPPED_IKEK~0x21 |          |             |                                                |
|  |   |    15 | 0x221000 |  0x1000 |               TOKEN_UNLOCK~0x22 |          |             |                                                |
|  |   |    16 | 0x222000 |   0xc00 |                 SEC_GASKET~0x24 |     $PS1 |    13.2.0.9 |                     compressed, verified(1BB9) |
|  |   |    17 | 0x222c00 |   0xdb0 |                       ABL0~0x30 |     0BAW |  20.8.31.30 |          compressed, verified(2793), sha256_ok |
|  |   |    18 | 0x223a00 |  0xcc60 |                       ABL1~0x31 |     AW1B |  20.8.31.30 |          compressed, verified(2793), sha256_ok |
|  |   |    19 | 0x230700 |  0xa1e0 |                       ABL2~0x32 |     AW2B |  20.8.31.30 |          compressed, verified(2793), sha256_ok |
|  |   |    20 | 0x23a900 |  0xb200 |                       ABL3~0x33 |     AW3B |  20.8.31.30 |          compressed, verified(2793), sha256_ok |
|  |   |    21 | 0x245b00 |  0x9cc0 |                       ABL4~0x34 |     AW4B |  20.8.31.30 |          compressed, verified(2793), sha256_ok |
|  |   |    22 | 0x24f800 |  0xd5c0 |                       ABL5~0x35 |     AW5B |  20.8.31.30 |          compressed, verified(2793), sha256_ok |
|  |   |    23 | 0x25ce00 |  0xafe0 |                       ABL6~0x36 |     AW6B |  20.8.31.30 |          compressed, verified(2793), sha256_ok |
|  |   |    24 | 0x110000 | 0x40000 |                ANOTHER_FET~0x46 |          |             |                                                |
|  |   |    25 | 0x150000 |   0x1a8 |                            0x2e |     0BAB | 8A.10.20.80 |                                  legacy_header |
|  |   |    26 | 0x15c000 |  0xf330 |                            0x2f |     $PS1 |   0.2F.1B.0 |          compressed, verified(F014), sha256_ok |
|  |   |    27 | 0x16c000 |   0xab0 |                            0x4c |     $PS1 |    11.D.0.E |                     compressed, verified(B0E6) |
|  |   |    28 | 0x16e000 |  0x1a20 |                            0x4d |     $PS1 |    0.15.0.A |                     compressed, verified(9F4D) |
+--+---+-------+----------+---------+---------------------------------+----------+-------------+------------------------------------------------+

+--+-----------+----------+------+-------+---------------------+
|  | Directory |   Addr   | Type | Magic | Secondary Directory |
+--+-----------+----------+------+-------+---------------------+
|  |     7     | 0x43f000 | PSP  |  $PSP |          --         |
+--+-----------+----------+------+-------+---------------------+
+--+---+-------+----------+---------+-----------------------------+------------------+-------------+----------------------------------------------------------------+
|  |   | Entry |  Address |    Size |                        Type |         Magic/ID |     Version |                                                           Info |
+--+---+-------+----------+---------+-----------------------------+------------------+-------------+----------------------------------------------------------------+
|  |   |     0 | 0x43f400 |   0x440 |          AMD_PUBLIC_KEY~0x0 |             FD90 |           1 |                                                                |
|  |   |     1 | 0x43f900 |  0xfd00 |      PSP_FW_BOOT_LOADER~0x1 |             $PS1 |   0.14.0.2E |                                      verified(FD90), sha256_ok |
|  |   |     2 | 0x44f900 | 0x102e0 |       PSP_FW_TRUSTED_OS~0x2 |             $PS1 |   0.14.0.2E |                                      verified(A407), sha256_ok |
|  |   |     3 | 0x45fc00 | 0x1fd90 |   PSP_SMU_FN_FIRMWARE~0x108 |             $PS1 |   0.38.3A.0 |                          compressed, verified(F014), sha256_ok |
|  |   |     4 | 0x47fa00 |   0x640 |      SEC_DBG_PUBLIC_KEY~0x9 |             9231 |           1 |                                                 verified(FD90) |
|  |   |     5 | 0x480100 |   0x640 |   OEM_PSP_FW_PUBLIC_KEY~0xa |             AD50 |           1 |                                                 verified(FD90) |
|  |   |     6 |      0x1 |     0x0 |      SOFT_FUSE_CHAIN_01~0xb |                  |             |                                                                |
|  |   |     7 | 0x480800 | 0x20100 | PSP_BOOT_TIME_TRUSTLETS~0xc |             $PS1 |    3.47.0.5 |                                      verified(CC7D), sha256_ok |
|  |   |     8 | 0x4a0900 |   0x420 |    !SMU_OFF_CHIP_FW_3~0x112 |             $PS1 |   0.38.3A.0 |                          compressed, verified(F014), sha256_ok |
|  |   |     9 | 0x4a0e00 |  0x2380 |           DEBUG_UNLOCK~0x13 |             $PS1 |   0.14.0.2E |                                      verified(7ADC), sha256_ok |
|  |   |    10 | 0x4a3200 |    0x10 |           WRAPPED_IKEK~0x21 |                  |             |                                                                |
|  |   |    11 | 0x4a4000 |  0x1000 |           TOKEN_UNLOCK~0x22 |                  |             |                                                                |
|  |   |    12 | 0x4a5000 |  0x29d0 |                       0x124 |             $PS1 |   B.23.0.10 |                                      verified(AC4A), sha256_ok |
|  |   |    13 | 0x4a7a00 |   0xc00 |                        0x45 |             $PS1 |  B.23.40.10 |                                      verified(AC4A), sha256_ok |
|  |   |    14 | 0x4a8600 | 0x18790 |         DRIVER_ENTRIES~0x28 |             $PS1 |   0.14.0.2E | verified(A407), sha256_ok, inline_keys(CC7D, D8B1, 8253, 46F2) |
|  |   |    15 | 0x4c0e00 |  0xe1f0 |                       0x12a |             $PS1 |   0.38.3A.0 |                          compressed, verified(F014), sha256_ok |
|  |   |    16 | 0x4cf000 |  0x3100 |            S0I3_DRIVER~0x2d |             $PS1 |  B.24.40.10 |                                      verified(CC7D), sha256_ok |
|  |   |    17 | 0x4d2100 |   0x3a0 |                       0x130 |                  |     0.0.0.0 |                                      verified(AD50), sha256_ok |
|  |   |    18 | 0x54ed00 |  0x10f0 |                 FW_GEC~0x42 |                  |   0.28.4.19 |                                     compressed, verified(60FD) |
|  |   |    19 | 0x54fe00 |   0x640 |         !KEY_UNKNOWN_1~0x43 |             60FD |           1 |                                                 verified(FD90) |
|  |   |    20 | 0x550500 |  0x2200 |             FW_INVALID~0x44 |             $PS1 |     0.0.0.1 |                                                 verified(B2D9) |
|  |   |    21 | 0x552700 |   0x640 |         !KEY_UNKNOWN_2~0x4e |             CC0D |           1 |                                                 verified(FD90) |
|  |   |    22 | 0x552e00 |   0xd80 |           KEY_DATABASE~0x50 | \x00\x00\x00\x00 |           1 |                                                 verified(FD90) |
|  |   |    23 | 0x553c00 |   0x5f0 |                        0x51 | \x00\x00\x00\x00 |           1 |                                                 verified(FD90) |
|  |   |    24 | 0x554200 | 0x1b890 |          SMU_OFFCHIP_FW~0x8 |             $PS1 |   0.2E.47.0 |                          compressed, verified(F014), sha256_ok |
|  |   |    25 | 0x56fb00 |   0x420 |      SMU_OFF_CHIP_FW_2~0x12 |             $PS1 |   0.2E.47.0 |                          compressed, verified(F014), sha256_ok |
|  |   |    26 | 0x570000 |  0xd080 |                        0x2a |             $PS1 |   0.2E.47.0 |                          compressed, verified(F014), sha256_ok |
|  |   |    27 | 0x57d100 |  0x1160 |             SEC_GASKET~0x24 |             $PS1 |    11.3.0.F |                                     compressed, verified(AC4A) |
|  |   |    28 | 0x57e300 |   0x3a0 |                   ABL0~0x30 |                  |     0.0.0.0 |                                      verified(AD50), sha256_ok |
|  |   |    29 | 0x110000 | 0x40000 |            ANOTHER_FET~0x46 |                  |             |                                                                |
|  |   |    30 | 0x150000 |   0x1a8 |                        0x2e |             0BAB | 8A.10.20.80 |                                                  legacy_header |
|  |   |    31 | 0x15c000 |  0xf330 |                        0x2f |             $PS1 |   0.2F.1B.0 |                          compressed, verified(F014), sha256_ok |
|  |   |    32 | 0x16c000 |   0xab0 |                        0x4c |             $PS1 |    11.D.0.E |                                     compressed, verified(B0E6) |
|  |   |    33 | 0x16e000 |  0x1a20 |                        0x4d |             $PS1 |    0.15.0.A |                                     compressed, verified(9F4D) |
|  |   |    34 |  0x87000 | 0x20000 |             PSP_NV_DATA~0x4 |                  |             |                                                                |
|  |   |    35 |  0xa7000 | 0x40000 |                        0x54 |                  |             |                                                                |
+--+---+-------+----------+---------+-----------------------------+------------------+-------------+----------------------------------------------------------------+

+--+-----------+----------+------+-------+---------------------+
|  | Directory |   Addr   | Type | Magic | Secondary Directory |
+--+-----------+----------+------+-------+---------------------+
|  |     8     | 0x2a0000 | BIOS |  $BHD |          --         |
+--+-----------+----------+------+-------+---------------------+
+--+---+-------+----------+---------+-----------------+----------+-----------+----------------------------+
|  |   | Entry |  Address |    Size |            Type | Magic/ID |   Version |                       Info |
+--+---+-------+----------+---------+-----------------+----------+-----------+----------------------------+
|  |   |     0 | 0x2a1000 |  0x2000 |        0x100060 |          |           |                            |
|  |   |     1 | 0x2a3000 |  0x2000 |        0x100068 |          |           |                            |
|  |   |     2 | 0x2a5000 |  0x2000 |     FW_IMC~0x60 |          |           |                            |
|  |   |     3 | 0x2a7000 |  0x2000 |            0x68 |          |           |                            |
|  |   |     4 |      0x0 |     0x0 |     FW_GEC~0x61 |          |           |                            |
|  |   |     5 |  0xe8000 | 0x28000 | FW_INVALID~0x63 |          |           |                            |
|  |   |     6 | 0x2a9000 |   0xc80 |            0x66 |          |           |                            |
|  |   |     7 | 0x2a9d00 |   0xc80 |        0x100066 |          |           |                            |
|  |   |     8 | 0x2aaa00 |   0xc80 |        0x200066 |          |           |                            |
|  |   |     9 | 0x2ab700 |   0xc80 |        0x300066 |          |           |                            |
|  |   |    10 | 0x2ac400 |   0xc80 |        0x400066 |          |           |                            |
|  |   |    11 | 0x2ad100 |  0x3c40 |        0x100064 |     0x05 | 0.0.A1.41 | compressed, verified(1BB9) |
|  |   |    12 | 0x2b0e00 |   0x330 |        0x100065 |     0x05 | 0.0.A1.41 | compressed, verified(1BB9) |
|  |   |    13 | 0x2b1200 |  0x4610 |        0x400064 |     0x05 | 0.0.A1.41 | compressed, verified(1BB9) |
|  |   |    14 | 0x2b5900 |   0x320 |        0x400065 |     0x05 | 0.0.A1.41 | compressed, verified(1BB9) |
|  |   |    15 | 0x2b6000 |  0x1000 |            0x67 |          |           |                            |
+--+---+-------+----------+---------+-----------------+----------+-----------+----------------------------+

+--+-----------+----------+------+-------+---------------------+
|  | Directory |   Addr   | Type | Magic | Secondary Directory |
+--+-----------+----------+------+-------+---------------------+
|  |     9     | 0x40f000 | BIOS |  $BHD |          --         |
+--+-----------+----------+------+-------+---------------------+
+--+---+-------+----------+---------+-----------------+----------+-----------+----------------------------+
|  |   | Entry |  Address |    Size |            Type | Magic/ID |   Version |                       Info |
+--+---+-------+----------+---------+-----------------+----------+-----------+----------------------------+
|  |   |     0 | 0x410000 |  0x2000 |        0x100060 |          |           |                            |
|  |   |     1 | 0x412000 |  0x2000 |        0x100068 |          |           |                            |
|  |   |     2 | 0x414000 |  0x2000 |     FW_IMC~0x60 |          |           |                            |
|  |   |     3 | 0x416000 |  0x2000 |            0x68 |          |           |                            |
|  |   |     4 |      0x0 |     0x0 |     FW_GEC~0x61 |          |           |                            |
|  |   |     5 |  0xe8000 | 0x28000 | FW_INVALID~0x63 |          |           |                            |
|  |   |     6 | 0x418000 |  0x3c40 |        0x100064 |     0x05 | 0.0.A1.41 | compressed, verified(60BB) |
|  |   |     7 | 0x41bd00 |   0x330 |        0x100065 |     0x05 | 0.0.A1.41 | compressed, verified(60BB) |
|  |   |     8 | 0x41c100 |  0x4610 |        0x400064 |     0x05 | 0.0.A1.41 | compressed, verified(60BB) |
|  |   |     9 | 0x420800 |   0x320 |        0x400065 |     0x05 | 0.0.A1.41 | compressed, verified(60BB) |
|  |   |    10 | 0x420c00 |  0x4830 |       0x1100064 |     0x05 |  0.0.18.5 | compressed, verified(60BB) |
|  |   |    11 | 0x425500 |   0x370 |       0x1100065 |     0x05 |  0.0.18.5 | compressed, verified(60BB) |
|  |   |    12 | 0x425900 |  0x47a0 |       0x1400064 |     0x05 |  0.0.18.5 | compressed, verified(60BB) |
|  |   |    13 | 0x42a100 |   0x340 |       0x1400065 |     0x05 |  0.0.18.5 | compressed, verified(60BB) |
|  |   |    14 | 0x42a500 |   0xc80 |            0x66 |          |           |                            |
|  |   |    15 | 0x42b200 |   0xc80 |        0x100066 |          |           |                            |
|  |   |    16 | 0x42bf00 |   0xc80 |        0x200066 |          |           |                            |
|  |   |    17 | 0x42cc00 |   0xc80 |        0x300066 |          |           |                            |
|  |   |    18 | 0x42d900 |   0xc80 |        0x400066 |          |           |                            |
|  |   |    19 | 0x42e600 |   0xc80 |        0x500066 |          |           |                            |
|  |   |    20 | 0x42f300 |   0x564 |            0x6a |          |   0.0.0.1 |          inline_keys(76E9) |
+--+---+-------+----------+---------+-----------------+----------+-----------+----------------------------+

+--+-----------+----------+------+-------+---------------------+
|  | Directory |   Addr   | Type | Magic | Secondary Directory |
+--+-----------+----------+------+-------+---------------------+
|  |     10    | 0x63f000 | BIOS |  $BHD |          --         |
+--+-----------+----------+------+-------+---------------------+
+--+---+-------+----------+---------+-----------------+----------+----------+----------------------------+
|  |   | Entry |  Address |    Size |            Type | Magic/ID |  Version |                       Info |
+--+---+-------+----------+---------+-----------------+----------+----------+----------------------------+
|  |   |     0 | 0x640000 |   0x100 |       0x1000068 |          |  0.0.0.0 |      no_key, legacy_header |
|  |   |     1 | 0x644000 |   0x100 |       0x1000060 |        F |  0.0.0.0 |      no_key, legacy_header |
|  |   |     2 | 0x645000 |   0x100 |       0x1800068 |          |  0.0.0.0 |      no_key, legacy_header |
|  |   |     3 |      0x0 |     0x0 |     FW_GEC~0x61 |          |          |                            |
|  |   |     4 |  0xe8000 | 0x28000 | FW_INVALID~0x63 |          |          |                            |
|  |   |     5 | 0x645200 |  0x4e20 |        0x100064 |     0x05 | 0.0.19.4 | compressed, verified(CC0D) |
|  |   |     6 | 0x64a100 |   0x460 |        0x100065 |     0x05 | 0.0.19.4 | compressed, verified(CC0D) |
|  |   |     7 | 0x64a600 |  0x4f20 |        0x400064 |     0x05 | 0.0.19.4 | compressed, verified(CC0D) |
|  |   |     8 | 0x64f600 |   0x440 |        0x400065 |     0x05 | 0.0.19.4 | compressed, verified(CC0D) |
|  |   |     9 | 0x64fb00 |  0x15c0 |            0x66 |          |          |                            |
|  |   |    10 | 0x651100 |  0x15c0 |        0x300066 |          |          |                            |
|  |   |    11 | 0x652700 |  0x15c0 |        0x400066 |          |          |                            |
|  |   |    12 | 0x654000 |  0x4000 |            0x68 |          |          |                            |
|  |   |    13 | 0x658000 |  0x1000 |     FW_IMC~0x60 |          |          |                            |
|  |   |    14 | 0x659000 |   0x1e0 |        0x800068 |          |          |                            |
|  |   |    15 | 0x659200 |  0x4990 |       0x1100064 |     0x05 | 0.0.10.1 | compressed, verified(CC0D) |
|  |   |    16 | 0x65dc00 |   0x460 |       0x1100065 |     0x05 | 0.0.10.1 | compressed, verified(CC0D) |
|  |   |    17 | 0x65e100 |  0x4be0 |       0x1400064 |     0x05 | 0.0.10.1 | compressed, verified(CC0D) |
|  |   |    18 | 0x662d00 |   0x440 |       0x1400065 |     0x05 | 0.0.10.1 | compressed, verified(CC0D) |
|  |   |    19 | 0x663200 |   0xc80 |        0x100066 |          |          |                            |
|  |   |    20 | 0x663f00 |   0xc80 |        0x200066 |          |          |                            |
+--+---+-------+----------+---------+-----------------+----------+----------+----------------------------+