summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/arch/x86/Makefile.inc2
-rw-r--r--util/cbfstool/cbfstool.c5
2 files changed, 4 insertions, 3 deletions
diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc
index c9cbb01b4a..624b5104d0 100755
--- a/src/arch/x86/Makefile.inc
+++ b/src/arch/x86/Makefile.inc
@@ -346,7 +346,7 @@ $(obj)/coreboot.romstage: $(obj)/coreboot.pre1 $$(romstage-objs) $(obj)/romstage
$(CC) -nostdlib -nostartfiles -static -o $(obj)/romstage.elf -L$(obj) -T $(obj)/romstage/ldscript.ld $(romstage-objs)
$(OBJCOPY) -O binary $(obj)/romstage.elf $(obj)/romstage.bin
printf "CONFIG_ROMBASE = 0x" > $(obj)/location.ld
- $(CBFSTOOL) $(obj)/coreboot.pre1 locate $(obj)/romstage.bin $(CONFIG_CBFS_PREFIX)/romstage $(CONFIG_XIP_ROM_SIZE) > $(obj)/location.txt
+ $(CBFSTOOL) $(obj)/coreboot.pre1 locate $(obj)/romstage.bin $(CONFIG_CBFS_PREFIX)/romstage $(CONFIG_XIP_ROM_SIZE) > $(obj)/location.txt || { echo "The romstage is larger than XIP size. Please expand the CONFIG_XIP_ROM_SIZE" ; exit 1; }
cat $(obj)/location.txt >> $(obj)/location.ld
printf ';\n' >> $(obj)/location.ld
$(CC) -nostdlib -nostartfiles -static -o $(obj)/romstage.elf -L$(obj) -T $(obj)/romstage/ldscript.ld $(romstage-objs)
diff --git a/util/cbfstool/cbfstool.c b/util/cbfstool/cbfstool.c
index b8abb515bf..939221e66d 100644
--- a/util/cbfstool/cbfstool.c
+++ b/util/cbfstool/cbfstool.c
@@ -232,9 +232,10 @@ static int cbfs_locate(int argc, char **argv)
uint32_t filesize = getfilesize(file);
const char *filename = argv[4];
int align = strtoul(argv[5], NULL, 0);
+ uint32_t location = cbfs_find_location(romname, filesize, filename, align);
- printf("%x\n", cbfs_find_location(romname, filesize, filename, align));
- return 0;
+ printf("%x\n", location);
+ return location == 0 ? 1 : 0;
}
static int cbfs_print(int argc, char **argv)