[PATCH 2/3] fdt: Allow expanding the devicetree during relocation

Tom Rini trini at konsulko.com
Fri Dec 6 15:13:10 CET 2024


On Fri, Dec 06, 2024 at 06:11:12AM -0700, Simon Glass wrote:

[snip]
> A comment in that function says that we assume there is space after the
> existing fdt to use for padding, with the padding size set to
> CONFIG_SYS_FDT_PAD
> 
> However, there is no guarantee that this space is available. If using
> the control FDT, then global_data is immediately above it, so expanding
> the FDT and adding FDT properties will cause U-Boot to fail.

This sounds like a generic issue and should be fixed outside of a "Pi"
series.

> diff --git a/dts/Kconfig b/dts/Kconfig
> index 41a758e83a6..360611edd01 100644
> --- a/dts/Kconfig
> +++ b/dts/Kconfig
> @@ -219,6 +219,17 @@ config OF_OMIT_DTB
>  	  This is used for boards which normally provide a devicetree via a
>  	  runtime mechanism (such as OF_BOARD), to avoid confusion.
>  
> +config OF_EXPAND
> +	hex # "Amount to allow the control FDT to expand"

No "# ..." because the help explains what to do here, if needed.

> +	default SYS_FDT_PAD if OF_LIBFDT
> +	default 0

A "default 0" is almost always wrong.

> +	help
> +	  Some boards make use of the control FDT to boot an OS, thus when
> +	  image_setup_libfdt() adds extra things to the end of the FDT, there
> +	  needs to be enough space.
> +
> +	  Set this to the number of bytes of extra space required for the FDT.

We should just use SYS_FDT_PAD directly and not add a new option.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20241206/dc9578f2/attachment.sig>


More information about the U-Boot mailing list