aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/traps.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-07-08 21:25:48 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-07-08 21:25:48 -0400
commit5f07aa7524e98d6f68f2bec54f155ef6012e2c9a (patch)
tree393b2db3213e6618ad1338f9b66019b0c05c6f75 /arch/powerpc/kernel/traps.c
parente467e104bb7482170b79f516d2025e7cfcaaa733 (diff)
parentd09ec7387184eba9e3030496f0451204090ff610 (diff)
Merge commit 'paulus-perf/master' into next
Diffstat (limited to 'arch/powerpc/kernel/traps.c')
-rw-r--r--arch/powerpc/kernel/traps.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 25fc33984c2b..e5fe5a8522a6 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -688,7 +688,7 @@ void RunModeException(struct pt_regs *regs)
688 688
689void __kprobes single_step_exception(struct pt_regs *regs) 689void __kprobes single_step_exception(struct pt_regs *regs)
690{ 690{
691 regs->msr &= ~(MSR_SE | MSR_BE); /* Turn off 'trace' bits */ 691 clear_single_step(regs);
692 692
693 if (notify_die(DIE_SSTEP, "single_step", regs, 5, 693 if (notify_die(DIE_SSTEP, "single_step", regs, 5,
694 5, SIGTRAP) == NOTIFY_STOP) 694 5, SIGTRAP) == NOTIFY_STOP)
@@ -707,10 +707,8 @@ void __kprobes single_step_exception(struct pt_regs *regs)
707 */ 707 */
708static void emulate_single_step(struct pt_regs *regs) 708static void emulate_single_step(struct pt_regs *regs)
709{ 709{
710 if (single_stepping(regs)) { 710 if (single_stepping(regs))
711 clear_single_step(regs); 711 single_step_exception(regs);
712 _exception(SIGTRAP, regs, TRAP_TRACE, 0);
713 }
714} 712}
715 713
716static inline int __parse_fpscr(unsigned long fpscr) 714static inline int __parse_fpscr(unsigned long fpscr)