[U-Boot] [PATCH] powerpc: Fix device tree padding associated with ramdisk
Jerry Van Baren
gvb.uboot at gmail.com
Thu Jul 14 16:47:42 CEST 2011
Hi Kumar, Wolfgang
On 07/06/2011 09:16 PM, Kumar Gala wrote:
> When booting with a ramdisk we bump the amount of memory reserved for
> the device tree by FDT_RAMDISK_OVERHEAD. However we did not increase
> the actual size in the device tree blob to match.
>
> Its possible on boundary cases that we dont have enough memory according
> to the device tree blob and get errors like:
>
> WARNING: could not set linux,initrd-end FDT_ERR_NOSPACE
>
> We can easily fix this by setting the device tree size at the same time
> we bump the amount of memory reserved for the device tree.
>
> Signed-off-by: Kumar Gala<galak at kernel.crashing.org>
> ---
> arch/powerpc/lib/bootm.c | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/arch/powerpc/lib/bootm.c b/arch/powerpc/lib/bootm.c
> index e01787d..4e0cb8f 100644
> --- a/arch/powerpc/lib/bootm.c
> +++ b/arch/powerpc/lib/bootm.c
> @@ -288,8 +288,10 @@ static int boot_body_linux(bootm_headers_t *images)
> return ret;
> of_size = ret;
>
> - if (*initrd_start&& *initrd_end)
> + if (*initrd_start&& *initrd_end) {
> of_size += FDT_RAMDISK_OVERHEAD;
> + fdt_set_totalsize(*of_flat_tree, of_size);
> + }
> /* Create a new LMB reservation */
> lmb_reserve(lmb, (ulong)*of_flat_tree, of_size);
This looks good to me. Since it is in bootm.c and not in libfdt, I'll
let Wolfgang pick it up unless I hear otherwise.
Acked-by: Gerald Van Baren <vanbaren at cideas.com>
Thanks,
gvb
More information about the U-Boot
mailing list