[PATCH] ppc: fix single-stepping of emulated instructions

From: Paul Mackerras
Date: Mon Apr 04 2005 - 00:42:39 EST


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>

diff -urN linux-2.5/arch/ppc/kernel/traps.c pmac-2.5/arch/ppc/kernel/traps.c
--- linux-2.5/arch/ppc/kernel/traps.c 2005-03-29 16:24:53.000000000 +1000
+++ pmac-2.5/arch/ppc/kernel/traps.c 2005-03-31 08:37:53.000000000 +1000
@@ -679,6 +701,7 @@
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/