diff options
Diffstat (limited to 'arch/arm/kernel/kprobes.h')
-rw-r--r-- | arch/arm/kernel/kprobes.h | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/arch/arm/kernel/kprobes.h b/arch/arm/kernel/kprobes.h index 3684fc9e27cc..eee8089b1b93 100644 --- a/arch/arm/kernel/kprobes.h +++ b/arch/arm/kernel/kprobes.h | |||
@@ -19,6 +19,8 @@ | |||
19 | #ifndef _ARM_KERNEL_KPROBES_H | 19 | #ifndef _ARM_KERNEL_KPROBES_H |
20 | #define _ARM_KERNEL_KPROBES_H | 20 | #define _ARM_KERNEL_KPROBES_H |
21 | 21 | ||
22 | #include "probes.h" | ||
23 | |||
22 | /* | 24 | /* |
23 | * These undefined instructions must be unique and | 25 | * These undefined instructions must be unique and |
24 | * reserved solely for kprobes' use. | 26 | * reserved solely for kprobes' use. |
@@ -27,8 +29,9 @@ | |||
27 | #define KPROBE_THUMB16_BREAKPOINT_INSTRUCTION 0xde18 | 29 | #define KPROBE_THUMB16_BREAKPOINT_INSTRUCTION 0xde18 |
28 | #define KPROBE_THUMB32_BREAKPOINT_INSTRUCTION 0xf7f0a018 | 30 | #define KPROBE_THUMB32_BREAKPOINT_INSTRUCTION 0xf7f0a018 |
29 | 31 | ||
30 | struct decode_header; | 32 | enum probes_insn __kprobes |
31 | union decode_action; | 33 | kprobe_decode_ldmstm(kprobe_opcode_t insn, struct arch_specific_insn *asi, |
34 | const struct decode_header *h); | ||
32 | 35 | ||
33 | typedef enum probes_insn (kprobe_decode_insn_t)(probes_opcode_t, | 36 | typedef enum probes_insn (kprobe_decode_insn_t)(probes_opcode_t, |
34 | struct arch_specific_insn *, | 37 | struct arch_specific_insn *, |
@@ -36,21 +39,13 @@ typedef enum probes_insn (kprobe_decode_insn_t)(probes_opcode_t, | |||
36 | 39 | ||
37 | #ifdef CONFIG_THUMB2_KERNEL | 40 | #ifdef CONFIG_THUMB2_KERNEL |
38 | 41 | ||
39 | enum probes_insn thumb16_kprobe_decode_insn(probes_opcode_t, | 42 | extern const union decode_action kprobes_t32_actions[]; |
40 | struct arch_specific_insn *, | 43 | extern const union decode_action kprobes_t16_actions[]; |
41 | const union decode_action *); | ||
42 | enum probes_insn thumb32_kprobe_decode_insn(probes_opcode_t, | ||
43 | struct arch_specific_insn *, | ||
44 | const union decode_action *); | ||
45 | 44 | ||
46 | #else /* !CONFIG_THUMB2_KERNEL */ | 45 | #else /* !CONFIG_THUMB2_KERNEL */ |
47 | 46 | ||
48 | enum probes_insn arm_kprobe_decode_insn(probes_opcode_t, | 47 | extern const union decode_action kprobes_arm_actions[]; |
49 | struct arch_specific_insn *, | ||
50 | const union decode_action *); | ||
51 | 48 | ||
52 | #endif | 49 | #endif |
53 | 50 | ||
54 | #include "probes.h" | ||
55 | |||
56 | #endif /* _ARM_KERNEL_KPROBES_H */ | 51 | #endif /* _ARM_KERNEL_KPROBES_H */ |