Subrata Banik has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/44813 )
Change subject: util/ifdtool: Skip unused Flash Region Section ......................................................................
util/ifdtool: Skip unused Flash Region Section
This patch ensures all unused flash region sections are not getting listed while using -d option to dump FD.
BUG=b:153888802 TEST=List only used flash region section with below command
ifdtool -p tgl -d coreboot.rom
Without this CL : Found Region Section FLREG0: 0x00000000 Flash Region 0 (Flash Descriptor): 00000000 - 00000fff FLREG1: 0x1fff0400 Flash Region 1 (BIOS): 00400000 - 01ffffff FLREG2: 0x03ff0001 Flash Region 2 (Intel ME): 00001000 - 003fffff FLREG3: 0x00007fff Flash Region 3 (GbE): 07fff000 - 00000fff (unused) FLREG4: 0x00007fff Flash Region 4 (Platform Data): 07fff000 - 00000fff (unused) FLREG5: 0x00007fff Flash Region 5 (Reserved): 07fff000 - 00000fff (unused) FLREG6: 0x00007fff Flash Region 6 (Reserved): 07fff000 - 00000fff (unused) FLREG7: 0x00007fff Flash Region 7 (Reserved): 07fff000 - 00000fff (unused) FLREG8: 0x00007fff Flash Region 8 (EC): 07fff000 - 00000fff (unused)
With this CL : Found Region Section FLREG0: 0x00000000 Flash Region 0 (Flash Descriptor): 00000000 - 00000fff FLREG1: 0x1fff0400 Flash Region 1 (BIOS): 00400000 - 01ffffff FLREG2: 0x03ff0001 Flash Region 2 (Intel ME): 00001000 - 003fffff
Signed-off-by: Subrata Banik subrata.banik@intel.com Change-Id: I900a29d8968bd61d66c04012e60e1ba4baff786d --- M util/ifdtool/ifdtool.c 1 file changed, 6 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/13/44813/1
diff --git a/util/ifdtool/ifdtool.c b/util/ifdtool/ifdtool.c index 6777316..e096864 100644 --- a/util/ifdtool/ifdtool.c +++ b/util/ifdtool/ifdtool.c @@ -373,10 +373,14 @@ static void dump_frba(const frba_t *frba) { unsigned int i; + region_t region; printf("Found Region Section\n"); for (i = 0; i < max_regions; i++) { - printf("FLREG%u: 0x%08x\n", i, frba->flreg[i]); - dump_region(i, frba); + region = get_region(frba, i); + if (region.size > 1) { + printf("FLREG%u: 0x%08x\n", i, frba->flreg[i]); + dump_region(i, frba); + } } }