diff options
Diffstat (limited to 'src/vendorcode/amd/fsp')
-rw-r--r-- | src/vendorcode/amd/fsp/phoenix/include/bl_uapp/bl_syscall_public.h | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/src/vendorcode/amd/fsp/phoenix/include/bl_uapp/bl_syscall_public.h b/src/vendorcode/amd/fsp/phoenix/include/bl_uapp/bl_syscall_public.h index 623762ad0e..b3e41404e8 100644 --- a/src/vendorcode/amd/fsp/phoenix/include/bl_uapp/bl_syscall_public.h +++ b/src/vendorcode/amd/fsp/phoenix/include/bl_uapp/bl_syscall_public.h @@ -60,6 +60,9 @@ enum verstage_cmd_id { CMD_GET_PREV_BOOT_STATUS, CMD_GET_HSP_SECURE_STATE, CMD_WRITE_POSTCODE, + CMD_SET_FW_HASH_TABLE_STAGE1, + CMD_SET_FW_HASH_TABLE_STAGE2, + CMD_SET_FW_HASH_TABLE_TOS, }; struct mod_exp_params { @@ -178,13 +181,32 @@ struct psp_fw_entry_hash_384 { } __packed; struct psp_fw_hash_table { - uint16_t version; // Version of psp_fw_hash_table, Start with 0. + uint16_t version; // Version 1 of psp_fw_hash_table. uint16_t no_of_entries_256; uint16_t no_of_entries_384; struct psp_fw_entry_hash_256 *fw_hash_256; struct psp_fw_entry_hash_384 *fw_hash_384; } __packed; +struct psp_fw_entry_hash_256_v2 { + uint8_t uuid[16]; + uint8_t sha[32]; +} __packed; + +struct psp_fw_entry_hash_384_v2 { + uint8_t uuid[16]; + uint8_t sha[48]; +} __packed; + +struct psp_fw_hash_table_v2 { + uint16_t version; // Version 2 of psp_fw_hash_table. + uint16_t no_of_entries_256; + uint16_t no_of_entries_384; + uint16_t reserved; // For alignment purposes. + struct psp_fw_entry_hash_256_v2 *fw_hash_256; + struct psp_fw_entry_hash_384_v2 *fw_hash_384; +} __packed; + /* * Exit to the main Boot Loader. This does not return back to user application. * @@ -372,14 +394,15 @@ uint32_t svc_ccp_dma(uint32_t spi_rom_offset, void *dest, uint32_t size); uint32_t svc_set_platform_boot_mode(enum chrome_platform_boot_mode boot_mode); /* - * Set the PSP FW hash table. + * Set PSP FW hash table. * * Parameters: * - hash_table - Table of hash for each PSP binary signed against SoC chain of trust + * - cmd - Cmd to indicate the PSP stage using the hash table * * Return value: BL_OK or error code */ -uint32_t svc_set_fw_hash_table(struct psp_fw_hash_table *hash_table); +uint32_t svc_set_fw_hash_table(enum verstage_cmd_id cmd, void *hash_table); /* Get the previous boot status. * |