summaryrefslogtreecommitdiff
path: root/arch/microblaze
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2011-02-07 10:33:50 +0100
committerMichal Simek <monstr@monstr.eu>2011-02-15 15:13:24 +0100
commit518075fc6ae8a4420b937009130e70cfdb7083b8 (patch)
tree29453b2cf3f6c541603d74c9f3c8cf475700ecb3 /arch/microblaze
parentb777a37c29f547f647ead4578f88f4bcfad52b10 (diff)
microblaze: Fix msr handling in interrupt_handler
Fix ancient code which worked with MSR in a bad way. Use rtid instruction which enable IRQs and jump. Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze')
-rw-r--r--arch/microblaze/cpu/irq.S19
1 files changed, 1 insertions, 18 deletions
diff --git a/arch/microblaze/cpu/irq.S b/arch/microblaze/cpu/irq.S
index 47bba36f21..8c76a73e95 100644
--- a/arch/microblaze/cpu/irq.S
+++ b/arch/microblaze/cpu/irq.S
@@ -60,7 +60,6 @@ _interrupt_handler:
addik r1, r1, -124
brlid r15, interrupt_handler
nop
- nop
addik r1, r1, 124
lwi r31, r1, -120
lwi r30, r1, -116
@@ -93,22 +92,6 @@ _interrupt_handler:
lwi r3, r1, -8
lwi r2, 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
+ rtid r14, 0
nop
.size _interrupt_handler,.-_interrupt_handler