Blackfin: fix crash when booting from external memory
[oweals/u-boot.git] / cpu / microblaze / irq.S
index 393d6e8dd42a32950174b6980ae510977cfb874a..e1fc19046c721ee98e0c332c76506f7431ccef35 100644 (file)
@@ -23,6 +23,7 @@
  */
 
 #include <config.h>
+#include <asm/asm.h>
        .text
        .global _interrupt_handler
 _interrupt_handler:
@@ -151,7 +152,20 @@ _interrupt_handler:
        addi    r1, r1, 4
 
        /* enable_interrupt */
+#ifdef XILINX_USE_MSR_INSTR
        msrset  r0, 2
+#else
+       /* FIXME unstable in stressed mode - two irqs */
+       nop
+       addi    r1, r1, -4
+       swi     r12, r1, 0
+       mfs     r12, rmsr
+       ori     r12, r12, 2
+       mts     rmsr, r12
+       lwi     r12, r1, 0
+       addi    r1, r1, 4
+       nop
+#endif
        bra     r14
        nop
        nop