]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
dtrace: convert from sdt_instr_t to asm_instr_t 2of2
authorKris Van Hees <kris.van.hees@oracle.com>
Tue, 2 Jun 2015 20:34:20 +0000 (16:34 -0400)
committerNick Alcock <nick.alcock@oracle.com>
Tue, 21 Jul 2015 14:30:16 +0000 (15:30 +0100)
The sdt_instr_t type was introduced as a generic type name for machine
instructions to be defined as a synonym for the arch-specific type.
It was named thusly because it was only used by the SDT support code.
However, other providers will need it also (e.g. FBT) and therefore it
is more appropriate to give it a name that is not tied to a specific
provider.

Orabug: 21220305

Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
Acked-by: Nick Alcock <nick.alcock@oracle.com>
Acked-by: Allen Pais <allen.pais@oracle.com>
arch/sparc/include/asm/dtrace_arch.h [new file with mode: 0644]
arch/sparc/include/asm/dtrace_sdt.h [deleted file]
arch/sparc/kernel/dtrace_sdt.c
arch/x86/include/asm/dtrace_arch.h [new file with mode: 0644]
arch/x86/include/asm/dtrace_sdt.h [deleted file]
arch/x86/kernel/dtrace_sdt.c
kernel/dtrace/dtrace_sdt.h
kernel/dtrace/dtrace_sdt_core.c

diff --git a/arch/sparc/include/asm/dtrace_arch.h b/arch/sparc/include/asm/dtrace_arch.h
new file mode 100644 (file)
index 0000000..729ca60
--- /dev/null
@@ -0,0 +1,10 @@
+/* Copyright (C) 2013,2014 Oracle, Inc. */
+
+#ifndef _SPARC_DTRACE_ARCH_H
+#define _SPARC_DTRACE_ARCH_H
+
+typedef uint32_t       asm_instr_t;
+
+#define SDT_TRAMP_SIZE 11
+
+#endif /* _SPARC_DTRACE_ARCH_H */
diff --git a/arch/sparc/include/asm/dtrace_sdt.h b/arch/sparc/include/asm/dtrace_sdt.h
deleted file mode 100644 (file)
index 105d07c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Copyright (C) 2013,2014 Oracle, Inc. */
-
-#ifndef _SPARC_DTRACE_SDT_H
-#define _SPARC_DTRACE_SDT_H
-
-typedef uint32_t       sdt_instr_t;
-
-#define SDT_TRAMP_SIZE 11
-
-#endif /* _SPARC_DTRACE_SDT_H */
index e8b70ab467dde0d37226bdfc8720adbced6dd43c..1ffcbfb71dea9bc23d7abe14d2bee43f6e54e8ae 100644 (file)
 #include <linux/slab.h>
 #include <linux/vmalloc.h>
 #include <asm/cacheflush.h>
-#include <asm/dtrace_sdt.h>
+#include <asm/dtrace_arch.h>
 
-void __init_or_module dtrace_sdt_nop_multi(sdt_instr_t **addrs, int cnt)
+void __init_or_module dtrace_sdt_nop_multi(asm_instr_t **addrs, int cnt)
 {
        int             i;
-       sdt_instr_t     *addr;
+       asm_instr_t     *addr;
 
        for (i = 0; i < cnt; i++) {
                addr = addrs[i];
diff --git a/arch/x86/include/asm/dtrace_arch.h b/arch/x86/include/asm/dtrace_arch.h
new file mode 100644 (file)
index 0000000..4806af6
--- /dev/null
@@ -0,0 +1,8 @@
+/* Copyright (C) 2013-2014 Oracle, Inc. */
+
+#ifndef _X86_DTRACE_ARCH_H
+#define _X86_DTRACE_ARCH_H
+
+typedef uint8_t                asm_instr_t;
+
+#endif /* _X86_DTRACE_ARCH_H */
diff --git a/arch/x86/include/asm/dtrace_sdt.h b/arch/x86/include/asm/dtrace_sdt.h
deleted file mode 100644 (file)
index 96c7fa2..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-/* Copyright (C) 2013-2014 Oracle, Inc. */
-
-#ifndef _X86_DTRACE_SDT_H
-#define _X86_DTRACE_SDT_H
-
-typedef uint8_t                sdt_instr_t;
-
-#endif /* _X86_DTRACE_SDT_H */
index 86ed00bd1b8a328efd3c07bb67df532d2436b782..73768b1b91b2447b4e76b04c8d40543fe70a6c3b 100644 (file)
@@ -14,7 +14,7 @@
 #include <linux/vmalloc.h>
 #include <asm/nmi.h>
 #include <asm/nops.h>
-#include <asm/dtrace_sdt.h>
+#include <asm/dtrace_arch.h>
 
 #define        SDT_NOP_SIZE    5
 
@@ -24,10 +24,10 @@ uint8_t                     nops[SDT_NOP_SIZE];
  * run before SMP is initialized in order to avoid SMP problems with patching
  * code that might be accessed on another CPU.
  */
-void __init_or_module dtrace_sdt_nop_multi(sdt_instr_t **addrs, int cnt)
+void __init_or_module dtrace_sdt_nop_multi(asm_instr_t **addrs, int cnt)
 {
        int                     i;
-       sdt_instr_t             *addr;
+       asm_instr_t             *addr;
        unsigned long           flags;
 
        stop_nmi();
index 2e12b6940521ecc02caf52dcd373024279e6ba64..18a745fc1fc7c01d233928ef38010ad2b51b575f 100644 (file)
@@ -3,7 +3,7 @@
 #ifndef _DTRACE_SDT_H_
 #define        _DTRACE_SDT_H_
 
-#include <asm/dtrace_sdt.h>
+#include <asm/dtrace_arch.h>
 
 /*
  * SDT probe called relocation information for the core kernel, provided by
@@ -26,7 +26,7 @@ extern void dtrace_sdt_exit(void);
 /*
  * Functions to be defined in arch/<arch>/kernel/dtrace_sdt.c
  */
-extern void __init_or_module dtrace_sdt_nop_multi(sdt_instr_t **, int);
+extern void __init_or_module dtrace_sdt_nop_multi(asm_instr_t **, int);
 extern void dtrace_sdt_init_arch(void);
 
 #endif /* _DTRACE_SDT_H_ */
index e98b5743bdd81dbe149d455deab5938b078525ac..ce953b85df8e557928ca5302d0619e7e2ad98067 100644 (file)
@@ -20,7 +20,7 @@
 const char             *sdt_prefix = "__dtrace_probe_";
 
 static int sdt_probe_set(sdt_probedesc_t *sdp, char *name, char *func,
-                        uintptr_t addr, sdt_instr_t **paddr)
+                        uintptr_t addr, asm_instr_t **paddr)
 {
        if ((sdp->sdpd_name = kstrdup(name, GFP_KERNEL)) == NULL) {
                kfree(sdp);
@@ -35,7 +35,7 @@ static int sdt_probe_set(sdt_probedesc_t *sdp, char *name, char *func,
 
        sdp->sdpd_offset = addr;
 
-       *paddr = (sdt_instr_t *)addr;
+       *paddr = (asm_instr_t *)addr;
 
        return 0;
 }
@@ -51,7 +51,7 @@ void dtrace_sdt_register(struct module *mp)
                                (dtrace_sdt_probeinfo_t *)&dtrace_sdt_probes;
        void                    *nextpi;
        sdt_probedesc_t         *sdps;
-       sdt_instr_t             **addrs;
+       asm_instr_t             **addrs;
 
        if (mp == NULL) {
                pr_warning("%s: no module provided - nothing registered\n",
@@ -83,8 +83,8 @@ void dtrace_sdt_register(struct module *mp)
         * Create a list of addresses (SDT probe locations) that need to be
         * patched with a NOP instruction (or instruction sequence).
         */
-       addrs = (sdt_instr_t **)vmalloc(dtrace_sdt_nprobes *
-                                       sizeof(sdt_instr_t *));
+       addrs = (asm_instr_t **)vmalloc(dtrace_sdt_nprobes *
+                                       sizeof(asm_instr_t *));
        if (addrs == NULL) {
                pr_warning("%s: cannot allocate SDT probe address list\n",
                           __func__);
@@ -131,7 +131,7 @@ static int dtrace_mod_notifier(struct notifier_block *nb, unsigned long val,
        struct module           *mp = args;
        int                     i, cnt;
        sdt_probedesc_t         *sdp;
-       sdt_instr_t             **addrs;
+       asm_instr_t             **addrs;
 
        /*
         * We only need to capture modules in the COMING state, we need a valid
@@ -149,8 +149,8 @@ static int dtrace_mod_notifier(struct notifier_block *nb, unsigned long val,
         * Create a list of addresses (SDT probe locations) that need to be
         * patched with a NOP instruction (or instruction sequence).
         */
-       addrs = (sdt_instr_t **)vmalloc(mp->sdt_probec *
-                                       sizeof(sdt_instr_t *));
+       addrs = (asm_instr_t **)vmalloc(mp->sdt_probec *
+                                       sizeof(asm_instr_t *));
        if (addrs == NULL) {
                pr_warning("%s: cannot allocate SDT probe address list (%s)\n",
                           __func__, mp->name);
@@ -172,7 +172,7 @@ static int dtrace_mod_notifier(struct notifier_block *nb, unsigned long val,
                        continue;
                }
 
-               addrs[cnt++] = (sdt_instr_t *)sdp->sdpd_offset;
+               addrs[cnt++] = (asm_instr_t *)sdp->sdpd_offset;
        }
 
        dtrace_sdt_nop_multi(addrs, cnt);