aboutsummaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorZheng Bao <fishbaozi@gmail.com>2024-03-09 10:56:06 +0800
committerFelix Held <felix-coreboot@felixheld.de>2024-03-18 14:55:08 +0000
commitd22c2c8772b5775fed7130011dda87de8bc9eb13 (patch)
tree70b97a36db5760a05cc563195fb47cac735919fc /util
parent686d8100925a4dcde1948142256df78cbd841284 (diff)
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 <fishbaozi@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/81137 Reviewed-by: Felix Held <felix-coreboot@felixheld.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'util')
-rw-r--r--util/amdfwtool/amdfwtool.c8
1 files 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);