Browse Source

sh: kprobes: Use trapa #0x3a for breakpoint trap.

Not all parts support trapa #0xff, so use something within the debug trap
range that's accessible on all parts.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt 16 years ago
parent
commit
174b5c9923
2 changed files with 2 additions and 3 deletions
  1. 1 1
      arch/sh/include/asm/kprobes.h
  2. 1 2
      arch/sh/kernel/kprobes.c

+ 1 - 1
arch/sh/include/asm/kprobes.h

@@ -7,7 +7,7 @@
 #include <linux/ptrace.h>
 
 typedef u16 kprobe_opcode_t;
-#define BREAKPOINT_INSTRUCTION	0xc3ff
+#define BREAKPOINT_INSTRUCTION	0xc33a
 
 #define MAX_INSN_SIZE 16
 #define MAX_STACK_SIZE 64

+ 1 - 2
arch/sh/kernel/kprobes.c

@@ -525,8 +525,7 @@ int __kprobes setjmp_pre_handler(struct kprobe *p, struct pt_regs *regs)
 
 void __kprobes jprobe_return(void)
 {
-	__asm("trapa #-1\n\t" "jprobe_return_end:\n\t" "nop\n\t");
-
+	asm volatile ("trapa #0x3a\n\t" "jprobe_return_end:\n\t" "nop\n\t");
 }
 
 int __kprobes longjmp_break_handler(struct kprobe *p, struct pt_regs *regs)