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@coreboot.org> Acked-by: Stefan Reinauer <stepan@coreboot.org> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6223 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
		
				
					committed by
					
						
						Stefan Reinauer
					
				
			
			
				
	
			
			
			
						parent
						
							d7ce71d58f
						
					
				
				
					commit
					f1939bb29b
				
			
							
								
								
									
										1
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								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
 | 
			
		||||
	make -C payloads/external/SeaBIOS clean
 | 
			
		||||
 | 
			
		||||
clean: clean-for-update
 | 
			
		||||
	rm -f $(obj)/coreboot* .ccwrap
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										31
									
								
								payloads/external/SeaBIOS/Makefile.inc
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								payloads/external/SeaBIOS/Makefile.inc
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -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
 | 
			
		||||
							
								
								
									
										34
									
								
								src/Kconfig
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								src/Kconfig
									
									
									
									
									
								
							@@ -333,7 +333,8 @@ menu "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"
 | 
			
		||||
@@ -355,6 +356,31 @@ config PAYLOAD_ELF
 | 
			
		||||
	  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 @@ config PAYLOAD_FILE
 | 
			
		||||
	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.
 | 
			
		||||
 
 | 
			
		||||
@@ -34,9 +34,12 @@ endif
 | 
			
		||||
#######################################################################
 | 
			
		||||
# 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 @@ $(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"
 | 
			
		||||
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 @@ include $(src)/arch/x86/Makefile.bootblock.inc
 | 
			
		||||
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)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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_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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user