Merge branch 'async-scsi-resume' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux.git] / arch / arm / include / asm / probes.h
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 };
42
43 #endif