diff options
Diffstat (limited to 'include/asm-sparc64/kprobes.h')
| -rw-r--r-- | include/asm-sparc64/kprobes.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/asm-sparc64/kprobes.h b/include/asm-sparc64/kprobes.h index a8d326a598f0..7ba845320f5c 100644 --- a/include/asm-sparc64/kprobes.h +++ b/include/asm-sparc64/kprobes.h | |||
| @@ -3,6 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | #include <linux/config.h> | 4 | #include <linux/config.h> |
| 5 | #include <linux/types.h> | 5 | #include <linux/types.h> |
| 6 | #include <linux/percpu.h> | ||
| 6 | 7 | ||
| 7 | typedef u32 kprobe_opcode_t; | 8 | typedef u32 kprobe_opcode_t; |
| 8 | 9 | ||
| @@ -18,6 +19,25 @@ struct arch_specific_insn { | |||
| 18 | kprobe_opcode_t insn[MAX_INSN_SIZE]; | 19 | kprobe_opcode_t insn[MAX_INSN_SIZE]; |
| 19 | }; | 20 | }; |
| 20 | 21 | ||
| 22 | struct prev_kprobe { | ||
| 23 | struct kprobe *kp; | ||
| 24 | unsigned int status; | ||
| 25 | unsigned long orig_tnpc; | ||
| 26 | unsigned long orig_tstate_pil; | ||
| 27 | }; | ||
| 28 | |||
| 29 | /* per-cpu kprobe control block */ | ||
| 30 | struct kprobe_ctlblk { | ||
| 31 | unsigned long kprobe_status; | ||
| 32 | unsigned long kprobe_orig_tnpc; | ||
| 33 | unsigned long kprobe_orig_tstate_pil; | ||
| 34 | long *jprobe_saved_esp; | ||
| 35 | struct pt_regs jprobe_saved_regs; | ||
| 36 | struct pt_regs *jprobe_saved_regs_location; | ||
| 37 | struct sparc_stackf jprobe_saved_stack; | ||
| 38 | struct prev_kprobe prev_kprobe; | ||
| 39 | }; | ||
| 40 | |||
| 21 | #ifdef CONFIG_KPROBES | 41 | #ifdef CONFIG_KPROBES |
| 22 | extern int kprobe_exceptions_notify(struct notifier_block *self, | 42 | extern int kprobe_exceptions_notify(struct notifier_block *self, |
| 23 | unsigned long val, void *data); | 43 | unsigned long val, void *data); |
