On Fri, Oct 09, 2026 at 06:18:34PM +0200, Arkadiusz Wadowski via B4 Relay wrote:
> From: Arkadiusz Wadowski <[email protected]> > > Add an optional SPL boot path for the QEMU ARM64 virt machine, > allowing the SPL-to-U-Boot boot flow to be explored without > physical hardware. > > Use the existing NOR loader to load u-boot.img from flash into > RAM at 0x41000000. Generate u-boot-with-spl.bin with the payload > placed after SPL padding. > > Signed-off-by: Arkadiusz Wadowski <[email protected]> > --- > This patch adds an optional SPL boot path for the QEMU ARM64 virt > machine. It provides an emulated environment for exploring the > SPL-to-U-Boot boot flow without physical hardware. > > SPL starts at flash address zero and uses the existing NOR loader > to load U-Boot proper into RAM at 0x41000000. The combined > u-boot-with-spl.bin image places u-boot.img at flash offset 0x100000. > > QEMU provides initialized RAM at reset, so this boot path does > not require a DRAM initialization sequence. [snip] > diff --git a/board/emulation/qemu-arm/Kconfig > b/board/emulation/qemu-arm/Kconfig > index 447061b25cd..c6bfb82e7f3 100644 > --- a/board/emulation/qemu-arm/Kconfig > +++ b/board/emulation/qemu-arm/Kconfig > @@ -1,3 +1,7 @@ > +if TARGET_QEMU_ARM_64BIT && SPL > +source "board/emulation/qemu-arm/Kconfig.spl" > +endif This guard should be in the new file. > + > if TARGET_QEMU_ARM_32BIT || TARGET_QEMU_ARM_64BIT > > config TEXT_BASE > diff --git a/board/emulation/qemu-arm/Kconfig.spl > b/board/emulation/qemu-arm/Kconfig.spl > new file mode 100644 > index 00000000000..38002a87b70 > --- /dev/null > +++ b/board/emulation/qemu-arm/Kconfig.spl > @@ -0,0 +1,43 @@ > +# SPDX-License-Identifier: GPL-2.0+ > + > +config TEXT_BASE > + range 0x41000000 0xffffffff > + default 0x41000000 > + > +config OF_OMIT_DTB > + default n > + > +config DEFAULT_DEVICE_TREE > + default "qemu-arm64" > + > +config QEMU_ARM64_SPL > + def_bool y > + select SPL_LIBCOMMON_SUPPORT > + select SPL_LIBGENERIC_SUPPORT > + select SPL_HAS_BSS_LINKER_SECTION > + select SPL_SEPARATE_BSS > + select SPL_NOR_SUPPORT > + select PANIC_HANG > + select SPL_LEGACY_IMAGE_FORMAT > + select SPL_DM > + select SPL_OF_CONTROL > + select SPL_SERIAL > + select SPL_DM_SERIAL > + > +config SPL_PAYLOAD > + default "u-boot.img" > + > +config SPL_TARGET > + default "u-boot-with-spl.bin" > + > +config SPL_BLOBLIST > + default n We should be able to omit the dtb, and then pass along the dtb we've been given via QEMU from one stage to the next, like some real hardware platforms do. -- Tom
signature.asc
Description: PGP signature
