From 18fd26cb088560fe31c3a569eefe2638ed071fc9 Mon Sep 17 00:00:00 2001 From: Rob Barnes Date: Tue, 3 Mar 2020 10:35:02 -0700 Subject: [PATCH] amdfwtool: Allow for up to 16 APCB entries Increase the number of allowed APCB entries in amdfwtool. BUG=b:150455865 TEST=Boot Trembyle BRANCH=None Signed-off-by: Rob Barnes Change-Id: Ibdd2f2b9766735bc9aba98b5216e589b6cace238 Reviewed-on: https://chromium-review.googlesource.com/2084944 Reviewed-by: Matt Papageorge Reviewed-by: Raul E Rangel Reviewed-on: https://review.coreboot.org/c/coreboot/+/39861 Reviewed-by: Matt Papageorge Reviewed-by: Angel Pons Reviewed-by: Raul Rangel Tested-by: build bot (Jenkins) --- util/amdfwtool/amdfwtool.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/util/amdfwtool/amdfwtool.c b/util/amdfwtool/amdfwtool.c index 4f1e8ba0b7..9c50dbd94d 100644 --- a/util/amdfwtool/amdfwtool.c +++ b/util/amdfwtool/amdfwtool.c @@ -364,11 +364,33 @@ static amd_bios_entry amd_bios_table[] = { { .type = AMD_BIOS_APCB, .inst = 2, .level = BDT_BOTH }, { .type = AMD_BIOS_APCB, .inst = 3, .level = BDT_BOTH }, { .type = AMD_BIOS_APCB, .inst = 4, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB, .inst = 5, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB, .inst = 6, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB, .inst = 7, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB, .inst = 8, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB, .inst = 9, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB, .inst = 10, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB, .inst = 11, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB, .inst = 12, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB, .inst = 13, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB, .inst = 14, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB, .inst = 15, .level = BDT_BOTH }, { .type = AMD_BIOS_APCB_BK, .inst = 0, .level = BDT_BOTH }, { .type = AMD_BIOS_APCB_BK, .inst = 1, .level = BDT_BOTH }, { .type = AMD_BIOS_APCB_BK, .inst = 2, .level = BDT_BOTH }, { .type = AMD_BIOS_APCB_BK, .inst = 3, .level = BDT_BOTH }, { .type = AMD_BIOS_APCB_BK, .inst = 4, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB_BK, .inst = 5, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB_BK, .inst = 6, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB_BK, .inst = 7, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB_BK, .inst = 8, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB_BK, .inst = 9, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB_BK, .inst = 10, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB_BK, .inst = 11, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB_BK, .inst = 12, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB_BK, .inst = 13, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB_BK, .inst = 14, .level = BDT_BOTH }, + { .type = AMD_BIOS_APCB_BK, .inst = 15, .level = BDT_BOTH }, { .type = AMD_BIOS_APOB, .level = BDT_BOTH }, { .type = AMD_BIOS_BIN, .reset = 1, .copy = 1, .zlib = 1, .level = BDT_BOTH }, @@ -470,7 +492,7 @@ typedef struct _bios_directory_table { bios_directory_entry entries[]; } bios_directory_table; -#define MAX_BIOS_ENTRIES 0x1f +#define MAX_BIOS_ENTRIES 0x22 typedef struct _context { char *rom; /* target buffer, size of flash device */ @@ -1004,7 +1026,8 @@ static void integrate_bios_firmwares(context *ctx, } if (count > MAX_BIOS_ENTRIES) { - printf("Error: BIOS entries exceeds max allowed items\n"); + printf("Error: BIOS entries (%d) exceeds max allowed items " + "(%d)\n", count, MAX_BIOS_ENTRIES); free(ctx->rom); exit(1); }