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 void (probes_handler_t) (u32 opcode, long addr, struct pt_regs *); 13 14 struct arch_probe_insn { 15 probes_handler_t *handler; 16 }; 17 #ifdef CONFIG_KPROBES 18 typedef __le32 kprobe_opcode_t; 19 struct arch_specific_insn { 20 struct arch_probe_insn api; 21 kprobe_opcode_t *xol_insn; 22 /* restore address after step xol */ 23 unsigned long xol_restore; 24 }; 25 #endif 26 27 #endif 28