1 /* 2 * arch/arm64/include/asm/probes.h 3 * 4 * Copyright (C) 2013 Linaro Limited 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * General Public License for more details. 14 */ 15 #ifndef _ARM_PROBES_H 16 #define _ARM_PROBES_H 17 18 #include <asm/opcodes.h> 19 20 struct kprobe; 21 struct arch_specific_insn; 22 23 typedef u32 kprobe_opcode_t; 24 typedef void (kprobes_handler_t) (u32 opcode, long addr, struct pt_regs *); 25 26 /* architecture specific copy of original instruction */ 27 struct arch_specific_insn { 28 kprobe_opcode_t *insn; 29 pstate_check_t *pstate_cc; 30 kprobes_handler_t *handler; 31 /* restore address after step xol */ 32 unsigned long restore; 33 }; 34 35 #endif 36