1 /* 2 * arch/arm/include/asm/probes.h 3 * 4 * Original contents copied from arch/arm/include/asm/kprobes.h 5 * which contains the following notice... 6 * 7 * Copyright (C) 2006, 2007 Motorola Inc. 8 * 9 * This program is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License version 2 as 11 * published by the Free Software Foundation. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * General Public License for more details. 17 */ 18 19 #ifndef _ASM_PROBES_H 20 #define _ASM_PROBES_H 21 22 struct kprobe; 23 24 typedef void (kprobe_insn_handler_t)(struct kprobe *, struct pt_regs *); 25 typedef unsigned long (kprobe_check_cc)(unsigned long); 26 typedef void (kprobe_insn_singlestep_t)(struct kprobe *, struct pt_regs *); 27 typedef void (kprobe_insn_fn_t)(void); 28 29 /* Architecture specific copy of original instruction. */ 30 struct arch_specific_insn { 31 kprobe_opcode_t *insn; 32 kprobe_insn_handler_t *insn_handler; 33 kprobe_check_cc *insn_check_cc; 34 kprobe_insn_singlestep_t *insn_singlestep; 35 kprobe_insn_fn_t *insn_fn; 36 }; 37 38 #endif 39