xref: /openbmc/linux/arch/arm/probes/uprobes/core.h (revision fca08f32)
1fca08f32SWang Nan /*
2fca08f32SWang Nan  * Copyright (C) 2012 Rabin Vincent <rabin at rab.in>
3fca08f32SWang Nan  *
4fca08f32SWang Nan  * This program is free software; you can redistribute it and/or modify
5fca08f32SWang Nan  * it under the terms of the GNU General Public License version 2 as
6fca08f32SWang Nan  * published by the Free Software Foundation.
7fca08f32SWang Nan  */
8fca08f32SWang Nan 
9fca08f32SWang Nan #ifndef __ARM_KERNEL_UPROBES_H
10fca08f32SWang Nan #define __ARM_KERNEL_UPROBES_H
11fca08f32SWang Nan 
12fca08f32SWang Nan enum probes_insn uprobe_decode_ldmstm(probes_opcode_t insn,
13fca08f32SWang Nan 				      struct arch_probes_insn *asi,
14fca08f32SWang Nan 				      const struct decode_header *d);
15fca08f32SWang Nan 
16fca08f32SWang Nan enum probes_insn decode_ldr(probes_opcode_t insn,
17fca08f32SWang Nan 			    struct arch_probes_insn *asi,
18fca08f32SWang Nan 			    const struct decode_header *d);
19fca08f32SWang Nan 
20fca08f32SWang Nan enum probes_insn
21fca08f32SWang Nan decode_rd12rn16rm0rs8_rwflags(probes_opcode_t insn,
22fca08f32SWang Nan 			      struct arch_probes_insn *asi,
23fca08f32SWang Nan 			      const struct decode_header *d);
24fca08f32SWang Nan 
25fca08f32SWang Nan enum probes_insn
26fca08f32SWang Nan decode_wb_pc(probes_opcode_t insn, struct arch_probes_insn *asi,
27fca08f32SWang Nan 	     const struct decode_header *d, bool alu);
28fca08f32SWang Nan 
29fca08f32SWang Nan enum probes_insn
30fca08f32SWang Nan decode_pc_ro(probes_opcode_t insn, struct arch_probes_insn *asi,
31fca08f32SWang Nan 	     const struct decode_header *d);
32fca08f32SWang Nan 
33fca08f32SWang Nan extern const union decode_action uprobes_probes_actions[];
34fca08f32SWang Nan 
35fca08f32SWang Nan #endif
36