[U-Boot] [PATCH] ppc: unused memory region too close to current stack pointer

Norbert van Bolhuis nvbolhuis at aimvalley.nl
Fri Mar 19 15:34:25 CET 2010


This avoids a possible overwrite of the (end of) ramdisk by u-boot.
The unused memory region for ppc boot currently starts 1k below the
do_bootm->bootm_start->arch_lmb_reserve stack ptr. This isn't enough since
do_bootm->do_bootm_linux->boot_relocate_fdt calls printf which may
very well use more than 1k stack space.

diff --git a/lib_ppc/bootm.c b/lib_ppc/bootm.c
index 0685a93..6702df5 100644
--- a/lib_ppc/bootm.c
+++ b/lib_ppc/bootm.c
@@ -163,8 +163,8 @@ void arch_lmb_reserve(struct lmb *lmb)
 	sp = get_sp();
 	debug ("## Current stack ends at 0x%08lx\n", sp);
 
-	/* adjust sp by 1K to be safe */
-	sp -= 1024;
+	/* adjust sp by 4K to be safe */
+	sp -= 4096;
 	lmb_reserve(lmb, sp, (CONFIG_SYS_SDRAM_BASE + get_effective_memsize() - sp));
 
 	return ;
-- 
1.5.2.2

Signed-off-by: Norbert van Bolhuis <nvbolhuis at aimvalley.nl>


More information about the U-Boot mailing list