Thread (9 messages) 9 messages, 5 authors, 2006-02-26

Re: [PATCH] ppc32: handle Book E debug exceptions on kernel stack

From: Dale Farnsworth <hidden>
Date: 2006-02-23 14:23:40

On Thu, Feb 23, 2006 at 10:54:02AM +0000, Josh Boyer wrote:
On Wed, 2006-02-22 at 22:19 -0600, Kumar Gala wrote:
quoted
On Tue, 14 Feb 2006, Dale Farnsworth wrote:
quoted
From: Dale Farnsworth <redacted>

On PPC Book E processsors, we currently handle debug
exceptions on the critical exception stack (debug stack
for E200).  This causes problems with the kgdb single
step handler, which calls smp_processor_id() and spin_lock(),
which reference current_thread_info(), which only works when
we are on the kernel stack.

We address this by switching to the kernel stack early while
handling debug exceptions.  Note that the entry values of r10
and r11 are still saved on the critical exception (or debug) stack.

Signed-off-by: Dale Farnsworth <redacted>
Paul,

We were wondering if you or David remember why a specific critical
exception stack was added in the 40x port from 2.4 to 2.6?
I think Matt did that.  And if I remember correctly, it was to avoid
corruption if you were in the middle of handling a normal interrupt and
a critical interrupt came in.
Thanks Josh, Matt was one of the "we" who were wondering.  If indeed
you are remembering correctly, then I think we're safe to use the
normal kernel stack rather than the critical exception stack.

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