All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fix local_irq_save()/local_irq_restore() when CONFIG_CPU_MIPSR2 & CONFIG_IRQ_CPU
@ 2005-12-20  5:32 Maxime Bizon
  2005-12-20 12:00 ` Maciej W. Rozycki
  2005-12-22  1:48 ` Ralf Baechle
  0 siblings, 2 replies; 3+ messages in thread
From: Maxime Bizon @ 2005-12-20  5:32 UTC (permalink / raw)
  To: linux-mips


Hello all,

I was unable to get my R4KECr2 board working with CONFIG_CPU_MIPSR2 &
CONFIG_IRQ_CPU, irq delivery is not working.

local_irq_restore() logic is to check that "flags" is non zero, and
enable irq accordingly.

But "flags" comes directly from di, which according to mips instruction
set, saves whole status content, not just IE bit.

Attached patch to fix this.


Signed-off-by: Maxime Bizon <mbizon@freebox.fr>

--- linux.git/include/asm-mips/interrupt.h.old	2005-12-20 06:20:44.000000000 +0100
+++ linux.git/include/asm-mips/interrupt.h	2005-12-20 06:21:02.000000000 +0100
@@ -93,6 +93,7 @@
 	"	.set	noat						\n"
 #ifdef CONFIG_CPU_MIPSR2
 	"	di	\\result					\n"
+	"	andi	\\result, 1					\n"
 #else
 	"	mfc0	\\result, $12					\n"
 	"	ori	$1, \\result, 1					\n"



Thanks,

-- 
Maxime

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-12-22  1:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-20  5:32 [PATCH] fix local_irq_save()/local_irq_restore() when CONFIG_CPU_MIPSR2 & CONFIG_IRQ_CPU Maxime Bizon
2005-12-20 12:00 ` Maciej W. Rozycki
2005-12-22  1:48 ` Ralf Baechle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.