ARM: Remove use of struct kprobe from generic probes code

Change the generic ARM probes code to pass in the opcode and architecture-specific
structure separately instead of using struct kprobe, so we do not pollute
code being used only for uprobes or other non-kprobes instruction
interpretation.

Signed-off-by: David A. Long <dave.long@linaro.org>
Acked-by: Jon Medhurst <tixy@linaro.org>
This commit is contained in:
David A. Long
2014-03-07 11:19:32 -05:00
parent 3e6cd394bb
commit 7579f4b376
10 changed files with 201 additions and 170 deletions

View File

@@ -53,10 +53,15 @@ enum probes_arm_action {
NUM_PROBES_ARM_ACTIONS
};
void __kprobes simulate_bbl(struct kprobe *p, struct pt_regs *regs);
void __kprobes simulate_blx1(struct kprobe *p, struct pt_regs *regs);
void __kprobes simulate_blx2bx(struct kprobe *p, struct pt_regs *regs);
void __kprobes simulate_mrs(struct kprobe *p, struct pt_regs *regs);
void __kprobes simulate_mov_ipsp(struct kprobe *p, struct pt_regs *regs);
void __kprobes simulate_bbl(kprobe_opcode_t opcode,
struct arch_specific_insn *asi, struct pt_regs *regs);
void __kprobes simulate_blx1(kprobe_opcode_t opcode,
struct arch_specific_insn *asi, struct pt_regs *regs);
void __kprobes simulate_blx2bx(kprobe_opcode_t opcode,
struct arch_specific_insn *asi, struct pt_regs *regs);
void __kprobes simulate_mrs(kprobe_opcode_t opcode,
struct arch_specific_insn *asi, struct pt_regs *regs);
void __kprobes simulate_mov_ipsp(kprobe_opcode_t opcode,
struct arch_specific_insn *asi, struct pt_regs *regs);
#endif