Kyösti Mälkki (kyosti.malkki@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/791
-gerrit
commit 0a3613c109beaa5038a43b8bc146720c80aa249b Author: Kyösti Mälkki kyosti.malkki@gmail.com Date: Fri Mar 16 07:37:41 2012 +0200
Makefile: XIP_ROM_SIZE error is not fatal
Romstage size exceeds XIP_ROM_SIZE on following boards: intel/truxton intel/xe7501devkit via/epia-n
This marks the complete Jenkins build as failed.
XIP_ROM_SIZE should be increased on these platforms, but only after testing on real hardware that they have sufficient cache.
As a workaround, complete such builds with an unaligned placement of romstage in the flash image binary. These should execute, but very slowly.
Change-Id: I4d7c791958e3d518051207ab97deef5890dac6cf Signed-off-by: Kyösti Mälkki kyosti.malkki@gmail.com --- src/arch/x86/Makefile.inc | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc index 75546f1..da49373 100755 --- a/src/arch/x86/Makefile.inc +++ b/src/arch/x86/Makefile.inc @@ -109,6 +109,7 @@ ifeq ($(CONFIG_INCLUDE_CONFIG_FILE),y) endif mv $@.tmp $@ @printf " CBFSPRINT $(subst $(obj)/,,$(@))\n\n" + if [ -f $(obj)/no_xip ]; then echo "The romstage is larger than XIP size. Please expand the CONFIG_XIP_ROM_SIZE.\n" ; fi $(CBFSTOOL) $@ print
stripped_vgabios_id = $(call strip_quotes,$(CONFIG_VGA_BIOS_ID)) @@ -346,7 +347,11 @@ $(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 || { echo "The romstage is larger than XIP size. Please expand the CONFIG_XIP_ROM_SIZE" ; exit 1; } + rm -f $(obj)/no_xip + $(CBFSTOOL) $(obj)/coreboot.pre1 locate $(obj)/romstage.bin $(CONFIG_CBFS_PREFIX)/romstage $(CONFIG_XIP_ROM_SIZE) > $(obj)/location.txt || touch $(obj)/no_xip + if [ -f $(obj)/no_xip ]; then \ + $(CBFSTOOL) $(obj)/coreboot.pre1 locate $(obj)/romstage.bin $(CONFIG_CBFS_PREFIX)/romstage $(CONFIG_ROM_SIZE) > $(obj)/location.txt || exit 1 ; \ + fi 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)