[U-Boot] [PATCH 00/22] spl: Add features for passing info from SPL to U-Boot proper

Kever Yang kever.yang at rock-chips.com
Mon Oct 8 02:30:10 UTC 2018


Hi Simon,


On 09/27/2018 05:54 AM, Simon Glass wrote:
> At present we have no standard way of passing information from SPL to
> U-Boot. Such information may be the size of DRAM banks or some information
> about the reset state of the machine,for example.
>
> This series first adds a bloblist, which allows a list of 'blobs' to be
> created, each with a tag so that subsystems can store data and retrieve it
> later. Then it adds the SPL 'handoff' information, which uses bloblist.

It's great to see this patch set, because Rockchip U-Boot is also
implementing this
kind of feature recently, my plan was send it upstream after we run in a
good result.
We have some discussion in our team,  and we chose ATAGs instead of a new
format of data structure at last, fdt is another candidate, but we think
it is too
complicated for those TINY sram SoCs.
The information we need to passing including:
- DRAM size from TPL/SPL;
- boot device from bootrom which can be read only in TPL/SPL;
- DRAM reserved space in TRUST(ATF, OP-TEE), which means we need to modify;
- other info which may help U-Boot, for example, we may able to skip
MMC/SD init
    if we can get enough info for controller setting;

Thanks,
- Kever
> Various minor sandbox enhancements are provided to make this easier, or to
> support testing.
>
>
> Simon Glass (22):
>   log: Correct definition of log_msg_ret()
>   spl: Add support for logging in SPL and TPL
>   Add core support for a bloblist to convey data from SPL
>   spl: Set up the bloblist in SPL
>   bloblist: Locate bloblist in U-Boot
>   test: Add a simple test for bloblist
>   Add bloblist documentation
>   spl: Support hash, input, pch, pci, rtc, tpm in SPL
>   spl: Add a define for SPL_TPL_PROMPT
>   spl: Make SPL_DISABLE_BANNER_PRINT a positive option
>   spl: Add a comment to spl_set_bd()
>   spl: Print a message if we are unable to load an image
>   sandbox: Add a memory map to the sandbox README
>   test/py: Add a way to pass flags to sandbox
>   sandbox: Add an option to display of-platdata in SPL
>   sandbox: Add a new 'sb' command
>   sandbox: Allow puts() output before global_data is set up
>   sandbox: Refactor code to create os_jump_to_file()
>   sandbox: Use malloc() and free() from os layer
>   sandbox: Filter arguments when starting U-Boot
>   sandbox: Boot in U-Boot through the standard call
>   spl: Add support for passing handoff info to U-Boot proper
>
>  arch/Kconfig                       |   1 +
>  arch/powerpc/include/asm/spl.h     |   3 -
>  arch/sandbox/cpu/eth-raw-os.c      |   9 +-
>  arch/sandbox/cpu/os.c              | 115 +++++++++-----
>  arch/sandbox/cpu/spl.c             |  31 +++-
>  arch/sandbox/cpu/start.c           |  19 +++
>  arch/sandbox/cpu/u-boot-spl.lds    |   2 +-
>  arch/sandbox/include/asm/handoff.h |  18 +++
>  arch/sandbox/include/asm/state.h   |   8 +
>  board/sandbox/README.sandbox       |  14 +-
>  cmd/Makefile                       |   1 +
>  cmd/host.c                         |   5 -
>  cmd/sb.c                           |  65 ++++++++
>  common/Kconfig                     |  84 +++++++++-
>  common/Makefile                    |   5 +-
>  common/bloblist.c                  | 239 +++++++++++++++++++++++++++++
>  common/board_f.c                   |  47 ++++++
>  common/console.c                   |   7 +
>  common/init/Makefile               |   1 +
>  common/init/handoff.c              |  47 ++++++
>  common/spl/Kconfig                 |  95 +++++++++++-
>  common/spl/spl.c                   | 142 +++++++++++++----
>  configs/sandbox_spl_defconfig      |   1 +
>  doc/README.bloblist                |  82 ++++++++++
>  drivers/Makefile                   |  11 +-
>  include/asm-generic/global_data.h  |   7 +
>  include/bloblist.h                 | 194 +++++++++++++++++++++++
>  include/handoff.h                  |  36 +++++
>  include/log.h                      |  10 +-
>  include/spl.h                      |  41 +++++
>  include/test/suites.h              |   1 +
>  test/Makefile                      |   1 +
>  test/bloblist.c                    | 187 ++++++++++++++++++++++
>  test/cmd_ut.c                      |   3 +
>  test/py/tests/test_handoff.py      |  14 ++
>  test/py/tests/test_ofplatdata.py   |  31 +++-
>  test/py/u_boot_console_base.py     |   2 +-
>  test/py/u_boot_console_sandbox.py  |  18 ++-
>  test/run                           |   2 +-
>  39 files changed, 1497 insertions(+), 102 deletions(-)
>  create mode 100644 arch/sandbox/include/asm/handoff.h
>  create mode 100644 cmd/sb.c
>  create mode 100644 common/bloblist.c
>  create mode 100644 common/init/handoff.c
>  create mode 100644 doc/README.bloblist
>  create mode 100644 include/bloblist.h
>  create mode 100644 include/handoff.h
>  create mode 100644 test/bloblist.c
>  create mode 100644 test/py/tests/test_handoff.py
>




More information about the U-Boot mailing list