summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2007-05-07 19:12:43 +0200
committerMichal Simek <monstr@monstr.eu>2007-05-07 19:12:43 +0200
commitfb7c2dbef02c9f6f8d7b04ec4c2bfb91418b9c01 (patch)
tree613782e94bacc9e87cb774555ce143fbddefb8d6
parent42efed6130c8fcf7da881385b5427065d2801757 (diff)
downloadu-boot-imx-fb7c2dbef02c9f6f8d7b04ec4c2bfb91418b9c01.zip
u-boot-imx-fb7c2dbef02c9f6f8d7b04ec4c2bfb91418b9c01.tar.gz
u-boot-imx-fb7c2dbef02c9f6f8d7b04ec4c2bfb91418b9c01.tar.bz2
fix: clean interrupt
-rw-r--r--cpu/microblaze/Makefile3
-rw-r--r--cpu/microblaze/interrupts.c13
2 files changed, 13 insertions, 3 deletions
diff --git a/cpu/microblaze/Makefile b/cpu/microblaze/Makefile
index db1afa5..b7be5e1 100644
--- a/cpu/microblaze/Makefile
+++ b/cpu/microblaze/Makefile
@@ -26,7 +26,8 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(CPU).a
START = start.o
-SOBJS = dcache.o icache.o irq.o disable_int.o enable_int.o
+#SOBJS = dcache.o icache.o irq.o disable_int.o enable_int.o
+SOBJS = dcache.o icache.o irq.o
COBJS = cpu.o interrupts.o cache.o exception.o timer.o
SRCS := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c)
diff --git a/cpu/microblaze/interrupts.c b/cpu/microblaze/interrupts.c
index 115e58d..c0c92ec 100644
--- a/cpu/microblaze/interrupts.c
+++ b/cpu/microblaze/interrupts.c
@@ -36,12 +36,14 @@ extern void microblaze_enable_interrupts (void);
void enable_interrupts (void)
{
- microblaze_enable_interrupts ();
+ __asm__ __volatile__ ("msrset r0, 0x2");
+ //microblaze_enable_interrupts ();
}
int disable_interrupts (void)
{
- microblaze_disable_interrupts ();
+ __asm__ __volatile__ ("msrclr r0, 0x2");
+ //microblaze_disable_interrupts ();
return 0;
}
@@ -49,6 +51,10 @@ int disable_interrupts (void)
#ifdef CFG_TIMER_0
extern void timer_init (void);
#endif
+#ifdef CFG_FSL_2
+extern void fsl_init2 (void);
+#endif
+
static struct irq_action vecs[CFG_INTC_0_NUM];
@@ -141,6 +147,9 @@ int interrupts_init (void)
#ifdef CFG_TIMER_0
timer_init ();
#endif
+#ifdef CFG_FSL_2
+ fsl_init2 ();
+#endif
enable_interrupts ();
return 0;
}