[U-Boot] [RFC PATCH v1 0/9] Prototype for generic SPL framework

Daniel Schwierzeck daniel.schwierzeck at googlemail.com
Wed Jul 13 17:11:00 CEST 2011


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



More information about the U-Boot mailing list