[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