From 6056b97fce79d3534363dcf508ab7b4a18a459d6 Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Wed, 11 Nov 2009 21:32:23 +0000 Subject: Rework bootblock size handling: - don't pretend to create a bootblock as large as the ROM in Kconfig (it's 64k at most) - don't pretend to accept a bootblocksize value in cbfstool create (it ignored it) - patch up the build systems to keep it working Signed-off-by: Patrick Georgi Acked-by: Myles Watson Acked-by: Peter Stuge git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4934 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/arch/i386/Kconfig | 7 +------ src/arch/i386/Makefile.inc | 3 +-- util/cbfstool/cbfstool.c | 11 +++++------ util/newconfig/config.g | 4 ++-- 4 files changed, 9 insertions(+), 16 deletions(-) diff --git a/src/arch/i386/Kconfig b/src/arch/i386/Kconfig index 860de86895..9c3ed9f41d 100644 --- a/src/arch/i386/Kconfig +++ b/src/arch/i386/Kconfig @@ -20,12 +20,7 @@ config ARCH config ROMBASE hex - default 0xffc00000 if COREBOOT_ROMSIZE_KB_4096 - default 0xffe00000 if COREBOOT_ROMSIZE_KB_2048 - default 0xfff00000 if COREBOOT_ROMSIZE_KB_1024 - default 0xfff80000 if COREBOOT_ROMSIZE_KB_512 - default 0xfffc0000 if COREBOOT_ROMSIZE_KB_256 - default 0xfffe0000 if COREBOOT_ROMSIZE_KB_128 + default 0xffff0000 config ROM_IMAGE_SIZE hex diff --git a/src/arch/i386/Makefile.inc b/src/arch/i386/Makefile.inc index b43a8a8648..3142c95abe 100644 --- a/src/arch/i386/Makefile.inc +++ b/src/arch/i386/Makefile.inc @@ -8,14 +8,13 @@ subdirs-y += smp obj-$(CONFIG_HAVE_OPTION_TABLE) += ../../option_table.o ifdef POST_EVALUATION -BOOTBLOCK_SIZE=65536 ####################################################################### # Build the final rom image $(obj)/coreboot.rom: $(obj)/coreboot.bootblock $(obj)/coreboot_ram $(CBFSTOOL) rm -f $@ - $(CBFSTOOL) $@ create $(shell expr 1024 \* $(CONFIG_COREBOOT_ROMSIZE_KB)) $(BOOTBLOCK_SIZE) $(obj)/coreboot.bootblock + $(CBFSTOOL) $@ create $(shell expr 1024 \* $(CONFIG_COREBOOT_ROMSIZE_KB)) $(obj)/coreboot.bootblock if [ -f fallback/coreboot_apc ]; \ then \ $(CBFSTOOL) $@ add-stage fallback/coreboot_apc fallback/coreboot_apc $(CBFS_COMPRESS_FLAG); \ diff --git a/util/cbfstool/cbfstool.c b/util/cbfstool/cbfstool.c index d8f2ac1bb3..26e443364f 100644 --- a/util/cbfstool/cbfstool.c +++ b/util/cbfstool/cbfstool.c @@ -187,18 +187,17 @@ static int cbfs_create(int argc, char **argv) { char *romname = argv[1]; char *cmd = argv[2]; - if (argc < 6) { + if (argc < 5) { printf("not enough arguments to 'create'.\n"); return 1; } uint32_t size = strtoul(argv[3], NULL, 0); - /* ignore bootblock size. we use whatever we get and won't allocate any larger */ - char *bootblock = argv[5]; + char *bootblock = argv[4]; uint32_t align = 0; - if (argc > 6) - align = strtoul(argv[6], NULL, 0); + if (argc > 5) + align = strtoul(argv[5], NULL, 0); return create_cbfs_image(romname, size, bootblock, align); } @@ -255,7 +254,7 @@ void usage(void) "add FILE NAME TYPE [base address] Add a component\n" "add-payload FILE NAME [COMP] [base] Add a payload to the ROM\n" "add-stage FILE NAME [COMP] [base] Add a stage to the ROM\n" - "create SIZE BSIZE BOOTBLOCK [ALIGN] Create a ROM file\n" + "create SIZE BOOTBLOCK [ALIGN] Create a ROM file\n" "locate FILE NAME ALIGN Find a place for a file of that size\n" "print Show the contents of the ROM\n"); } diff --git a/util/newconfig/config.g b/util/newconfig/config.g index 2fba72be77..fbe33bf96f 100644 --- a/util/newconfig/config.g +++ b/util/newconfig/config.g @@ -2295,8 +2295,8 @@ def writemakefile(path): for j in i.roms: file.write(" %s/coreboot.rom " % j) file.write("> %s.bootblock\n\n" %i.name) - file.write("\t./cbfs/cbfstool %s create %s %s %s.bootblock\n" - %(i.name, romsize, bootblocksize, i.name)) + file.write("\t./cbfs/cbfstool %s create %s %s.bootblock\n" + %(i.name, romsize, i.name)) for j in pciroms: file.write("\t./cbfs/cbfstool %s add %s pci%04x,%04x.rom optionrom\n" % (i.name, j.name, j.pci_vid, j.pci_did)) for j in i.roms: -- cgit v1.2.3