Rework bootblock size handling:
authorPatrick Georgi <patrick.georgi@coresystems.de>
Wed, 11 Nov 2009 21:32:23 +0000 (21:32 +0000)
committerPatrick Georgi <patrick.georgi@coresystems.de>
Wed, 11 Nov 2009 21:32:23 +0000 (21:32 +0000)
- 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

src/arch/i386/Kconfig
src/arch/i386/Makefile.inc
util/cbfstool/cbfstool.c
util/newconfig/config.g

index 860de8689550d42d7683cb4686514dc2bb63c926..9c3ed9f41d392c7ea4f222676a3591decde9367a 100644 (file)
@@ -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
index b43a8a86484bd0c5ea48e750e750bf693259f934..3142c95abee9f450cf6284352496867272439e2d 100644 (file)
@@ -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); \
index d8f2ac1bb324837c5177c07ee06af115e8cb4218..26e443364f324337cf27c398af5069cb9da6708f 100644 (file)
@@ -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");
 }
index 2fba72be77d1e02969b5edb925aa8d05349c3cc2..fbe33bf96f00859646761908965041741e14dd1e 100644 (file)
@@ -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: