blob: a787e6d537b924bbe39d591cea42f988cd59eff5 [file] [log] [blame]
Guo Renc22b0bc2020-12-17 16:01:42 +00001/* SPDX-License-Identifier: GPL-2.0 */
2
3#ifndef _ASM_RISCV_PROBES_H
4#define _ASM_RISCV_PROBES_H
5
6typedef u32 probe_opcode_t;
7typedef bool (probes_handler_t) (u32 opcode, unsigned long addr, struct pt_regs *);
8
9/* architecture specific copy of original instruction */
10struct arch_probe_insn {
11 probe_opcode_t *insn;
12 probes_handler_t *handler;
13 /* restore address after simulation */
14 unsigned long restore;
15};
16
17#ifdef CONFIG_KPROBES
18typedef u32 kprobe_opcode_t;
19struct arch_specific_insn {
20 struct arch_probe_insn api;
21};
22#endif
23
24#endif /* _ASM_RISCV_PROBES_H */