This patch set adds/adapts a few bloblist APIs and implements Arm arch custom function to retrieve the bloblist (aka. Transfer List) from previous loader via boot arguments when BLOBLIST option is enabled and all boot arguments are compliant to the register conventions defined in the Firmware Handoff spec v0.9.
If an arch wishes to have different behaviors for loading bloblist from the previous boot stage, it is required to implement the custom function xferlist_from_boot_arg(). V5: Drop [PATCH v4 8/9] fdt: update the document and Kconfig description. V6: Drop [PATCH v5 8/8] fdt: get FDT from bloblist. V7: Fixed CI pipeline failures. Raymond Mao (8): bloblist: add API to check the register conventions bloblist: check bloblist with specified buffer size bloblist: refactor of bloblist_reloc() arm: armv7: save boot arguments arm: armv8: save boot arguments arm: Get bloblist from boot arguments bloblist: Load the bloblist from the previous loader dts: OF_HAS_PRIOR_STAGE should depend on !BLOBLIST arch/arm/cpu/armv7/start.S | 21 ++++++++++ arch/arm/cpu/armv8/start.S | 16 +++++++ arch/arm/lib/Makefile | 2 + arch/arm/lib/xferlist.c | 27 ++++++++++++ arch/arm/lib/xferlist.h | 19 +++++++++ common/bloblist.c | 85 ++++++++++++++++++++++++++++---------- common/board_f.c | 9 ++-- dts/Kconfig | 1 + include/bloblist.h | 47 +++++++++++++++++---- test/bloblist.c | 8 ++-- 10 files changed, 195 insertions(+), 40 deletions(-) create mode 100644 arch/arm/lib/xferlist.c create mode 100644 arch/arm/lib/xferlist.h -- 2.25.1