summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBecky Bruce <becky.bruce@freescale.com>2008-05-14 13:10:04 -0500
committerAndrew Fleming-AFLEMING <afleming@freescale.com>2008-06-09 13:31:20 -0500
commit3b9519fc50802436e417c839e69df7b2016cade5 (patch)
treea2d06b8498eda3cff55d2256f1402dcfab379b40
parent8155efbd7ae9c65564ca98affe94631d612ae088 (diff)
downloadu-boot-imx-3b9519fc50802436e417c839e69df7b2016cade5.zip
u-boot-imx-3b9519fc50802436e417c839e69df7b2016cade5.tar.gz
u-boot-imx-3b9519fc50802436e417c839e69df7b2016cade5.tar.bz2
MPC85xx: Change traps.c to not reference non-addressable memory
Currently, END_OF_RAM is used by the trap code to determine if we should attempt to access the stack pointer or not. However, on systems with a lot of RAM, only a subset of the RAM is guaranteed to be mapped in and accessible. Change END_OF_RAM to use get_effective_memsize() instead of using the raw ram size out of the bd. Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
-rw-r--r--cpu/mpc85xx/traps.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/cpu/mpc85xx/traps.c b/cpu/mpc85xx/traps.c
index 2381fb0..fd36658 100644
--- a/cpu/mpc85xx/traps.c
+++ b/cpu/mpc85xx/traps.c
@@ -50,10 +50,12 @@ int (*debugger_exception_handler)(struct pt_regs *) = 0;
extern unsigned long search_exception_table(unsigned long);
/*
- * End of memory as shown by board info and determined by DDR setup.
+ * End of addressable memory. This may be less than the actual
+ * amount of memory on the system if we're unable to keep all
+ * the memory mapped in.
*/
-#define END_OF_MEM (gd->bd->bi_memstart + gd->bd->bi_memsize)
-
+extern ulong get_effective_memsize(void);
+#define END_OF_MEM (gd->bd->bi_memstart + get_effective_memsize())
static __inline__ void set_tsr(unsigned long val)
{