diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-07-08 21:25:48 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-07-08 21:25:48 -0400 |
commit | 5f07aa7524e98d6f68f2bec54f155ef6012e2c9a (patch) | |
tree | 393b2db3213e6618ad1338f9b66019b0c05c6f75 /arch/powerpc/kernel/traps.c | |
parent | e467e104bb7482170b79f516d2025e7cfcaaa733 (diff) | |
parent | d09ec7387184eba9e3030496f0451204090ff610 (diff) |
Merge commit 'paulus-perf/master' into next
Diffstat (limited to 'arch/powerpc/kernel/traps.c')
-rw-r--r-- | arch/powerpc/kernel/traps.c | 8 |
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 | ||
689 | void __kprobes single_step_exception(struct pt_regs *regs) | 689 | void __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 | */ |
708 | static void emulate_single_step(struct pt_regs *regs) | 708 | static 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 | ||
716 | static inline int __parse_fpscr(unsigned long fpscr) | 714 | static inline int __parse_fpscr(unsigned long fpscr) |