xref: /openbmc/linux/arch/arm/probes/uprobes/core.h (revision d2912cb1)
1d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2fca08f32SWang Nan /*
3fca08f32SWang Nan  * Copyright (C) 2012 Rabin Vincent <rabin at rab.in>
4fca08f32SWang Nan  */
5fca08f32SWang Nan 
6fca08f32SWang Nan #ifndef __ARM_KERNEL_UPROBES_H
7fca08f32SWang Nan #define __ARM_KERNEL_UPROBES_H
8fca08f32SWang Nan 
9fca08f32SWang Nan enum probes_insn uprobe_decode_ldmstm(probes_opcode_t insn,
10fca08f32SWang Nan 				      struct arch_probes_insn *asi,
11fca08f32SWang Nan 				      const struct decode_header *d);
12fca08f32SWang Nan 
13fca08f32SWang Nan enum probes_insn decode_ldr(probes_opcode_t insn,
14fca08f32SWang Nan 			    struct arch_probes_insn *asi,
15fca08f32SWang Nan 			    const struct decode_header *d);
16fca08f32SWang Nan 
17fca08f32SWang Nan enum probes_insn
18fca08f32SWang Nan decode_rd12rn16rm0rs8_rwflags(probes_opcode_t insn,
19fca08f32SWang Nan 			      struct arch_probes_insn *asi,
20fca08f32SWang Nan 			      const struct decode_header *d);
21fca08f32SWang Nan 
22fca08f32SWang Nan enum probes_insn
23fca08f32SWang Nan decode_wb_pc(probes_opcode_t insn, struct arch_probes_insn *asi,
24fca08f32SWang Nan 	     const struct decode_header *d, bool alu);
25fca08f32SWang Nan 
26fca08f32SWang Nan enum probes_insn
27fca08f32SWang Nan decode_pc_ro(probes_opcode_t insn, struct arch_probes_insn *asi,
28fca08f32SWang Nan 	     const struct decode_header *d);
29fca08f32SWang Nan 
30fca08f32SWang Nan extern const union decode_action uprobes_probes_actions[];
31fca08f32SWang Nan 
32fca08f32SWang Nan #endif
33