This patch series is the final proposal from Aneesh and myself for a generic SPL framework. The implementation already works and have been tested with in-tree and out-of-tree builds. The latest feedback from ML is already included.
How it works There is a new directory TOPDIR/spl which contains only a Makefile. All source files needed by SPL are recompiled inside this directory and linked to the final binaries named u-boot-spl[.bin|.map]. During the SPL build a variable named CONFIG_SPL_BUILD is exported in the make environment and also appended to CPPFLAGS with -DCONFIG_SPL_BUILD. Thus makefiles and source files are able to build things differently for SPL. Config options CONFIG_SPL Enable building of SPL globally. CONFIG_SPL_TEXT_BASE TEXT_BASE that is used when linking the SPL binary. CONFIG_SPL_GC_SECTIONS Optionally enforce garbage collecting of sections for SPL. Useful if this is not yet fully supported by ARCH, CPU or SOC CONFIG_SPL_LIBCOMMON_SUPPORT CONFIG_SPL_LIBDISK_SUPPORT CONFIG_SPL_I2C_SUPPORT CONFIG_SPL_GPIO_SUPPORT CONFIG_SPL_MMC_SUPPORT CONFIG_SPL_SERIAL_SUPPORT CONFIG_SPL_SPI_FLASH_SUPPORT CONFIG_SPL_SPI_SUPPORT CONFIG_SPL_FAT_SUPPORT CONFIG_SPL_LIBGENERIC_SUPPORT Enable building and linking of common libraries and drivers into the SPL binary. Aneesh V (3): arm: adjust PLATFORM_LIBS for SPL scaled down version of generic libraries for SPL replace CONFIG_PRELOADER with CONFIG_SPL_BUILD Daniel Schwierzeck (6): Use ALL-y style instead of ifeq blocks for better readability spl: add initial support for a generic SPL framework Extend build-system for SPL framework Hook SPL build-system into toplevel Makefile spl: Add support for common libraries and drivers spl: add support for omap-common libraries Makefile | 28 +++---- README | 2 +- arch/arm/config.mk | 11 ++- arch/arm/cpu/arm1136/start.S | 20 +++--- arch/arm/cpu/arm1176/start.S | 4 +- arch/arm/cpu/arm720t/start.S | 4 +- arch/arm/cpu/arm920t/start.S | 4 +- arch/arm/cpu/arm925t/start.S | 4 +- arch/arm/cpu/arm926ejs/start.S | 18 ++-- arch/arm/cpu/arm946es/start.S | 4 +- arch/arm/cpu/arm_intcm/start.S | 4 +- arch/arm/cpu/armv7/start.S | 6 +- arch/arm/cpu/ixp/start.S | 4 +- arch/arm/cpu/lh7a40x/start.S | 4 +- arch/arm/cpu/pxa/start.S | 30 ++++---- arch/arm/cpu/s3c44b0/start.S | 4 +- arch/arm/cpu/sa1100/start.S | 4 +- arch/arm/lib/Makefile | 2 + arch/arm/lib/board.c | 2 +- arch/blackfin/config.mk | 2 +- board/pcs440ep/config.mk | 2 +- board/spear/spear300/config.mk | 2 +- board/spear/spear310/config.mk | 2 +- board/spear/spear320/config.mk | 2 +- board/spear/spear600/config.mk | 2 +- common/Makefile | 9 ++- config.mk | 36 +++++++++- drivers/serial/Makefile | 3 + fs/fat/Makefile | 6 +- lib/Makefile | 11 ++- mmc_spl/board/samsung/smdkv310/Makefile | 2 +- nand_spl/board/davinci/da8xxevm/Makefile | 4 +- nand_spl/board/freescale/mx31pdk/Makefile | 4 +- nand_spl/board/karo/tx25/Makefile | 4 +- onenand_ipl/board/apollon/Makefile | 4 +- onenand_ipl/board/vpac270/Makefile | 4 +- spl/.gitignore | 4 + spl/Makefile | 119 +++++++++++++++++++++++++++++ 38 files changed, 278 insertions(+), 103 deletions(-) create mode 100644 spl/.gitignore create mode 100644 spl/Makefile -- 1.7.6 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot