Patchwork [U-Boot] microblaze: Fix msr handling in interrupt_handler

login
register
mail settings
Submitter Michal Simek
Date Feb. 7, 2011, 9:39 a.m.
Message ID <1297071551-29295-2-git-send-email-monstr@monstr.eu>
Download mbox | patch
Permalink /patch/82089/
State Accepted
Commit 518075fc6ae8a4420b937009130e70cfdb7083b8
Headers show

Comments

Michal Simek - Feb. 7, 2011, 9:39 a.m.
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>
---
 arch/microblaze/cpu/irq.S |   19 +------------------
 1 files changed, 1 insertions(+), 18 deletions(-)

Patch

diff --git a/arch/microblaze/cpu/irq.S b/arch/microblaze/cpu/irq.S
index 47bba36..8c76a73 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