MIPS: Use ram_top, not bi_memsize, in arch_lmb_reserve
authorPaul Burton <paul.burton@imgtec.com>
Mon, 26 Sep 2016 18:28:56 +0000 (19:28 +0100)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Wed, 30 Nov 2016 15:15:51 +0000 (16:15 +0100)
When calculating the region to reserve for the stack in
arch_lmb_reserve, make use of ram_top instead of adding bi_memsize to
CONFIG_SYS_SDRAM_BASE. This avoids overflow if the system has enough
memory to reach the end of the address space.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
arch/mips/lib/bootm.c

index 0c6a4ab3b329ba10d889384463acc23e5d75e1d9..9fec4ad43860717263ea04d1981d0711d3c44502 100644 (file)
@@ -42,7 +42,7 @@ void arch_lmb_reserve(struct lmb *lmb)
 
        /* adjust sp by 4K to be safe */
        sp -= 4096;
-       lmb_reserve(lmb, sp, CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp);
+       lmb_reserve(lmb, sp, gd->ram_top - sp);
 }
 
 static void linux_cmdline_init(void)