[coreboot-gerrit] Patch set updated for coreboot: coreinfo/cbfs: Don't assume that the free space is at the end

Jonathan Neuschäfer gerrit at coreboot.org
Thu Mar 10 16:04:00 CET 2016


Jonathan Neuschäfer just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14024

-gerrit

commit 384c0629028f8e05e4e784977b0ee45a9861fd97
Author: Jonathan Neuschäfer <j.neuschaefer at gmx.net>
Date:   Thu Mar 10 04:32:46 2016 +0100

    coreinfo/cbfs: Don't assume that the free space is at the end
    
    On emulation/qemu-i440fx, I get this layout:
    
      Name                           Offset     Type         Size
      cbfs master header             0x0        cbfs header  32
      fallback/romstage              0x80       stage        14284
      fallback/ramstage              0x38c0     stage        42382
      fallback/payload               0xdec0     payload      1165052
      config                         0x12a600   raw          352
      revision                       0x12a7c0   raw          572
      cmos_layout.bin                0x12aa40   cmos_layout  772
      fallback/dsdt.aml              0x12ad80   raw          4000
      img/coreinfo                   0x12bd80   payload      1165052
      (empty)                        0x2484c0   null         1799192
      bootblock                      0x3ff900   bootblock    1456
    
    ... which coreinfo displays in the following way, without this patch:
    
      cbfs master header
      fallback/romstage
      fallback/ramstage
      fallback/payload
      config
      revision
      cmos_layout.bin
      fallback/dsdt.aml
      img/coreinfo
    
      <free space>
    
    
    Change-Id: I21eb1dfbe52921843d28683c9396e9b27caa4fbf
    Signed-off-by: Jonathan Neuschäfer <j.neuschaefer at gmx.net>
---
 payloads/coreinfo/cbfs_module.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/payloads/coreinfo/cbfs_module.c b/payloads/coreinfo/cbfs_module.c
index a5ddc53..1a59d01 100644
--- a/payloads/coreinfo/cbfs_module.c
+++ b/payloads/coreinfo/cbfs_module.c
@@ -134,10 +134,15 @@ static int cbfs_module_redraw(WINDOW * win)
 			wattrset(win, COLOR_PAIR(3) | A_BOLD);
 		else
 			wattrset(win, COLOR_PAIR(2));
-		if (i == filecount - 1)
-			mvwprintw(win, 2 + i, 1, "<free space>");
-		else
+
+		if (strlen(filenames[i]) == 0) {
+			if (findfile(filenames[i])->type == COMPONENT_NULL)
+				mvwprintw(win, 2 + i, 1, "<free space>");
+			else
+				mvwprintw(win, 2 + i, 1, "<unnamed>");
+		} else {
 			mvwprintw(win, 2 + i, 1, "%.25s", filenames[i]);
+		}
 	}
 
 	f = findfile(filenames[selected]);



More information about the coreboot-gerrit mailing list