From d22c2c8772b5775fed7130011dda87de8bc9eb13 Mon Sep 17 00:00:00 2001 From: Zheng Bao Date: Sat, 9 Mar 2024 10:56:06 +0800 Subject: amdfwtool: Remove the dissociated combo BIOS table for recovery A/B For recovery A/B mode, the BIOS tables level 2 are traced by PSP table instead of ROMSIG. There should not be a dedicated BIOS table, nor a combo BIOS table. Change-Id: I8735bd91b32bc9a0e4fc70d293e8d836d5e9c36b Signed-off-by: Zheng Bao Reviewed-on: https://review.coreboot.org/c/coreboot/+/81137 Reviewed-by: Felix Held Tested-by: build bot (Jenkins) --- util/amdfwtool/amdfwtool.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/util/amdfwtool/amdfwtool.c b/util/amdfwtool/amdfwtool.c index 3e718325d6..35d6cdf259 100644 --- a/util/amdfwtool/amdfwtool.c +++ b/util/amdfwtool/amdfwtool.c @@ -1600,7 +1600,8 @@ int main(int argc, char **argv) adjust_current_pointer(&ctx, 0, 0x1000U); - bhd_combo_dir = new_combo_dir(&ctx); + if (!cb_config.recovery_ab) + bhd_combo_dir = new_combo_dir(&ctx); } combo_index = 0; @@ -1723,7 +1724,10 @@ int main(int argc, char **argv) if (!cb_config.use_combo) { fill_bios_directory_to_efs(amd_romsig, biosdir, &ctx, &cb_config); - } else { + } else if (bhd_combo_dir != NULL) { + /* In recovery A/B mode, there isn't a BHD combo directory. + * Instead, the BIOS tables level 2 are linked by PSP tables. + */ fill_bios_directory_to_efs(amd_romsig, bhd_combo_dir, &ctx, &cb_config); assert_fw_entry(combo_index, MAX_COMBO_ENTRIES, &ctx); -- cgit v1.2.3