diff options
author | Michal Simek <monstr@monstr.eu> | 2011-02-07 10:33:50 +0100 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2011-02-15 15:13:24 +0100 |
commit | 518075fc6ae8a4420b937009130e70cfdb7083b8 (patch) | |
tree | 29453b2cf3f6c541603d74c9f3c8cf475700ecb3 /arch/microblaze | |
parent | b777a37c29f547f647ead4578f88f4bcfad52b10 (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.S | 19 |
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 |