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