[U-Boot] [PATCH] lib_ppc: Move trap_init to occur earlier

Becky Bruce becky.bruce at freescale.com
Fri Oct 31 23:14:39 CET 2008


Doing trap_init immediately once we're running from RAM
means we're no longer dependent on the physical location of
the flash on non-BookE platforms. Before trap_init, those
platforms switch to real mode and go to 0xfff00100 on exception.
After the switch, they go to 0x00000100  This makes it easier to
move the flash location.

Signed-off-by: Becky Bruce <becky.bruce at freescale.com>
---
 lib_ppc/board.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib_ppc/board.c b/lib_ppc/board.c
index ce07c4e..289a32a 100644
--- a/lib_ppc/board.c
+++ b/lib_ppc/board.c
@@ -689,6 +689,11 @@ void board_init_r (gd_t *id, ulong dest_addr)
 
 	WATCHDOG_RESET ();
 
+	/*
+	 * Setup trap handlers
+	 */
+	trap_init (dest_addr);
+
 #if defined(CONFIG_BOARD_EARLY_INIT_R)
 	board_early_init_r ();
 #endif
@@ -765,11 +770,6 @@ void board_init_r (gd_t *id, ulong dest_addr)
 
 	asm ("sync ; isync");
 
-	/*
-	 * Setup trap handlers
-	 */
-	trap_init (dest_addr);
-
 #if !defined(CONFIG_SYS_NO_FLASH)
 	puts ("FLASH: ");
 
-- 
1.5.5.1



More information about the U-Boot mailing list