From e079379576faf707c04684787830aad8650e0133 Mon Sep 17 00:00:00 2001 From: Zheng Bao Date: Wed, 13 Mar 2024 23:35:29 +0800 Subject: amdfwtool: Set the level based on cookie It was complicated and weird to check both the cookie and whether one table is a null pointer. Just checking the cookie is enough. TEST=Identical test on all AMD SOC platform Change-Id: Icab74714990f74e11fd5e899661e4e2d41230541 Signed-off-by: Zheng Bao Reviewed-on: https://review.coreboot.org/c/coreboot/+/81208 Reviewed-by: Felix Held Tested-by: build bot (Jenkins) --- util/amdfwtool/amdfwtool.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/util/amdfwtool/amdfwtool.c b/util/amdfwtool/amdfwtool.c index d98c2a4fe5..3e718325d6 100644 --- a/util/amdfwtool/amdfwtool.c +++ b/util/amdfwtool/amdfwtool.c @@ -878,14 +878,13 @@ static void integrate_psp_firmwares(context *ctx, * flattened table which contains all applicable types. These if-else * statements infer what the caller intended. If a 2nd-level cookie * is passed, clearly a 2nd-level table is intended. However, a - * 1st-level cookie may indicate level 1 or flattened. If the caller - * passes a pointer to a 2nd-level table, then assume not flat. + * 1st-level cookie may indicate level 1 or flattened. */ if (!cb_config->multi_level) level = PSP_BOTH; else if (cookie == PSPL2_COOKIE) level = PSP_LVL2; - else if (pspdir2) + else if (cookie == PSP_COOKIE) level = PSP_LVL1; else level = PSP_BOTH; @@ -893,7 +892,7 @@ static void integrate_psp_firmwares(context *ctx, if (recovery_ab) { if (cookie == PSPL2_COOKIE) level = PSP_LVL2_AB; - else if (pspdir2) + else if (cookie == PSP_COOKIE) level = PSP_LVL1_AB; else level = PSP_BOTH_AB; @@ -1180,14 +1179,13 @@ static void integrate_bios_firmwares(context *ctx, * flattened table which contains all applicable types. These if-else * statements infer what the caller intended. If a 2nd-level cookie * is passed, clearly a 2nd-level table is intended. However, a - * 1st-level cookie may indicate level 1 or flattened. If the caller - * passes a pointer to a 2nd-level table, then assume not flat. + * 1st-level cookie may indicate level 1 or flattened. */ if (!cb_config->multi_level) level = BDT_BOTH; else if (cookie == BHDL2_COOKIE) level = BDT_LVL2; - else if (biosdir2) + else if (cookie == BHD_COOKIE) level = BDT_LVL1; else level = BDT_BOTH; -- cgit v1.2.3