summaryrefslogtreecommitdiffstats
path: root/lib_arm
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2009-05-09 13:21:18 +0200
committerWolfgang Denk <wd@denx.de>2009-06-12 20:39:52 +0200
commitc358d9c3f16571e8f825e81b75eaf32e228cb669 (patch)
tree6d71594207568353965053aff1e009eefed80cdb /lib_arm
parent10a451cd57cffbca875c97bbd8929059c5627ec6 (diff)
downloadu-boot-c358d9c3f16571e8f825e81b75eaf32e228cb669.tar.gz
u-boot-c358d9c3f16571e8f825e81b75eaf32e228cb669.tar.xz
u-boot-c358d9c3f16571e8f825e81b75eaf32e228cb669.zip
arm: unify interrupt init
all arm init the IRQ stack the same way so unify it in lib_arm/interrupts.c and then call arch specific interrupt init Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Diffstat (limited to 'lib_arm')
-rw-r--r--lib_arm/interrupts.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib_arm/interrupts.c b/lib_arm/interrupts.c
index 8bb950b12b..1f2b815611 100644
--- a/lib_arm/interrupts.c
+++ b/lib_arm/interrupts.c
@@ -39,6 +39,19 @@
#include <asm/proc-armv/ptrace.h>
#ifdef CONFIG_USE_IRQ
+DECLARE_GLOBAL_DATA_PTR;
+
+int interrupt_init (void)
+{
+ /*
+ * setup up stacks if necessary
+ */
+ IRQ_STACK_START = _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;
+ FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;
+
+ return arch_interrupt_init();
+}
+
/* enable IRQ interrupts */
void enable_interrupts (void)
{