On Wed, Nov 04, 2026 at 03:51:53PM -0600, David Lechner wrote:

> U-Boot proper already accepts a bloblist passed in registers with the
> register conventions of the Firmware Handoff spec, but SPL has no way to
> pass its own bloblist on like this. The only option today is
> BLOBLIST_FIXED, which needs every phase to agree on a fixed address.
> 
> This series adds config SPL_BLOBLIST_PASS_REGS. With it, SPL works out
> the register values once, right after it finishes the bloblist, and the
> default jump_to_image() passes them to the next phase. When SPL starts
> BL31 (SPL_ATF), the bloblist is passed to BL33 the same way, through the
> BL33 entry point arguments.
> 
> The register values come from a new hook, xferlist_to_boot_arg(), the
> counterpart of xferlist_from_boot_arg(). It has a weak default in
> common/bloblist.c and the ARM version in arch/arm/lib/xferlist.c, so
> other architectures can add theirs later.
> 
> This replaces "spl: atf: optionally pass the bloblist to BL33" [1], which
> only handled the SPL_ATF case. The Genio 520 and 720 SPL series will use
> it.
> 
> Testing:
> - sandbox: new "ut bloblist reg_conv" test.
> - QEMU arm64, SPL -> U-Boot proper: on top of "board: qemu-arm: Add SPL
>   support" [2] (which also needs scripts/Makefile.xpl to skip the SPL
>   devicetree when OF_OMIT_DTB is set), U-Boot proper finds a record that
>   SPL added to the bloblist.
> - SPL -> BL31 -> U-Boot proper: Genio 720 EVK.
> - 32-bit ARM: build only (Cubietruck with the option enabled), checked
>   the register order in the disassembly.
> 
> [1]: 
> https://lore.kernel.org/u-boot/[email protected]/
> [2]: 
> https://lore.kernel.org/u-boot/[email protected]/
> 
> Signed-off-by: David Lechner <[email protected]>
> ---
> Changes in v2:
> - Work out the register values once in board_init_r(), right after
>   bloblist_finish(), and keep them in struct spl_image_info.
> - spl: atf: set the BL33 arguments after bl2_plat_get_bl31_params*()
>   returns instead of in the default implementations, so that boards which
>   override these functions also pass the bloblist to BL33.
> - Link to v1: 
> https://patch.msgid.link/[email protected]

I think this will do it, thanks!

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to