On Tue, Nov 11, 2025 at 09:59:06AM +0200, Ilias Apalodimas wrote: > When loading U-Boot in a low memory address, the adpr instruction > to preserve saved_args[] end up within the memory space of QEMUs > mapped pflashes. As a result the following store pair instructions > lead to a crash since instructions that modify more than one registers > can't trap into KVM. > > This problem can be solved with loading U-Boot with -kernel > and defining a different text base address. But when running with > -bios we always start from 0x0. So let's postpone the calculation > of saved_args[] post relocation, where we will have an address that > doesn't collide with the QEMU flashes. > > Acked-by: Raymond Mao <[email protected]> > Signed-off-by: Ilias Apalodimas <[email protected]> > --- > Changes since v1: > - Move comments to the appropriate place > - Add missing ifdefs when calculating the bloblist placement > > arch/arm/cpu/armv8/start.S | 9 ++++----- > arch/arm/lib/crt0_64.S | 7 +++++++ > 2 files changed, 11 insertions(+), 5 deletions(-)
This, funny enough, breaks our qemu_arm64 + tfa + handoff test with a failure to boot. -- Tom
signature.asc
Description: PGP signature

