1 /* SPDX-License-Identifier: GPL-2.0 */ 2 3 #ifndef _ASM_RISCV_PROBES_H 4 #define _ASM_RISCV_PROBES_H 5 6 typedef u32 probe_opcode_t; 7 typedef bool (probes_handler_t) (u32 opcode, unsigned long addr, struct pt_regs *); 8 9 /* architecture specific copy of original instruction */ 10 struct 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 18 typedef u32 kprobe_opcode_t; 19 struct arch_specific_insn { 20 struct arch_probe_insn api; 21 }; 22 #endif 23 24 #endif /* _ASM_RISCV_PROBES_H */ 25