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 > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot