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 typedef u32 probe_opcode_t; 11 typedef void (probes_handler_t) (u32 opcode, long addr, struct pt_regs *); 12 13 /* architecture specific copy of original instruction */ 14 struct arch_probe_insn { 15 probe_opcode_t *insn; 16 pstate_check_t *pstate_cc; 17 probes_handler_t *handler; 18 /* restore address after step xol */ 19 unsigned long restore; 20 }; 21 #ifdef CONFIG_KPROBES 22 typedef u32 kprobe_opcode_t; 23 struct arch_specific_insn { 24 struct arch_probe_insn api; 25 }; 26 #endif 27 28 #endif 29