Author: oxygene Date: 2009-12-21 14:50:37 +0100 (Mon, 21 Dec 2009) New Revision: 4987
Modified: trunk/src/arch/i386/Makefile.inc trunk/util/cbfstool/cbfstool.c Log: Allow user to specify the size of a newly created cbfs image to be stated in kilobytes or megabytes. Usage is cbfstool coreboot.rom create 1048576 coreboot.bootblock cbfstool coreboot.rom create 1024k coreboot.bootblock cbfstool coreboot.rom create 1m coreboot.bootblock to get an 1048576 bytes = 1024kb = 1mb image.
Kconfig also uses this instead of calculating bytes from kilobytes itself.
Signed-off-by: Patrick Georgi patrick.georgi@coresystems.de Acked-by: Peter Stuge peter@stuge.se
Modified: trunk/src/arch/i386/Makefile.inc =================================================================== --- trunk/src/arch/i386/Makefile.inc 2009-12-21 12:32:29 UTC (rev 4986) +++ trunk/src/arch/i386/Makefile.inc 2009-12-21 13:50:37 UTC (rev 4987) @@ -14,7 +14,7 @@
$(obj)/coreboot.rom: $(obj)/coreboot.bootblock $(obj)/coreboot_ram $(CBFSTOOL) rm -f $@ - $(CBFSTOOL) $@ create $(shell expr 1024 * $(CONFIG_COREBOOT_ROMSIZE_KB)) $(obj)/coreboot.bootblock + $(CBFSTOOL) $@ create $(CONFIG_COREBOOT_ROMSIZE_KB)K $(obj)/coreboot.bootblock if [ -f fallback/coreboot_apc ]; \ then \ $(CBFSTOOL) $@ add-stage fallback/coreboot_apc fallback/coreboot_apc $(CBFS_COMPRESS_FLAG); \
Modified: trunk/util/cbfstool/cbfstool.c =================================================================== --- trunk/util/cbfstool/cbfstool.c 2009-12-21 12:32:29 UTC (rev 4986) +++ trunk/util/cbfstool/cbfstool.c 2009-12-21 13:50:37 UTC (rev 4987) @@ -192,7 +192,14 @@ return 1; }
- uint32_t size = strtoul(argv[3], NULL, 0); + char* suffix; + uint32_t size = strtoul(argv[3], &suffix, 0); + if (tolower(suffix[0])=='k') { + size *= 1024; + } + if (tolower(suffix[0])=='m') { + size *= 1024 * 1024; + } char *bootblock = argv[4]; uint32_t align = 0;