[PATCH] [POWERPC] Rework EXC_LEVEL_EXCEPTION_PROLOG code
Gabriel Paubert
paubert at iram.es
Mon May 5 21:57:29 EST 2008
On Thu, May 01, 2008 at 08:22:08AM -0500, Kumar Gala wrote:
> >>So we have 4 actual exceptions:
> >>* CriticalInput (some external device signaled this. There are two
> >>concepts of critical. One is error the other is high priority)
> >>However this would have the same caveats as any ExternalInput
> >>handler.
> >
> >No, it's worse. It can interrupt code that normally has
> >local_irq_disabled() and thus doesn't expect to be interrupted. That
> >means that everything becomes unsafe including locks etc....
>
> Fair. Should local_irq_disable() clear MSR_SE & MSR_BE on classic
> parts?
>
> >Note that driver that want to make active use of that probably want
> >some
> >explicit local_crit_irq_disable/enable functions to be able to
> >implement
> >some sort of synchronization.
>
> Or we could just have local_irq_disable -- clear MSR_EE and MSR_CE
>
> >>* Watchdog - pretty severe if this fires.
> >>
> >>* Debug - user space debug is pretty straight forward. However we
> >>have features like kprobes that require kernel level support.
> >
> >Which means we have to be extra careful, in fact, I consider it a
> >design
> >bug of BookE to have made debug be a critical interrupt...
>
> I consider the whole BookE debug arch a design bug :)
Why only the debug part? :-)
Gabriel
More information about the Linuxppc-dev
mailing list