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 typedef u32 probes_opcode_t; 24 25 struct arch_specific_insn; 26 typedef void (kprobe_insn_handler_t)(probes_opcode_t, 27 struct arch_specific_insn *, 28 struct pt_regs *); 29 typedef unsigned long (probes_check_cc)(unsigned long); 30 typedef void (kprobe_insn_singlestep_t)(probes_opcode_t, 31 struct arch_specific_insn *, 32 struct pt_regs *); 33 typedef void (kprobe_insn_fn_t)(void); 34 35 /* Architecture specific copy of original instruction. */ 36 struct arch_specific_insn { 37 probes_opcode_t *insn; 38 kprobe_insn_handler_t *insn_handler; 39 probes_check_cc *insn_check_cc; 40 kprobe_insn_singlestep_t *insn_singlestep; 41 kprobe_insn_fn_t *insn_fn; 42 }; 43 44 #endif 45