add FILO easy payload option

Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Acked-by: Stefan Reinauer <stefan.reinauer@coreboot.org>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6504 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Stefan Reinauer
2011-04-15 03:34:05 +00:00
committed by Stefan Reinauer
parent d85400d805
commit e50952f532
3 changed files with 87 additions and 2 deletions

43
payloads/external/FILO/Makefile.inc vendored Normal file
View File

@@ -0,0 +1,43 @@
TAG-$(CONFIG_FILO_MASTER)=
NAME-$(CONFIG_FILO_MASTER)=HEAD
TAG-$(CONFIG_FILO_STABLE)=-r 139
NAME-$(CONFIG_FILO_STABLE)=STABLE
unexport KCONFIG_AUTOCONFIG
all: filo
checkout:
echo " SVN FILO $(NAME-y)"
test -d filo || \
svn co svn://coreboot.org/filo/trunk/filo $(TAG-y)
cd filo; svn update $(TAG-y)
config: libpayload
echo " CONFIG FILO $(NAME-y)"
$(MAKE) -C filo defconfig
echo "CONFIG_COREBOOT=y" >> filo/.config
echo "CONFIG_DEBUG_SERIAL=y" >> filo/.config
echo "CONFIG_COREBOOT_FLASH=y" >> filo/.config
echo "CONFIG_LZMA=y" >> filo/.config
echo "CONFIG_FLASH_FLOPPY=y" >> filo/.config
echo "CONFIG_VGAHOOKS=y" >> filo/.config
# This shows how to force a previously set .config option *off*
#echo "# CONFIG_SMBIOS is not set" >> filo/.config
filo: config
echo " MAKE FILO $(NAME-y)"
$(MAKE) -C filo
libpayload: checkout
cd ../../libpayload && $(MAKE) defconfig && \
$(MAKE) && $(MAKE) DESTDIR=../external/FILO/filo/build install
clean:
test -d filo && $(MAKE) -C filo clean || exit 0
distclean:
rm -rf filo
.PHONY: checkout config filo clean distclean

View File

@@ -358,6 +358,15 @@ config PAYLOAD_SEABIOS
See http://coreboot.org/Payloads for more information. See http://coreboot.org/Payloads for more information.
config PAYLOAD_FILO
bool "FILO"
help
Select this option if you want to build a coreboot image
with a FILO payload. If you don't know what this is
about, just leave it enabled.
See http://coreboot.org/Payloads for more information.
endchoice endchoice
choice choice
@@ -375,6 +384,21 @@ config SEABIOS_MASTER
Newest SeaBIOS version Newest SeaBIOS version
endchoice endchoice
choice
prompt "FILO version"
default FILO_STABLE
depends on PAYLOAD_FILO
config FILO_STABLE
bool "0.6.0"
help
Stable FILO version
config FILO_MASTER
bool "HEAD"
help
Newest FILO version
endchoice
config PAYLOAD_FILE config PAYLOAD_FILE
string "Payload path and filename" string "Payload path and filename"
depends on PAYLOAD_ELF depends on PAYLOAD_ELF
@@ -386,11 +410,15 @@ config PAYLOAD_FILE
depends on PAYLOAD_SEABIOS depends on PAYLOAD_SEABIOS
default "payloads/external/SeaBIOS/seabios/out/bios.bin.elf" default "payloads/external/SeaBIOS/seabios/out/bios.bin.elf"
config PAYLOAD_FILE
depends on PAYLOAD_FILO
default "payloads/external/FILO/filo/build/filo.elf"
# TODO: Defined if no payload? Breaks build? # TODO: Defined if no payload? Breaks build?
config COMPRESSED_PAYLOAD_LZMA config COMPRESSED_PAYLOAD_LZMA
bool "Use LZMA compression for payloads" bool "Use LZMA compression for payloads"
default y default y
depends on PAYLOAD_ELF || PAYLOAD_SEABIOS depends on PAYLOAD_ELF || PAYLOAD_SEABIOS || PAYLOAD_FILO
help help
In order to reduce the size payloads take up in the ROM chip In order to reduce the size payloads take up in the ROM chip
coreboot can compress them using the LZMA algorithm. coreboot can compress them using the LZMA algorithm.

View File

@@ -43,6 +43,9 @@ endif
ifeq ($(CONFIG_PAYLOAD_SEABIOS),y) ifeq ($(CONFIG_PAYLOAD_SEABIOS),y)
COREBOOT_ROM_DEPENDENCIES+=seabios COREBOOT_ROM_DEPENDENCIES+=seabios
endif endif
ifeq ($(CONFIG_PAYLOAD_FILO),y)
COREBOOT_ROM_DEPENDENCIES+=filo
endif
ifeq ($(CONFIG_AP_CODE_IN_CAR),y) ifeq ($(CONFIG_AP_CODE_IN_CAR),y)
COREBOOT_ROM_DEPENDENCIES+=$(obj)/coreboot_ap COREBOOT_ROM_DEPENDENCIES+=$(obj)/coreboot_ap
endif endif
@@ -58,7 +61,7 @@ prebuild-files = \
$(CBFSTOOL) $@ add $(call extract_nth,1,$(file)) $(call extract_nth,2,$(file)) $(call extract_nth,3,$(file)) $(call extract_nth,4,$(file)); ) $(CBFSTOOL) $@ add $(call extract_nth,1,$(file)) $(call extract_nth,2,$(file)) $(call extract_nth,3,$(file)) $(call extract_nth,4,$(file)); )
prebuilt-files = $(foreach file,$(cbfs-files), $(call extract_nth,1,$(file))) prebuilt-files = $(foreach file,$(cbfs-files), $(call extract_nth,1,$(file)))
$(obj)/coreboot.pre1: $(obj)/coreboot.bootblock $$(prebuilt-files) $(CBFSTOOL) $(obj)/coreboot.pre1: $(obj)/coreboot.bootblock $(prebuilt-files) $(CBFSTOOL)
rm -f $@ rm -f $@
$(CBFSTOOL) $@ create $(CONFIG_COREBOOT_ROMSIZE_KB)K $(obj)/coreboot.bootblock $(CBFSTOOL) $@ create $(CONFIG_COREBOOT_ROMSIZE_KB)K $(obj)/coreboot.bootblock
$(prebuild-files) $(prebuild-files)
@@ -86,6 +89,10 @@ ifeq ($(CONFIG_PAYLOAD_SEABIOS),y)
@printf " PAYLOAD SeaBIOS (internal, compression: $(CBFS_PAYLOAD_COMPRESS_NAME))\n" @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) $(CBFSTOOL) $@.tmp add-payload $(CONFIG_PAYLOAD_FILE) $(CONFIG_CBFS_PREFIX)/payload $(CBFS_PAYLOAD_COMPRESS_FLAG)
endif endif
ifeq ($(CONFIG_PAYLOAD_FILO),y)
@printf " PAYLOAD FILO (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_GEODE_VSA_FILE),y) ifeq ($(CONFIG_GEODE_VSA_FILE),y)
@printf " VSA $(CONFIG_VSA_FILENAME)\n" @printf " VSA $(CONFIG_VSA_FILENAME)\n"
$(OBJCOPY) --set-start 0x20 --adjust-vma 0x60000 -I binary -O elf32-i386 -B i386 $(CONFIG_VSA_FILENAME) $(obj)/vsa.o $(OBJCOPY) --set-start 0x20 --adjust-vma 0x60000 -I binary -O elf32-i386 -B i386 $(CONFIG_VSA_FILENAME) $(obj)/vsa.o
@@ -283,4 +290,11 @@ seabios:
OBJCOPY="$(OBJCOPY)" STRIP="$(STRIP)" \ OBJCOPY="$(OBJCOPY)" STRIP="$(STRIP)" \
CONFIG_SEABIOS_MASTER=$(CONFIG_SEABIOS_MASTER) \ CONFIG_SEABIOS_MASTER=$(CONFIG_SEABIOS_MASTER) \
CONFIG_SEABIOS_STABLE=$(CONFIG_SEABIOS_STABLE) CONFIG_SEABIOS_STABLE=$(CONFIG_SEABIOS_STABLE)
filo:
$(MAKE) -C payloads/external/FILO -f Makefile.inc \
HOSTCC="$(HOSTCC)" \
CC="$(CC)" LD="$(LD)" OBJDUMP="$(OBJDUMP)" \
OBJCOPY="$(OBJCOPY)" STRIP="$(STRIP)" \
CONFIG_FILO_MASTER=$(CONFIG_FILO_MASTER) \
CONFIG_FILO_STABLE=$(CONFIG_FILO_STABLE)