Hi Michal, I will remove "#if IS_ENABLED(CONFIG_OF_BOARD)" from below:
>+#if IS_ENABLED(CONFIG_OF_BOARD) >+/* Boot parameters saved from lowlevel_init.S */ >+struct { >+ unsigned long arg0; >+ unsigned long arg1; >+ unsigned long arg2; >+ unsigned long arg3; >+} qemu_saved_args __section(".data"); >+#endif Saving the args does not really dependent on OF_BOARD or BLOBLIST Thanks and regards, Raymond On Mon, 4 Dec 2023 at 02:54, Michal Simek <michal.si...@amd.com> wrote: > > > On 11/27/23 20:50, Raymond Mao wrote: > > Add platform custom function to get bloblist from boot arguments. > > Check whether boot arguments aligns with the register conventions > > defined in FW Handoff spec v0.9. > > Add bloblist related options into qemu default config. > > > > Signed-off-by: Raymond Mao <raymond....@linaro.org> > > --- > > Changes in v2 > > - New patch file created for v2. > > > > board/emulation/qemu-arm/Makefile | 1 + > > board/emulation/qemu-arm/lowlevel_init.S | 19 +++++++++ > > board/emulation/qemu-arm/qemu-arm.c | 54 ++++++++++++++++++++++++ > > configs/qemu_arm64_defconfig | 3 ++ > > configs/qemu_arm_defconfig | 3 ++ > > 5 files changed, 80 insertions(+) > > create mode 100644 board/emulation/qemu-arm/lowlevel_init.S > > > > diff --git a/board/emulation/qemu-arm/Makefile > b/board/emulation/qemu-arm/Makefile > > index a22d1237ff..12821e7083 100644 > > --- a/board/emulation/qemu-arm/Makefile > > +++ b/board/emulation/qemu-arm/Makefile > > @@ -1,3 +1,4 @@ > > # SPDX-License-Identifier: GPL-2.0+ > > > > obj-y += qemu-arm.o > > +obj-$(CONFIG_OF_BOARD) += lowlevel_init.o > > diff --git a/board/emulation/qemu-arm/lowlevel_init.S > b/board/emulation/qemu-arm/lowlevel_init.S > > new file mode 100644 > > index 0000000000..d72d7c938a > > --- /dev/null > > +++ b/board/emulation/qemu-arm/lowlevel_init.S > > @@ -0,0 +1,19 @@ > > +/* SPDX-License-Identifier: BSD-2-Clause */ > > +/* > > + * Copyright (c) 2023, Linaro Limited > > + */ > > + > > +#include <config.h> > > + > > +.global save_boot_params > > +save_boot_params: > > +#ifdef CONFIG_ARM64 > > + adr x9, qemu_saved_args > > Based on logic below this is available only when CONFIG_OF_BOARD is > enabled. > Please look below. > > > + stp x0, x1, [x9] > > + /* Increment the address by 16 bytes for the next pair of values */ > > + stp x2, x3, [x9, #16] > > +#else > > + ldr r12, =qemu_saved_args > > + stm r12, {r0, r1, r2, r3} > > +#endif > > + b save_boot_params_ret > > diff --git a/board/emulation/qemu-arm/qemu-arm.c > b/board/emulation/qemu-arm/qemu-arm.c > > index 942f1fff57..a3892630d8 100644 > > --- a/board/emulation/qemu-arm/qemu-arm.c > > +++ b/board/emulation/qemu-arm/qemu-arm.c > > @@ -4,6 +4,9 @@ > > */ > > > > #include <common.h> > > +#if IS_ENABLED(CONFIG_OF_BOARD) && IS_ENABLED(CONFIG_BLOBLIST) > > +#include <bloblist.h> > > +#endif > > you have dependency on OF_BOARD and BLOBLIST. > > > #include <cpu_func.h> > > #include <dm.h> > > #include <efi.h> > > @@ -102,6 +105,16 @@ static struct mm_region qemu_arm64_mem_map[] = { > > struct mm_region *mem_map = qemu_arm64_mem_map; > > #endif > > > > +#if IS_ENABLED(CONFIG_OF_BOARD) > > And here OF_BOARD. > > Not all should be aligned but I don't think current #if > > > Thanks, > Michal >