aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/kprobes.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-powerpc/kprobes.h')
-rw-r--r--include/asm-powerpc/kprobes.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/asm-powerpc/kprobes.h b/include/asm-powerpc/kprobes.h
index 3a5dd492588f..b0e40ff32ee0 100644
--- a/include/asm-powerpc/kprobes.h
+++ b/include/asm-powerpc/kprobes.h
@@ -64,6 +64,12 @@ typedef unsigned int kprobe_opcode_t;
64 addr = *(kprobe_opcode_t **)addr; \ 64 addr = *(kprobe_opcode_t **)addr; \
65 } else if (name[0] != '.') \ 65 } else if (name[0] != '.') \
66 addr = *(kprobe_opcode_t **)addr; \ 66 addr = *(kprobe_opcode_t **)addr; \
67 } else { \
68 char dot_name[KSYM_NAME_LEN+1]; \
69 dot_name[0] = '.'; \
70 dot_name[1] = '\0'; \
71 strncat(dot_name, name, KSYM_NAME_LEN); \
72 addr = (kprobe_opcode_t *)kallsyms_lookup_name(dot_name); \
67 } \ 73 } \
68} 74}
69 75
@@ -87,6 +93,11 @@ extern void arch_remove_kprobe(struct kprobe *p);
87struct arch_specific_insn { 93struct arch_specific_insn {
88 /* copy of original instruction */ 94 /* copy of original instruction */
89 kprobe_opcode_t *insn; 95 kprobe_opcode_t *insn;
96 /*
97 * Set in kprobes code, initially to 0. If the instruction can be
98 * eumulated, this is set to 1, if not, to -1.
99 */
100 int boostable;
90}; 101};
91 102
92struct prev_kprobe { 103struct prev_kprobe {
@@ -105,5 +116,6 @@ struct kprobe_ctlblk {
105 116
106extern int kprobe_exceptions_notify(struct notifier_block *self, 117extern int kprobe_exceptions_notify(struct notifier_block *self,
107 unsigned long val, void *data); 118 unsigned long val, void *data);
119extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
108#endif /* __KERNEL__ */ 120#endif /* __KERNEL__ */
109#endif /* _ASM_POWERPC_KPROBES_H */ 121#endif /* _ASM_POWERPC_KPROBES_H */