amdfwtool: Add definition of instance for PSP entry
Change-Id: I9f6250fd0e26cfae2cc2128ca9413a5621d2df0c Signed-off-by: Zheng Bao <fishbaozi@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/69044 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin L Roth <gaumless@gmail.com>
This commit is contained in:
parent
06eb6946d0
commit
5ca1343b5f
2 changed files with 14 additions and 2 deletions
|
@ -166,7 +166,16 @@ typedef struct _psp_directory_header {
|
||||||
typedef struct _psp_directory_entry {
|
typedef struct _psp_directory_entry {
|
||||||
uint8_t type;
|
uint8_t type;
|
||||||
uint8_t subprog;
|
uint8_t subprog;
|
||||||
uint16_t rsvd;
|
union {
|
||||||
|
uint16_t rsvd;
|
||||||
|
struct {
|
||||||
|
uint8_t rom_id:2;
|
||||||
|
uint8_t writable:1;
|
||||||
|
uint8_t inst:4;
|
||||||
|
uint8_t rsvd_1:1;
|
||||||
|
uint8_t rsvd_2:8;
|
||||||
|
} __attribute__((packed));
|
||||||
|
};
|
||||||
uint32_t size;
|
uint32_t size;
|
||||||
uint64_t addr:62; /* or a value in some cases */
|
uint64_t addr:62; /* or a value in some cases */
|
||||||
uint64_t address_mode:2;
|
uint64_t address_mode:2;
|
||||||
|
@ -300,6 +309,7 @@ typedef struct _amd_fw_entry {
|
||||||
uint16_t fw_id;
|
uint16_t fw_id;
|
||||||
char *filename;
|
char *filename;
|
||||||
uint8_t subprog;
|
uint8_t subprog;
|
||||||
|
uint8_t inst;
|
||||||
uint64_t dest;
|
uint64_t dest;
|
||||||
size_t size;
|
size_t size;
|
||||||
int level;
|
int level;
|
||||||
|
|
|
@ -106,6 +106,7 @@ static uint8_t find_register_fw_filename_psp_dir(char *fw_name, char *filename,
|
||||||
amd_fw_type fw_type = AMD_FW_INVALID;
|
amd_fw_type fw_type = AMD_FW_INVALID;
|
||||||
amd_fw_entry *psp_tableptr;
|
amd_fw_entry *psp_tableptr;
|
||||||
uint8_t subprog;
|
uint8_t subprog;
|
||||||
|
uint8_t instance = 0;
|
||||||
|
|
||||||
if (strcmp(fw_name, "PSPBTLDR_WL_FILE") == 0) {
|
if (strcmp(fw_name, "PSPBTLDR_WL_FILE") == 0) {
|
||||||
if (cb_config->have_whitelist) {
|
if (cb_config->have_whitelist) {
|
||||||
|
@ -380,7 +381,8 @@ static uint8_t find_register_fw_filename_psp_dir(char *fw_name, char *filename,
|
||||||
if (fw_type != AMD_FW_SKIP && fw_type != AMD_FW_INVALID) {
|
if (fw_type != AMD_FW_SKIP && fw_type != AMD_FW_INVALID) {
|
||||||
while (psp_tableptr->type != AMD_FW_INVALID) {
|
while (psp_tableptr->type != AMD_FW_INVALID) {
|
||||||
/* instance are not used in PSP table */
|
/* instance are not used in PSP table */
|
||||||
if (psp_tableptr->type == fw_type && psp_tableptr->subprog == subprog) {
|
if (psp_tableptr->type == fw_type && psp_tableptr->subprog == subprog
|
||||||
|
&& psp_tableptr->inst == instance) {
|
||||||
psp_tableptr->filename = filename;
|
psp_tableptr->filename = filename;
|
||||||
SET_LEVEL(psp_tableptr, level_to_set, PSP,
|
SET_LEVEL(psp_tableptr, level_to_set, PSP,
|
||||||
cb_config->recovery_ab);
|
cb_config->recovery_ab);
|
||||||
|
|
Loading…
Reference in a new issue