Per default, use SeaBIOS payload instead of no payload.
authorStefan Reinauer <stepan@coreboot.org>
Thu, 30 Dec 2010 17:39:50 +0000 (17:39 +0000)
committerStefan Reinauer <stepan@openbios.org>
Thu, 30 Dec 2010 17:39:50 +0000 (17:39 +0000)
Add choice to use stable or master version of seabios repository

Signed-off-by: Stefan Reinauer <stepan@coreboot.org>
Acked-by: Stefan Reinauer <stepan@coreboot.org>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6223 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

Makefile
payloads/external/SeaBIOS/Makefile.inc [new file with mode: 0644]
src/Kconfig
src/arch/x86/Makefile.inc
util/abuild/abuild

index a61acdf9db387af202f39b2ed473c4f41ad259e3..80a859f81e351a52a79ac7947d0a13e253d28371 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -363,6 +363,7 @@ clean-for-update: doxygen-clean
        rm -f $(obj)/mainboard/$(MAINBOARDDIR)/bootblock.* $(obj)/mainboard/$(MAINBOARDDIR)/dsdt.*
        rm -f $(obj)/cpu/x86/smm/smm_bin.c $(obj)/cpu/x86/smm/smm.* $(obj)/cpu/x86/smm/smm
        rmdir -p $(alldirs) 2>/dev/null >/dev/null || true
        rm -f $(obj)/mainboard/$(MAINBOARDDIR)/bootblock.* $(obj)/mainboard/$(MAINBOARDDIR)/dsdt.*
        rm -f $(obj)/cpu/x86/smm/smm_bin.c $(obj)/cpu/x86/smm/smm.* $(obj)/cpu/x86/smm/smm
        rmdir -p $(alldirs) 2>/dev/null >/dev/null || true
+       make -C payloads/external/SeaBIOS clean
 
 clean: clean-for-update
        rm -f $(obj)/coreboot* .ccwrap
 
 clean: clean-for-update
        rm -f $(obj)/coreboot* .ccwrap
diff --git a/payloads/external/SeaBIOS/Makefile.inc b/payloads/external/SeaBIOS/Makefile.inc
new file mode 100644 (file)
index 0000000..120e796
--- /dev/null
@@ -0,0 +1,31 @@
+
+
+TAG-$(CONFIG_SEABIOS_MASTER)=master
+TAG-$(CONFIG_SEABIOS_STABLE)=0.6.1-stable
+
+all: seabios
+
+seabios: patch
+       cd seabios; $(MAKE) CC="$(CC)" LD="$(LD)"
+
+patch: checkout
+       test -r seabios/.patched || \
+       perl -pi -e "s,#define CONFIG_COREBOOT 0,#define CONFIG_COREBOOT 1,;" \
+                -e "s,#define CONFIG_DEBUG_SERIAL 0,#define CONFIG_DEBUG_SERIAL 1,;" \
+                -e "s,#define CONFIG_VGAHOOKS 0,#define CONFIG_VGAHOOKS 1,;" \
+                seabios/src/config.h
+       touch seabios/.patched
+
+checkout:
+       echo "Checking out SeaBIOS $(TAG-y)"
+       test -d seabios && ( cd seabios; git pull ) || \
+       git clone git://git.linuxtogo.org/home/kevin/seabios.git seabios
+       cd seabios; git checkout $(TAG-y)
+
+clean:
+       test -d seabios && (cd seabios; $(MAKE) CC="$(CC)" LD="$(LD)" clean) || exit 0
+
+distclean:
+       rm -rf seabios
+
+.PHONY: seabios
index 6894a6a9257400264a59f141bab24219fc31fcf0..77546b05909ca35104705bc1c4e97aff7827ded6 100644 (file)
@@ -333,7 +333,8 @@ menu "Payload"
 
 choice
        prompt "Add a payload"
 
 choice
        prompt "Add a payload"
-       default PAYLOAD_NONE
+       default PAYLOAD_NONE if !ARCH_X86
+       default PAYLOAD_SEABIOS if ARCH_X86
 
 config PAYLOAD_NONE
        bool "None"
 
 config PAYLOAD_NONE
        bool "None"
@@ -355,6 +356,31 @@ config PAYLOAD_ELF
          You will be able to specify the location and file name of the
          payload image later.
 
          You will be able to specify the location and file name of the
          payload image later.
 
+config PAYLOAD_SEABIOS
+       bool "SeaBIOS"
+       depends on ARCH_X86
+       help
+         Select this option if you want to build a coreboot image
+         with a SeaBIOS payload. If you don't know what this is
+         about, just leave it enabled.
+
+         See http://coreboot.org/Payloads for more information.
+
+endchoice
+
+choice
+       prompt "SeaBIOS version"
+       default SEABIOS_STABLE
+       depends on PAYLOAD_SEABIOS
+
+config SEABIOS_STABLE
+       bool "stable"
+       help
+         Stable SeaBIOS version
+config SEABIOS_MASTER
+       bool "master"
+       help
+         Newest SeaBIOS version
 endchoice
 
 config PAYLOAD_FILE
 endchoice
 
 config PAYLOAD_FILE
@@ -364,11 +390,15 @@ config PAYLOAD_FILE
        help
          The path and filename of the ELF executable file to use as payload.
 
        help
          The path and filename of the ELF executable file to use as payload.
 
+config PAYLOAD_FILE
+       depends on PAYLOAD_SEABIOS
+       default "payloads/external/SeaBIOS/seabios/out/bios.bin.elf"
+
 # TODO: Defined if no payload? Breaks build?
 config COMPRESSED_PAYLOAD_LZMA
        bool "Use LZMA compression for payloads"
        default y
 # TODO: Defined if no payload? Breaks build?
 config COMPRESSED_PAYLOAD_LZMA
        bool "Use LZMA compression for payloads"
        default y
-       depends on PAYLOAD_ELF
+       depends on PAYLOAD_ELF || PAYLOAD_SEABIOS
        help
          In order to reduce the size payloads take up in the ROM chip
          coreboot can compress them using the LZMA algorithm.
        help
          In order to reduce the size payloads take up in the ROM chip
          coreboot can compress them using the LZMA algorithm.
index f847f29caa3288df4799709548d85083ab15fde7..92c4f670ef8db8424ae63908ffcdb0d2fd0b678b 100644 (file)
@@ -34,9 +34,12 @@ endif
 #######################################################################
 # Build the final rom image
 COREBOOT_ROM_DEPENDENCIES:=
 #######################################################################
 # Build the final rom image
 COREBOOT_ROM_DEPENDENCIES:=
-ifneq ($(CONFIG_PAYLOAD_NONE),y)
+ifeq ($(CONFIG_PAYLOAD_ELF),y)
 COREBOOT_ROM_DEPENDENCIES+=$(CONFIG_PAYLOAD_FILE)
 endif
 COREBOOT_ROM_DEPENDENCIES+=$(CONFIG_PAYLOAD_FILE)
 endif
+ifeq ($(CONFIG_PAYLOAD_SEABIOS),y)
+COREBOOT_ROM_DEPENDENCIES+=seabios
+endif
 ifeq ($(CONFIG_VGA_BIOS),y)
 COREBOOT_ROM_DEPENDENCIES+=$(CONFIG_VGA_BIOS_FILE)
 endif
 ifeq ($(CONFIG_VGA_BIOS),y)
 COREBOOT_ROM_DEPENDENCIES+=$(CONFIG_VGA_BIOS_FILE)
 endif
@@ -80,10 +83,15 @@ $(obj)/coreboot.rom: $(obj)/coreboot.pre $(obj)/coreboot_ram $(CBFSTOOL) $(call
        $(CBFSTOOL) $@.tmp add-stage $(obj)/coreboot_ram $(CONFIG_CBFS_PREFIX)/coreboot_ram $(CBFS_COMPRESS_FLAG)
 ifeq ($(CONFIG_PAYLOAD_NONE),y)
        @printf "    PAYLOAD    \e[1;31mnone (as specified by user)\e[0m\n"
        $(CBFSTOOL) $@.tmp add-stage $(obj)/coreboot_ram $(CONFIG_CBFS_PREFIX)/coreboot_ram $(CBFS_COMPRESS_FLAG)
 ifeq ($(CONFIG_PAYLOAD_NONE),y)
        @printf "    PAYLOAD    \e[1;31mnone (as specified by user)\e[0m\n"
-else
+endif
+ifeq ($(CONFIG_PAYLOAD_ELF),y)
        @printf "    PAYLOAD    $(CONFIG_PAYLOAD_FILE) (compression: $(CBFS_PAYLOAD_COMPRESS_NAME))\n"
        $(CBFSTOOL) $@.tmp add-payload $(CONFIG_PAYLOAD_FILE) $(CONFIG_CBFS_PREFIX)/payload $(CBFS_PAYLOAD_COMPRESS_FLAG)
 endif
        @printf "    PAYLOAD    $(CONFIG_PAYLOAD_FILE) (compression: $(CBFS_PAYLOAD_COMPRESS_NAME))\n"
        $(CBFSTOOL) $@.tmp add-payload $(CONFIG_PAYLOAD_FILE) $(CONFIG_CBFS_PREFIX)/payload $(CBFS_PAYLOAD_COMPRESS_FLAG)
 endif
+ifeq ($(CONFIG_PAYLOAD_SEABIOS),y)
+       @printf "    PAYLOAD    SeaBIOS (internal, compression: $(CBFS_PAYLOAD_COMPRESS_NAME))\n"
+       $(CBFSTOOL) $@.tmp add-payload $(CONFIG_PAYLOAD_FILE) $(CONFIG_CBFS_PREFIX)/payload $(CBFS_PAYLOAD_COMPRESS_FLAG)
+endif
 ifeq ($(CONFIG_VGA_BIOS),y)
        @printf "    VGABIOS    $(CONFIG_VGA_BIOS_FILE) $(CONFIG_VGA_BIOS_ID)\n"
        $(CBFSTOOL) $@.tmp add $(CONFIG_VGA_BIOS_FILE) "pci$(CONFIG_VGA_BIOS_ID).rom" optionrom
 ifeq ($(CONFIG_VGA_BIOS),y)
        @printf "    VGABIOS    $(CONFIG_VGA_BIOS_FILE) $(CONFIG_VGA_BIOS_ID)\n"
        $(CBFSTOOL) $@.tmp add $(CONFIG_VGA_BIOS_FILE) "pci$(CONFIG_VGA_BIOS_ID).rom" optionrom
@@ -272,3 +280,10 @@ include $(src)/arch/x86/Makefile.bootblock.inc
 else
 include $(src)/arch/x86/Makefile.bigbootblock.inc
 endif
 else
 include $(src)/arch/x86/Makefile.bigbootblock.inc
 endif
+
+seabios:
+       $(MAKE) -C payloads/external/SeaBIOS -f Makefile.inc \
+                       CC="$(CC)" LD="$(LD)" \
+                       CONFIG_SEABIOS_MASTER=$(CONFIG_SEABIOS_MASTER) \
+                       CONFIG_SEABIOS_STABLE=$(CONFIG_SEABIOS_STABLE)
+
index b44447bec41fb5c487a8467708b5985419c20756..365bacd2e705a7de707f60bf1d11e8caf1fcc929 100755 (executable)
@@ -175,6 +175,7 @@ function create_config
                echo "CONFIG_CBFS_PREFIX=\"$cbfs_prefix\"" >> ${build_dir}/config.build
                if [ "$PAYLOAD" != "/dev/null" ]; then
                        echo "# CONFIG_PAYLOAD_NONE is not set" >> ${build_dir}/config.build
                echo "CONFIG_CBFS_PREFIX=\"$cbfs_prefix\"" >> ${build_dir}/config.build
                if [ "$PAYLOAD" != "/dev/null" ]; then
                        echo "# CONFIG_PAYLOAD_NONE is not set" >> ${build_dir}/config.build
+                       echo "# CONFIG_PAYLOAD_SEABIOS is not set" >> ${build_dir}/config.build
                        echo "CONFIG_PAYLOAD_ELF=y" >> ${build_dir}/config.build
                        echo "CONFIG_PAYLOAD_FILE=\"$PAYLOAD\"" >> ${build_dir}/config.build
                fi
                        echo "CONFIG_PAYLOAD_ELF=y" >> ${build_dir}/config.build
                        echo "CONFIG_PAYLOAD_FILE=\"$PAYLOAD\"" >> ${build_dir}/config.build
                fi