On 11/26/2012 12:05 PM, Suzuki K. Poulose wrote:
diff --git a/arch/powerpc/include/asm/probes.h b/arch/powerpc/include/asm/probes.h index 5f1e15b..836e9b9 100644 --- a/arch/powerpc/include/asm/probes.h +++ b/arch/powerpc/include/asm/probes.h @@ -38,5 +38,34 @@ typedef u32 ppc_opcode_t; #define is_trap(instr) (IS_TW(instr) || IS_TWI(instr)) #endif /* CONFIG_PPC64 */+#ifdef CONFIG_PPC_ADV_DEBUG_REGS +#define MSR_SINGLESTEP (MSR_DE) +#else +#define MSR_SINGLESTEP (MSR_SE) +#endif + +/* Enable single stepping for the current task */ +static inline void enable_single_step(struct pt_regs *regs) +{ + + /* + * We turn off async exceptions to ensure that the single step will + * be for the instruction we have the kprobe on, if we dont its
it is
+ * possible we'd get the single step reported for an exception handler + * like Decrementer or External Interrupt + */
Hmmm. The TRM for E400 says |5.11.1 e500 Exception Priorities |The following is a prioritized listing of e500 exceptions: | 4. Critical input | 5. Debug interrupt | 6. External input | 22. Decrementer The list has been cut down a little. That means the debug interrupt comes before external interrupt and before the decrement fires. And if single step is what wakes you up then DBSR[ICMP] is set. Am I missing something or is this FSL only not not book-e
#endif /* __KERNEL__ */ #endif /* _ASM_POWERPC_PROBES_H */
Sebastian -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

