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
signature.asc
Description: PGP signature
