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

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

From: Kumar Gala <hidden>
Date: 2006-12-06 21:59:49

On Dec 6, 2006, at 3:50 PM, Scott Wood wrote:
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?
This has come up before and I think our desired solution is to use  
use local_irq_enable() in traps.c.  For some reason we didn't realize  
that we needed to fix the do_mathemu() path.

Take a look at the following threads:
http://lkml.org/lkml/2006/2/22/243
http://ozlabs.org/pipermail/linuxppc-dev/2006-August/025016.html
http://git.kernel.org/git/?p=linux/kernel/git/paulus/ 
powerpc.git;a=commitdiff;h=cd8a5673e9abb3fde0a1c25ee63a60fe1908c6f5

- kumar
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help