diff options
author | Karthikeyan Ramasubramanian <kramasub@google.com> | 2023-07-13 17:24:13 -0600 |
---|---|---|
committer | Martin L Roth <gaumless@gmail.com> | 2023-08-04 20:51:53 +0000 |
commit | abaca2a399e3aa7b344f5adcf1a2a138b00f2df1 (patch) | |
tree | 7a019a8e1b9146ec385f0bc5d50c73a75d92f4b4 /util/amdfwtool/amdfwtool.h | |
parent | 24b522709132d542386eb71e684ed13f42bf1fdc (diff) |
util/amdfwtool: Introduce support for Hash Table v2
Some stages in bootflow prefer to use 16 bytes UUID instead of
traditional 2 bytes FWID to identify the firmware components they
verify/validate. Hence add version 2 of hash table which identifies
firmware components using UUID. Other than UUID and a reserved field for
alignment reasons, the format of the hash table is very similar to hash
table v1.
BUG=b:277292697
TEST=Build and boot to OS in Myst with PSP Verstage enabled. Ensure that
the hash table v2 is built and installed into BIOS image for the
components that are configured in amdfw.cfg file. Ensure that the
validation by PSP is successful for all the relevant components during
the boot flow.
Change-Id: I2899154086cf8e90c3327178157b07ead034b16e
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/76586
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'util/amdfwtool/amdfwtool.h')
-rw-r--r-- | util/amdfwtool/amdfwtool.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/util/amdfwtool/amdfwtool.h b/util/amdfwtool/amdfwtool.h index aa5a98a131..5558f5b7d9 100644 --- a/util/amdfwtool/amdfwtool.h +++ b/util/amdfwtool/amdfwtool.h @@ -335,8 +335,13 @@ typedef enum _fwid_type { FWID_TYPE_UUID, } fwid_type_t; +#define UUID_LEN_BYTES 16 typedef struct _amd_fw_entry_hash { - uint16_t fw_id; + fwid_type_t fwid_type; + union { + uint16_t fw_id; + uint8_t uuid[UUID_LEN_BYTES]; + }; uint16_t subtype; uint32_t sha_len; uint8_t sha[SHA384_DIGEST_LENGTH]; |