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

Kumar Gala galak at kernel.crashing.org
Thu Dec 7 08:59:37 EST 2006


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 <scottwood at freescale.com>
> ---
> 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



More information about the Linuxppc-dev mailing list