mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-18 00:23:03 -04:00
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
|
addik r1, r1, -124
|
||||||
brlid r15, interrupt_handler
|
brlid r15, interrupt_handler
|
||||||
nop
|
nop
|
||||||
nop
|
|
||||||
addik r1, r1, 124
|
addik r1, r1, 124
|
||||||
lwi r31, r1, -120
|
lwi r31, r1, -120
|
||||||
lwi r30, r1, -116
|
lwi r30, r1, -116
|
||||||
@ -93,22 +92,6 @@ _interrupt_handler:
|
|||||||
lwi r3, r1, -8
|
lwi r3, r1, -8
|
||||||
lwi r2, r1, -4
|
lwi r2, r1, -4
|
||||||
|
|
||||||
/* enable_interrupt */
|
rtid r14, 0
|
||||||
#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
|
nop
|
||||||
.size _interrupt_handler,.-_interrupt_handler
|
.size _interrupt_handler,.-_interrupt_handler
|
||||||
|
Loading…
x
Reference in New Issue
Block a user