aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/include/asm/probes.h
diff options
context:
space:
mode:
authorDavid A. Long <dave.long@linaro.org>2014-03-06 17:53:34 -0500
committerDavid A. Long <dave.long@linaro.org>2014-03-18 16:39:35 -0400
commitb2531dd5e5f19ea01d67aed82d81c5f778ec0fb7 (patch)
tree32f85a64ef9d5f54aa475d0d7638db169bb8a3d7 /arch/arm/include/asm/probes.h
parentuprobes: allow ignoring of probe hits (diff)
downloadlinux-dev-b2531dd5e5f19ea01d67aed82d81c5f778ec0fb7.tar.xz
linux-dev-b2531dd5e5f19ea01d67aed82d81c5f778ec0fb7.zip
ARM: move shared uprobe/kprobe definitions into new include file
Separate the kprobe-only definitions from the definitions needed by both kprobes and uprobes. Signed-off-by: David A. Long <dave.long@linaro.org> Acked-by: Jon Medhurst <tixy@linaro.org>
Diffstat (limited to 'arch/arm/include/asm/probes.h')
-rw-r--r--arch/arm/include/asm/probes.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm/include/asm/probes.h b/arch/arm/include/asm/probes.h
new file mode 100644
index 000000000000..90c5f5485202
--- /dev/null
+++ b/arch/arm/include/asm/probes.h
@@ -0,0 +1,36 @@
+/*
+ * arch/arm/include/asm/probes.h
+ *
+ * Original contents copied from arch/arm/include/asm/kprobes.h
+ * which contains the following notice...
+ *
+ * Copyright (C) 2006, 2007 Motorola Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ */
+
+#ifndef _ASM_PROBES_H
+#define _ASM_PROBES_H
+
+typedef void (kprobe_insn_handler_t)(struct kprobe *, struct pt_regs *);
+typedef unsigned long (kprobe_check_cc)(unsigned long);
+typedef void (kprobe_insn_singlestep_t)(struct kprobe *, struct pt_regs *);
+typedef void (kprobe_insn_fn_t)(void);
+
+/* Architecture specific copy of original instruction. */
+struct arch_specific_insn {
+ kprobe_opcode_t *insn;
+ kprobe_insn_handler_t *insn_handler;
+ kprobe_check_cc *insn_check_cc;
+ kprobe_insn_singlestep_t *insn_singlestep;
+ kprobe_insn_fn_t *insn_fn;
+};
+
+#endif