Author: stepan
Date: Thu Dec 30 18:39:50 2010
New Revision: 6223
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6223

Log:
Per default, use SeaBIOS payload instead of no payload.
Add choice to use stable or master version of seabios repository

Signed-off-by: Stefan Reinauer <[email protected]>
Acked-by: Stefan Reinauer <[email protected]>

Added:
   trunk/payloads/external/SeaBIOS/
   trunk/payloads/external/SeaBIOS/Makefile.inc
Modified:
   trunk/Makefile
   trunk/src/Kconfig
   trunk/src/arch/x86/Makefile.inc
   trunk/util/abuild/abuild

Modified: trunk/Makefile
==============================================================================
--- trunk/Makefile      Thu Dec 30 17:57:58 2010        (r6222)
+++ trunk/Makefile      Thu Dec 30 18:39:50 2010        (r6223)
@@ -363,6 +363,7 @@
        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

Added: trunk/payloads/external/SeaBIOS/Makefile.inc
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ trunk/payloads/external/SeaBIOS/Makefile.inc        Thu Dec 30 18:39:50 
2010        (r6223)
@@ -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

Modified: trunk/src/Kconfig
==============================================================================
--- trunk/src/Kconfig   Thu Dec 30 17:57:58 2010        (r6222)
+++ trunk/src/Kconfig   Thu Dec 30 18:39:50 2010        (r6223)
@@ -333,7 +333,8 @@
 
 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"
@@ -355,6 +356,31 @@
          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
@@ -364,11 +390,15 @@
        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
-       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.

Modified: trunk/src/arch/x86/Makefile.inc
==============================================================================
--- trunk/src/arch/x86/Makefile.inc     Thu Dec 30 17:57:58 2010        (r6222)
+++ trunk/src/arch/x86/Makefile.inc     Thu Dec 30 18:39:50 2010        (r6223)
@@ -34,9 +34,12 @@
 #######################################################################
 # 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
+ifeq ($(CONFIG_PAYLOAD_SEABIOS),y)
+COREBOOT_ROM_DEPENDENCIES+=seabios
+endif
 ifeq ($(CONFIG_VGA_BIOS),y)
 COREBOOT_ROM_DEPENDENCIES+=$(CONFIG_VGA_BIOS_FILE)
 endif
@@ -80,10 +83,15 @@
        $(CBFSTOOL) [email protected] 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) [email protected] 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) [email protected] 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) [email protected] add $(CONFIG_VGA_BIOS_FILE) 
"pci$(CONFIG_VGA_BIOS_ID).rom" optionrom
@@ -272,3 +280,10 @@
 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)
+

Modified: trunk/util/abuild/abuild
==============================================================================
--- trunk/util/abuild/abuild    Thu Dec 30 17:57:58 2010        (r6222)
+++ trunk/util/abuild/abuild    Thu Dec 30 18:39:50 2010        (r6223)
@@ -175,6 +175,7 @@
                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

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to