summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@coresystems.de>2009-11-11 21:32:23 +0000
committerPatrick Georgi <patrick.georgi@coresystems.de>2009-11-11 21:32:23 +0000
commit6056b97fce79d3534363dcf508ab7b4a18a459d6 (patch)
tree4d4e59ffb8bfb71499f78c26bbc54c92941e5483
parentc243639797dc480eea9d2b3253e1085096bb355a (diff)
downloadcoreboot-6056b97fce79d3534363dcf508ab7b4a18a459d6.tar.xz
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 <patrick.georgi@coresystems.de> Acked-by: Myles Watson <mylesgw@gmail.com> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4934 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--src/arch/i386/Kconfig7
-rw-r--r--src/arch/i386/Makefile.inc3
-rw-r--r--util/cbfstool/cbfstool.c11
-rw-r--r--util/newconfig/config.g4
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: