summaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/kprobes.h
diff options
context:
space:
mode:
authorKumar Gala2007-02-07 05:55:19 +0100
committerKumar Gala2007-02-07 05:55:19 +0100
commit8209003547c4b1006943eac8dc6c1fb6493cafda (patch)
tree37ed5742527d448f211c575fe714fe68846e0c40 /include/asm-powerpc/kprobes.h
parentMerge branch 'linux-2.6' (diff)
downloadkernel-qcow2-linux-8209003547c4b1006943eac8dc6c1fb6493cafda.tar.gz
kernel-qcow2-linux-8209003547c4b1006943eac8dc6c1fb6493cafda.tar.xz
kernel-qcow2-linux-8209003547c4b1006943eac8dc6c1fb6493cafda.zip
[POWERPC] Added kprobes support to ppc32
Added kprobes to ppc32 platforms that have use single_step_exception. This excludes 4xx and anything Book-E since their debug mechanisms for single stepping are completely different. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'include/asm-powerpc/kprobes.h')
-rw-r--r--include/asm-powerpc/kprobes.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/asm-powerpc/kprobes.h b/include/asm-powerpc/kprobes.h
index 2dafa376a63f..3a5dd492588f 100644
--- a/include/asm-powerpc/kprobes.h
+++ b/include/asm-powerpc/kprobes.h
@@ -44,6 +44,7 @@ typedef unsigned int kprobe_opcode_t;
#define IS_TDI(instr) (((instr) & 0xfc000000) == 0x08000000)
#define IS_TWI(instr) (((instr) & 0xfc000000) == 0x0c000000)
+#ifdef CONFIG_PPC64
/*
* 64bit powerpc uses function descriptors.
* Handle cases where:
@@ -67,9 +68,13 @@ typedef unsigned int kprobe_opcode_t;
}
#define JPROBE_ENTRY(pentry) (kprobe_opcode_t *)((func_descr_t *)pentry)
-
#define is_trap(instr) (IS_TW(instr) || IS_TD(instr) || \
IS_TWI(instr) || IS_TDI(instr))
+#else
+/* Use stock kprobe_lookup_name since ppc32 doesn't use function descriptors */
+#define JPROBE_ENTRY(pentry) (kprobe_opcode_t *)(pentry)
+#define is_trap(instr) (IS_TW(instr) || IS_TWI(instr))
+#endif
#define ARCH_SUPPORTS_KRETPROBES
#define ARCH_INACTIVE_KPROBE_COUNT 1