linuxppc-2.5 patch for KGDB in arch/ppc/kernel ppc-stub.c

flat view

From: Mark A. Greer <hidden>
Date: 2003-03-12 00:57:54

This is an untested patch for 2.5.

The following patch fixes 2 problems with KGDB:

a) On line 617, '&regs' should be 'regs' in the call to mem2hex().  The
resulting improper response packet confuses the GDB client resulting in
step/next and stepi/nexti GDB commands to "lose their grip" and allow
execution to continue unchecked.

b) When executing an 's' command, we don't want to start single stepping
until we *return** from the current exception that we're handling.
Therefore, the MSR_SE bit should not be set in the MSR until the rfi
from this exception is executed (i.e., only need to set that bit in
'regs->msr' and not do an actual 'mtmsr()' at this point).  If the
'mtmsr(msr | MSR_SE);' line is executed at this point, a single-step
exeption will occur inside the exception handler itself which causes
another exception and the 'printk(KERN_ERR "interrupt while in kgdb,
returning\n");' line at the beginning of handle_exception() to be
executed.  Not fatal but somewhat disturbing to see.

Mark
--

Attachments

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