ARM: move shared uprobe/kprobe definitions into new include file
authorDavid A. Long <dave.long@linaro.org>
Thu, 6 Mar 2014 22:53:34 +0000 (17:53 -0500)
committerDavid A. Long <dave.long@linaro.org>
Tue, 18 Mar 2014 20:39:35 +0000 (16:39 -0400)
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>
arch/arm/include/asm/kprobes.h
arch/arm/include/asm/probes.h [new file with mode: 0644]

index fd2e5caec6ed66237915e06c945d381635fb894f..6e1046661f079ab51872f7953e7ff55b974b6723 100644 (file)
 #define kretprobe_blacklist_size       0
 
 typedef u32 kprobe_opcode_t;
-
 struct kprobe;
-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;
-};
+#include <asm/probes.h>
 
 struct prev_kprobe {
        struct kprobe *kp;
diff --git a/arch/arm/include/asm/probes.h b/arch/arm/include/asm/probes.h
new file mode 100644 (file)
index 0000000..90c5f54
--- /dev/null
@@ -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