Critical Interrupt Input

Kumar Gala galak at kernel.crashing.org
Fri Aug 16 21:04:54 EST 2013


On Aug 15, 2013, at 11:57 PM, Henry Bausley wrote:

> 
> Is there any reason that a Critical Input Interrupt will not work reliably on a 44x powerpc?
> 
> I am using an AMCC now Applied Micro AMCC460EX 
> 
> and changed
> 
> CRITICAL_EXCEPTION(0x0100, CriticalInput, unknown_exception)
> to
> CRITICAL_EXCEPTION(0x0100, CriticalInput, do_MyCritIntr)
> 
> The code for the handler is trivial
> ie.
> int crintrcount;
> 
> void do_MyCritIntr(void)
> {
>   crintrcount++;
> }
> 
> The code runs for a while but eventually I get panic messages and  the system hangs.  Is there something I must alter in the kernel to do this reliably?

The 44x low level code needs to handle exception stacks properly for this to work.  Since its possible to have a critical exception occur while in a normal exception level, you have to have proper saving of additional register state and a stack frame for the critical exception, etc.  I'm not sure if that was ever done for 44x.

- k


More information about the Linuxppc-dev mailing list