From fabde37cb8af695c605fc04fa005930de057b9a3 Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Thu, 13 Aug 2009 15:29:01 +0000 Subject: [PATCH] - AMD selected a couple of options that are incompatible with QEmu (and probably others). Only select them for AMD - Make the bootblock smaller (only one copy of it), and don't pad the bootblock using dd(1), but top-align inside cbfstool, to reduce dependencies on unix tools. Signed-off-by: Patrick Georgi Acked-by: Stefan Reinauer git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4542 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/arch/i386/Makefile.inc | 13 ++++--------- src/cpu/amd/model_fxx/Kconfig | 3 +++ util/cbfstool/util.c | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/arch/i386/Makefile.inc b/src/arch/i386/Makefile.inc index ecfa7dc619..cca8917347 100644 --- a/src/arch/i386/Makefile.inc +++ b/src/arch/i386/Makefile.inc @@ -8,12 +8,14 @@ subdirs-y += smp obj-y += ../../option_table.o ifdef POST_EVALUATION +BOOTBLOCK_SIZE=65536 + ####################################################################### # Build the final rom image $(obj)/coreboot.rom: $(obj)/coreboot.bootblock $(obj)/coreboot_ram $(CBFSTOOL) $(Q)rm -f $@ - $(Q)$(CBFSTOOL) $@ create $(shell expr 1024 \* $(CONFIG_COREBOOT_ROMSIZE_KB)) 131072 $(obj)/coreboot.bootblock + $(Q)$(CBFSTOOL) $@ create $(shell expr 1024 \* $(CONFIG_COREBOOT_ROMSIZE_KB)) $(BOOTBLOCK_SIZE) $(obj)/coreboot.bootblock $(Q)if [ -f fallback/coreboot_apc ]; \ then \ $(CBFSTOOL) $@ add-stage fallback/coreboot_apc fallback/coreboot_apc $(CBFS_COMPRESS_FLAG); \ @@ -31,14 +33,7 @@ endif ####################################################################### # Build the bootblock -BOOTBLOCK_SIZE=65536 - -$(obj)/coreboot.bootblock: $(obj)/coreboot.strip - $(Q)printf " CREATE $(subst $(obj)/,,$(@))\n" - $(Q)dd if=$< of=$(obj)/coreboot.bootblock.one obs=$(BOOTBLOCK_SIZE) conv=sync - $(Q)cat $(obj)/coreboot.bootblock.one $(obj)/coreboot.bootblock.one > $(obj)/coreboot.bootblock - -$(obj)/coreboot.strip: $(obj)/coreboot +$(obj)/coreboot.bootblock: $(obj)/coreboot $(Q)printf " OBJCOPY $(subst $(obj)/,,$(@))\n" $(Q)$(OBJCOPY) -O binary $< $@ diff --git a/src/cpu/amd/model_fxx/Kconfig b/src/cpu/amd/model_fxx/Kconfig index db9f5c5a2e..bab2175fee 100644 --- a/src/cpu/amd/model_fxx/Kconfig +++ b/src/cpu/amd/model_fxx/Kconfig @@ -1,13 +1,16 @@ config HAVE_INIT_TIMER bool default y + depends on CPU_AMD_SOCKET_F config HAVE_MOVNTI bool default y + depends on CPU_AMD_SOCKET_F config CPU_ADDR_BITS int default 40 + depends on CPU_AMD_SOCKET_F diff --git a/util/cbfstool/util.c b/util/cbfstool/util.c index e1da4cb6fc..054436d8ca 100644 --- a/util/cbfstool/util.c +++ b/util/cbfstool/util.c @@ -256,7 +256,7 @@ int add_bootblock(struct rom *rom, const char *filename) } /* Copy the bootblock into place at the end of the file */ - ret = copy_from_fd(fd, ROM_PTR(rom, rom->size - ntohl(rom->header->bootblocksize)), size); + ret = copy_from_fd(fd, ROM_PTR(rom, rom->size - size), size); close(fd);