
Hi Rob,
On Wed, 12 Jun 2013 22:24:45 -0500, Rob Herring robherring2@gmail.com wrote:
From: Rob Herring rob.herring@calxeda.com
interrupt_init also sets up the abort stack, but is not setup before relocation. So any aborts during relocation will hang and not print out any useful information. Fix this by moving the interrupt_init to after the stack setup in board_init_f.
Signed-off-by: Rob Herring rob.herring@calxeda.com
v2:
- Remove interrupt_init from board_init_r
arch/arm/lib/board.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c index 09ab4ad..c90843e 100644 --- a/arch/arm/lib/board.c +++ b/arch/arm/lib/board.c @@ -447,6 +447,7 @@ void board_init_f(ulong bootflag) addr_sp += 128; /* leave 32 words for abort-stack */ gd->irq_sp = addr_sp; #endif
interrupt_init();
debug("New Stack Pointer is: %08lx\n", addr_sp);
@@ -648,8 +649,6 @@ void board_init_r(gd_t *id, ulong dest_addr) misc_init_r(); #endif
/* set up exceptions */
- interrupt_init(); /* enable exceptions */ enable_interrupts();
Whole series applied to u-boot-arm/master, thanks!
Amicalement,