[patch 029/198] ppc32: fix single-stepping of emulated instructions

From: akpm
Date: Tue Apr 12 2005 - 12:44:29 EST



From: Paul Mackerras <paulus@xxxxxxxxx>

On ppc, we emulate instructions that cause alignment exceptions. If we are
single-stepping an instruction and it causes an alignment exception, we
will currently do the next instruction as well before taking the
single-step exception. This patch fixes that, so we take the single-step
exception after emulating the instruction.

Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

25-akpm/arch/ppc/kernel/traps.c | 1 +
1 files changed, 1 insertion(+)

diff -puN arch/ppc/kernel/traps.c~ppc32-fix-single-stepping-of-emulated-instructions arch/ppc/kernel/traps.c
--- 25/arch/ppc/kernel/traps.c~ppc32-fix-single-stepping-of-emulated-instructions 2005-04-12 03:21:10.375559576 -0700
+++ 25-akpm/arch/ppc/kernel/traps.c 2005-04-12 03:21:10.378559120 -0700
@@ -679,6 +679,7 @@ void AlignmentException(struct pt_regs *
fixed = fix_alignment(regs);
if (fixed == 1) {
regs->nip += 4; /* skip over emulated instruction */
+ emulate_single_step(regs);
return;
}
if (fixed == -EFAULT) {
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/