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>
This commit is contained in:
Michal Simek 2011-02-07 10:33:50 +01:00
parent b777a37c29
commit 518075fc6a
1 changed files with 1 additions and 18 deletions

View File

@ -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