86084727d36de1563caf46f25fd7da3f68b7450f
[cascardo/linux.git] / arch / arm / kernel / probes-arm.h
1 /*
2  * arch/arm/kernel/probes-arm.h
3  *
4  * Copyright 2013 Linaro Ltd.
5  * Written by: David A. Long
6  *
7  * The code contained herein is licensed under the GNU General Public
8  * License. You may obtain a copy of the GNU General Public License
9  * Version 2 or later at the following locations:
10  *
11  * http://www.opensource.org/licenses/gpl-license.html
12  * http://www.gnu.org/copyleft/gpl.html
13  */
14
15 #ifndef _ARM_KERNEL_PROBES_ARM_H
16 #define  _ARM_KERNEL_PROBES_ARM_H
17
18 void __kprobes simulate_bbl(struct kprobe *p, struct pt_regs *regs);
19 void __kprobes simulate_blx1(struct kprobe *p, struct pt_regs *regs);
20 void __kprobes simulate_blx2bx(struct kprobe *p, struct pt_regs *regs);
21 void __kprobes simulate_mrs(struct kprobe *p, struct pt_regs *regs);
22 void __kprobes simulate_mov_ipsp(struct kprobe *p, struct pt_regs *regs);
23
24 void __kprobes emulate_ldrdstrd(struct kprobe *p, struct pt_regs *regs);
25 void __kprobes emulate_ldr(struct kprobe *p, struct pt_regs *regs);
26 void __kprobes emulate_str(struct kprobe *p, struct pt_regs *regs);
27 void __kprobes emulate_rd12rn16rm0rs8_rwflags(struct kprobe *p,
28         struct pt_regs *regs);
29 void __kprobes emulate_rd12rn16rm0_rwflags_nopc(struct kprobe *p,
30         struct pt_regs *regs);
31 void __kprobes emulate_rd16rn12rm0rs8_rwflags_nopc(struct kprobe *p,
32         struct pt_regs *regs);
33 void __kprobes emulate_rd12rm0_noflags_nopc(struct kprobe *p,
34         struct pt_regs *regs);
35 void __kprobes emulate_rdlo12rdhi16rn0rm8_rwflags_nopc(struct kprobe *p,
36         struct pt_regs *regs);
37
38 #endif