[coreboot] [commit] r6223 - in trunk: . payloads/external/SeaBIOS src src/arch/x86 util/abuild

repository service svn at coreboot.org
Thu Dec 30 18:39:50 CET 2010


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 <stepan at coreboot.org>
Acked-by: Stefan Reinauer <stepan at coreboot.org>

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) $@.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
+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
@@ -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




More information about the coreboot mailing list