Commit dbc0d691 authored by Eirik Aanonsen's avatar Eirik Aanonsen Committed by Hans-Christian Egtvedt

avr32: add kprobe_ctlblk memory struct

This re-enables kprobes on AVR32 architecture.
Signed-off-by: default avatarEirik Aanonsen <eaa@wprmedical.com>
Signed-off-by: default avatarHans-Christian Egtvedt <egtvedt@samfundet.no>
parent d617b338
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
typedef u16 kprobe_opcode_t; typedef u16 kprobe_opcode_t;
#define BREAKPOINT_INSTRUCTION 0xd673 /* breakpoint */ #define BREAKPOINT_INSTRUCTION 0xd673 /* breakpoint */
#define MAX_INSN_SIZE 2 #define MAX_INSN_SIZE 2
#define MAX_STACK_SIZE 64 /* 32 would probably be OK */
#define kretprobe_blacklist_size 0 #define kretprobe_blacklist_size 0
...@@ -26,6 +27,19 @@ struct arch_specific_insn { ...@@ -26,6 +27,19 @@ struct arch_specific_insn {
kprobe_opcode_t insn[MAX_INSN_SIZE]; kprobe_opcode_t insn[MAX_INSN_SIZE];
}; };
struct prev_kprobe {
struct kprobe *kp;
unsigned int status;
};
/* per-cpu kprobe control block */
struct kprobe_ctlblk {
unsigned int kprobe_status;
struct prev_kprobe prev_kprobe;
struct pt_regs jprobe_saved_regs;
char jprobes_stack[MAX_STACK_SIZE];
};
extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr); extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
extern int kprobe_exceptions_notify(struct notifier_block *self, extern int kprobe_exceptions_notify(struct notifier_block *self,
unsigned long val, void *data); unsigned long val, void *data);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment