summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorRob Herring <rob.herring@calxeda.com>2013-06-12 22:24:45 -0500
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2013-07-25 08:14:28 +0200
commit0f5141e9c57e96de11642a5baa7ffbb17aecc761 (patch)
tree4bf09aeda733561f304b3705e4a6ce91deb0a79d /arch/arm
parent62c175fbb8a0f9a926c88294ea9f7e88eb898f6c (diff)
downloadu-boot-imx-0f5141e9c57e96de11642a5baa7ffbb17aecc761.zip
u-boot-imx-0f5141e9c57e96de11642a5baa7ffbb17aecc761.tar.gz
u-boot-imx-0f5141e9c57e96de11642a5baa7ffbb17aecc761.tar.bz2
ARM: move interrupt_init to before relocation
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>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/lib/board.c3
1 files changed, 1 insertions, 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();