aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/include/asm/kprobes.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/include/asm/kprobes.h')
-rw-r--r--arch/s390/include/asm/kprobes.h20
1 files changed, 2 insertions, 18 deletions
diff --git a/arch/s390/include/asm/kprobes.h b/arch/s390/include/asm/kprobes.h
index 330f68caffe4..a231a9439c4b 100644
--- a/arch/s390/include/asm/kprobes.h
+++ b/arch/s390/include/asm/kprobes.h
@@ -31,7 +31,6 @@
31#include <linux/ptrace.h> 31#include <linux/ptrace.h>
32#include <linux/percpu.h> 32#include <linux/percpu.h>
33 33
34#define __ARCH_WANT_KPROBES_INSN_SLOT
35struct pt_regs; 34struct pt_regs;
36struct kprobe; 35struct kprobe;
37 36
@@ -58,23 +57,12 @@ typedef u16 kprobe_opcode_t;
58/* Architecture specific copy of original instruction */ 57/* Architecture specific copy of original instruction */
59struct arch_specific_insn { 58struct arch_specific_insn {
60 /* copy of original instruction */ 59 /* copy of original instruction */
61 kprobe_opcode_t *insn; 60 kprobe_opcode_t insn[MAX_INSN_SIZE];
62 int fixup;
63 int ilen;
64 int reg;
65}; 61};
66 62
67struct ins_replace_args {
68 kprobe_opcode_t *ptr;
69 kprobe_opcode_t old;
70 kprobe_opcode_t new;
71};
72struct prev_kprobe { 63struct prev_kprobe {
73 struct kprobe *kp; 64 struct kprobe *kp;
74 unsigned long status; 65 unsigned long status;
75 unsigned long saved_psw;
76 unsigned long kprobe_saved_imask;
77 unsigned long kprobe_saved_ctl[3];
78}; 66};
79 67
80/* per-cpu kprobe control block */ 68/* per-cpu kprobe control block */
@@ -82,17 +70,13 @@ struct kprobe_ctlblk {
82 unsigned long kprobe_status; 70 unsigned long kprobe_status;
83 unsigned long kprobe_saved_imask; 71 unsigned long kprobe_saved_imask;
84 unsigned long kprobe_saved_ctl[3]; 72 unsigned long kprobe_saved_ctl[3];
85 struct pt_regs jprobe_saved_regs;
86 unsigned long jprobe_saved_r14;
87 unsigned long jprobe_saved_r15;
88 struct prev_kprobe prev_kprobe; 73 struct prev_kprobe prev_kprobe;
74 struct pt_regs jprobe_saved_regs;
89 kprobe_opcode_t jprobes_stack[MAX_STACK_SIZE]; 75 kprobe_opcode_t jprobes_stack[MAX_STACK_SIZE];
90}; 76};
91 77
92void arch_remove_kprobe(struct kprobe *p); 78void arch_remove_kprobe(struct kprobe *p);
93void kretprobe_trampoline(void); 79void kretprobe_trampoline(void);
94int is_prohibited_opcode(kprobe_opcode_t *instruction);
95void get_instruction_type(struct arch_specific_insn *ainsn);
96 80
97int kprobe_fault_handler(struct pt_regs *regs, int trapnr); 81int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
98int kprobe_exceptions_notify(struct notifier_block *self, 82int kprobe_exceptions_notify(struct notifier_block *self,