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 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev