summaryrefslogtreecommitdiff
path: root/arch/powerpc/lib/bootm.c
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2011-07-06 15:16:28 +0000
committerWolfgang Denk <wd@denx.de>2011-07-26 13:55:10 +0200
commit9e9579bbf9780ced1153371cdc6aeb1ea8f0c0b6 (patch)
tree595b6695cbc96bdae6ac3a10670e4ad07ae7ae2b /arch/powerpc/lib/bootm.c
parent3cfe6954893bd1790f0d6ad7f56fc95c0dc35232 (diff)
downloadu-boot-9e9579bbf9780ced1153371cdc6aeb1ea8f0c0b6.tar.gz
u-boot-9e9579bbf9780ced1153371cdc6aeb1ea8f0c0b6.tar.bz2
u-boot-9e9579bbf9780ced1153371cdc6aeb1ea8f0c0b6.zip
powerpc: Fix device tree padding associated with ramdisk
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@kernel.crashing.org> Acked-by: Gerald Van Baren <vanbaren@cideas.com>
Diffstat (limited to 'arch/powerpc/lib/bootm.c')
-rw-r--r--arch/powerpc/lib/bootm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/powerpc/lib/bootm.c b/arch/powerpc/lib/bootm.c
index e01787dcb7..4e0cb8f3bf 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);