Thread (8 messages) flat view 8 messages, 3 authors, 2007-01-26

[PATCH/RFC] Change the program check exception from EXC_XFER_STD to EXC_XFER_EE.

From: Scott Wood <hidden>
Date: 2006-12-06 21:50:46
Subsystem: linux for powerpc (32-bit and 64-bit), the rest · Maintainers: Madhavan Srinivasan, Linus Torvalds

This patch causes interrupts to be enabled in program_check_exception()
if they were enabled in the faulting context.  This is required because
do_mathemu() calls get_user(), which can sleep, and thus triggers an
assertion if called with interrupts disabled.

Signed-off-by: Scott Wood <redacted>
---
Is there any reason why ProgramCheck needs to be EXC_XFER_STD?  Has
nobody ever used math emulation with CONFIG_DEBUG_SPINLOCK_SLEEP before?

 arch/powerpc/kernel/head_32.S |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S
index 99507a8..4d58552 100644
--- a/arch/powerpc/kernel/head_32.S
+++ b/arch/powerpc/kernel/head_32.S
@@ -432,7 +432,7 @@ Alignment:
 	EXC_XFER_EE(0x600, alignment_exception)
 
 /* Program check exception */
-	EXCEPTION(0x700, ProgramCheck, program_check_exception, EXC_XFER_STD)
+	EXCEPTION(0x700, ProgramCheck, program_check_exception, EXC_XFER_EE)
 
 /* Floating-point unavailable */
 	. = 0x800
-- 
1.4.2.3
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help