add FILO easy payload option
authorStefan Reinauer <stefan.reinauer@coreboot.org>
Fri, 15 Apr 2011 03:34:05 +0000 (03:34 +0000)
committerStefan Reinauer <stepan@openbios.org>
Fri, 15 Apr 2011 03:34:05 +0000 (03:34 +0000)
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

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

diff --git a/payloads/external/FILO/Makefile.inc b/payloads/external/FILO/Makefile.inc
new file mode 100644 (file)
index 0000000..0641c31
--- /dev/null
@@ -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
+
index ca7b898c4f5261b5dec81db0bacf4b24d391f0de..b9539d1a1e976178783ad3f124cbd1dcf45e097a 100644 (file)
@@ -358,6 +358,15 @@ config PAYLOAD_SEABIOS
 
          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
 
 choice
@@ -375,6 +384,21 @@ config SEABIOS_MASTER
          Newest SeaBIOS version
 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
        string "Payload path and filename"
        depends on PAYLOAD_ELF
@@ -386,11 +410,15 @@ config PAYLOAD_FILE
        depends on PAYLOAD_SEABIOS
        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?
 config COMPRESSED_PAYLOAD_LZMA
        bool "Use LZMA compression for payloads"
        default y
-       depends on PAYLOAD_ELF || PAYLOAD_SEABIOS
+       depends on PAYLOAD_ELF || PAYLOAD_SEABIOS || PAYLOAD_FILO
        help
          In order to reduce the size payloads take up in the ROM chip
          coreboot can compress them using the LZMA algorithm.
index e620e1cd09ad7008de61c7a0c216df32e5524041..bf2393ca55c558cdad6109f86e5084b3a8d2bee6 100644 (file)
@@ -43,6 +43,9 @@ endif
 ifeq ($(CONFIG_PAYLOAD_SEABIOS),y)
 COREBOOT_ROM_DEPENDENCIES+=seabios
 endif
+ifeq ($(CONFIG_PAYLOAD_FILO),y)
+COREBOOT_ROM_DEPENDENCIES+=filo
+endif
 ifeq ($(CONFIG_AP_CODE_IN_CAR),y)
 COREBOOT_ROM_DEPENDENCIES+=$(obj)/coreboot_ap
 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)); )
 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 $@
        $(CBFSTOOL) $@ create $(CONFIG_COREBOOT_ROMSIZE_KB)K $(obj)/coreboot.bootblock
        $(prebuild-files)
@@ -86,6 +89,10 @@ 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_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)
        @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
@@ -283,4 +290,11 @@ seabios:
                        OBJCOPY="$(OBJCOPY)" STRIP="$(STRIP)" \
                        CONFIG_SEABIOS_MASTER=$(CONFIG_SEABIOS_MASTER) \
                        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)