From: Becky Bruce Date: Wed, 14 May 2008 18:09:51 +0000 (-0500) Subject: MPC512x: Change traps.c to not reference non-addressable memory X-Git-Tag: v1.3.4-rc1~114^2~14 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=9b124a68346ce9605b6e1fcf79e1021541cdba9e;p=oweals%2Fu-boot.git MPC512x: 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 --- diff --git a/cpu/mpc512x/traps.c b/cpu/mpc512x/traps.c index 8455c92761..8000fabd4a 100644 --- a/cpu/mpc512x/traps.c +++ b/cpu/mpc512x/traps.c @@ -34,7 +34,13 @@ DECLARE_GLOBAL_DATA_PTR; extern unsigned long search_exception_table(unsigned long); -#define END_OF_MEM (gd->bd->bi_memstart + gd->bd->bi_memsize) +/* + * 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. + */ +extern ulong get_effective_memsize(void); +#define END_OF_MEM (gd->bd->bi_memstart + get_effective_memsize()) /* * Trap & Exception support