[PATCH v2 2/4] firmware: Add relocatable FW_PAYLOAD_FDT_ADDR

Anup Patel anup at brainfault.org
Sat Feb 24 02:59:44 PST 2024


On Fri, Feb 23, 2024 at 1:48 PM Inochi Amaoto <inochiama at outlook.com> wrote:
>
> The fw_payload.bin has the same issue as described in previous patch.
> But only FW_PAYLOAD_FDT_ADDR is affected.
>
> Add FW_PAYLOAD_FDT_OFFSET to identify relocatable payload fdt address.
>
> Signed-off-by: Inochi Amaoto <inochiama at outlook.com>

LGTM.

Reviewed-by: Anup Patel <anup at brainfault.org>

Applied this patch to the riscv/opensbi repo.

Thanks,
Anup

> ---
>  firmware/fw_payload.S | 4 ++++
>  firmware/objects.mk   | 3 +++
>  2 files changed, 7 insertions(+)
>
> diff --git a/firmware/fw_payload.S b/firmware/fw_payload.S
> index c53a3bb..3c8433e 100644
> --- a/firmware/fw_payload.S
> +++ b/firmware/fw_payload.S
> @@ -46,6 +46,10 @@ fw_save_info:
>  fw_next_arg1:
>  #ifdef FW_PAYLOAD_FDT_ADDR
>         li      a0, FW_PAYLOAD_FDT_ADDR
> +#elif defined(FW_PAYLOAD_FDT_OFFSET)
> +       lla     a0, _fw_start
> +       li      a1, FW_PAYLOAD_FDT_OFFSET
> +       add     a0, a0, a1
>  #else
>         add     a0, a1, zero
>  #endif
> diff --git a/firmware/objects.mk b/firmware/objects.mk
> index fef090a..3ae0a28 100644
> --- a/firmware/objects.mk
> +++ b/firmware/objects.mk
> @@ -65,6 +65,9 @@ ifdef FW_PAYLOAD_ALIGN
>  firmware-genflags-$(FW_PAYLOAD) += -DFW_PAYLOAD_ALIGN=$(FW_PAYLOAD_ALIGN)
>  endif
>
> +ifdef FW_PAYLOAD_FDT_OFFSET
> +firmware-genflags-$(FW_PAYLOAD) += -DFW_PAYLOAD_FDT_OFFSET=$(FW_PAYLOAD_FDT_OFFSET)
> +endif
>  ifdef FW_PAYLOAD_FDT_ADDR
>  firmware-genflags-$(FW_PAYLOAD) += -DFW_PAYLOAD_FDT_ADDR=$(FW_PAYLOAD_FDT_ADDR)
>  endif
> --
> 2.43.2
>



More information about the opensbi mailing list