1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * arch/arm64/include/asm/probes.h 4 * 5 * Copyright (C) 2013 Linaro Limited 6 */ 7 #ifndef _ARM_PROBES_H 8 #define _ARM_PROBES_H 9 10 #include <asm/insn.h> 11 12 typedef u32 probe_opcode_t; 13 typedef void (probes_handler_t) (u32 opcode, long addr, struct pt_regs *); 14 15 /* architecture specific copy of original instruction */ 16 struct arch_probe_insn { 17 probe_opcode_t *insn; 18 pstate_check_t *pstate_cc; 19 probes_handler_t *handler; 20 /* restore address after step xol */ 21 unsigned long restore; 22 }; 23 #ifdef CONFIG_KPROBES 24 typedef u32 kprobe_opcode_t; 25 struct arch_specific_insn { 26 struct arch_probe_insn api; 27 }; 28 #endif 29 30 #endif 31