[PATCH 5/5] qemu-arm: get FDT from bloblist

Michal Simek michal.simek at amd.com
Wed Dec 20 11:55:38 CET 2023



On 12/19/23 22:11, Raymond Mao wrote:
> Get devicetree from a bloblist if it exists.
> If not, fallback to get FDT from the specified memory address.
> 
> Signed-off-by: Raymond Mao <raymond.mao at linaro.org>
> ---
>   board/emulation/qemu-arm/qemu-arm.c | 15 +++++++++++++--
>   1 file changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/board/emulation/qemu-arm/qemu-arm.c b/board/emulation/qemu-arm/qemu-arm.c
> index 72e0a97567..455c042a9a 100644
> --- a/board/emulation/qemu-arm/qemu-arm.c
> +++ b/board/emulation/qemu-arm/qemu-arm.c
> @@ -148,9 +148,20 @@ int dram_init_banksize(void)
>   
>   void *board_fdt_blob_setup(int *err)
>   {
> +	void *fdt = NULL;
>   	*err = 0;
> -	/* QEMU loads a generated DTB for us at the start of RAM. */
> -	return (void *)CFG_SYS_SDRAM_BASE;
> +
> +	/* Check if a DTB exists in bloblist */
> +	if (IS_ENABLED(CONFIG_BLOBLIST)) {
> +		if (bloblist_maybe_init())
> +			return (void *)CFG_SYS_SDRAM_BASE;
> +		fdt = bloblist_find(BLOBLISTT_CONTROL_FDT, 0);

why not just.

return bloblist_find(...);

> +	}
> +	if (!fdt)

And you can ignore this if here.


> +		/* QEMU loads a generated DTB for us at the start of RAM. */
> +		return (void *)CFG_SYS_SDRAM_BASE;
> +	else
> +		return fdt;
>   }
>   
>   int board_bloblist_from_boot_arg(unsigned long addr, unsigned long size)

M


More information about the U-Boot mailing list