Эх сурвалжийг харах

ppc: Allow boards to specify how much memory they can map

For historical reasons we limited the stack to 256M because some boards
could only map that much via BATS.  However newer boards are capable of
mapping more memory (for example 85xx is capble of doing up to 2G).

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Kumar Gala 17 жил өмнө
parent
commit
9c666a7db0
1 өөрчлөгдсөн 11 нэмэгдсэн , 0 устгасан
  1. 11 0
      lib_ppc/board.c

+ 11 - 0
lib_ppc/board.c

@@ -433,7 +433,18 @@ void board_init_f (ulong bootflag)
 	 */
 	 */
 	len = (ulong)&_end - CFG_MONITOR_BASE;
 	len = (ulong)&_end - CFG_MONITOR_BASE;
 
 
+#ifndef CONFIG_MAX_MEM_MAPPED
+#define CONFIG_MAX_MEM_MAPPED (256 << 20)
+#endif
+
+#ifndef	CONFIG_VERY_BIG_RAM
 	addr = CFG_SDRAM_BASE + get_effective_memsize();
 	addr = CFG_SDRAM_BASE + get_effective_memsize();
+#else
+	/* only allow stack below 256M */
+	addr = CFG_SDRAM_BASE +
+		(gd->ram_size > CONFIG_MAX_MEM_MAPPED) ?
+		CONFIG_MAX_MEM_MAPPED : get_effective_memsize();
+#endif
 
 
 #ifdef CONFIG_LOGBUFFER
 #ifdef CONFIG_LOGBUFFER
 #ifndef CONFIG_ALT_LB_ADDR
 #ifndef CONFIG_ALT_LB_ADDR