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:
parent
b777a37c29
commit
518075fc6a
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user