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