[coreboot-gerrit] New patch to review for coreboot: ifdtool: promote max_regions as global

Alexander Couzens (lynxis@fe80.eu) gerrit at coreboot.org
Sat Oct 8 00:41:47 CEST 2016


Alexander Couzens (lynxis at fe80.eu) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16934

-gerrit

commit 403c68017ff03b24415fdbe1faa7393822c289f0
Author: Alexander Couzens <lynxis at fe80.eu>
Date:   Sat Oct 8 00:29:15 2016 +0200

    ifdtool: promote max_regions as global
    
    max_regions is set to the maximal regions based on the ifd version
    
    Change-Id: I9fa5a4565f4dbd67b5c6df97756311560e2a18bc
    Signed-off-by: Alexander Couzens <lynxis at fe80.eu>
---
 util/ifdtool/ifdtool.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/util/ifdtool/ifdtool.c b/util/ifdtool/ifdtool.c
index 43054e0..b8f409a 100644
--- a/util/ifdtool/ifdtool.c
+++ b/util/ifdtool/ifdtool.c
@@ -28,6 +28,7 @@
 #endif
 
 static int ifd_version;
+static int max_regions = 0;
 static int selected_chip = 0;
 
 static const struct region_name region_names[MAX_REGIONS] = {
@@ -85,9 +86,11 @@ static void check_ifd_version(char *image, int size)
 	switch (read_freq) {
 	case SPI_FREQUENCY_20MHZ:
 		ifd_version = IFD_VERSION_1;
+		max_regions = MAX_REGIONS_OLD;
 		break;
 	case SPI_FREQUENCY_17MHZ:
 		ifd_version = IFD_VERSION_2;
+		max_regions = MAX_REGIONS;
 		break;
 	default:
 		fprintf(stderr, "Unknown descriptor version: %d\n",
@@ -653,7 +656,6 @@ static void dump_layout(char *image, int size, char *layout_fname)
 static void write_regions(char *image, int size)
 {
 	int i;
-	int max_regions = MAX_REGIONS;
 
 	fdbar_t *fdb = find_fd(image, size);
 	if (!fdb)
@@ -662,10 +664,6 @@ static void write_regions(char *image, int size)
 	frba_t *frba =
 	    (frba_t *) (image + (((fdb->flmap0 >> 16) & 0xff) << 4));
 
-	/* Older descriptor images have fewer regions */
-	if (ifd_version < IFD_VERSION_2)
-		max_regions = MAX_REGIONS_OLD;
-
 	for (i = 0; i < max_regions; i++) {
 		region_t region = get_region(frba, i);
 		dump_region(i, frba);



More information about the coreboot-gerrit mailing list