]> granicus.if.org Git - strace/commitdiff
Move cacheflush parser to a separate file
authorDmitry V. Levin <ldv@altlinux.org>
Wed, 3 Dec 2014 20:50:08 +0000 (20:50 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Thu, 4 Dec 2014 02:23:34 +0000 (02:23 +0000)
* cacheflush.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* system.c: Move inclusion of <asm/cachectl.h> to cacheflush.c.
[M68K, BFIN, SH]: Move to cacheflush.c.

Makefile.am
cacheflush.c [new file with mode: 0644]
system.c

index 5abaeea3006cdad3da87e216eaef441cc87b8b21..d6968c08e7f919871210730f9572e4635c10e2e1 100644 (file)
@@ -20,6 +20,7 @@ strace_SOURCES =      \
        aio.c           \
        bjm.c           \
        block.c         \
+       cacheflush.c    \
        capability.c    \
        count.c         \
        desc.c          \
diff --git a/cacheflush.c b/cacheflush.c
new file mode 100644 (file)
index 0000000..bfbf583
--- /dev/null
@@ -0,0 +1,94 @@
+#include "defs.h"
+
+#ifdef HAVE_ASM_CACHECTL_H
+# include <asm/cachectl.h>
+#endif
+
+#ifdef M68K
+# include "xlat/cacheflush_scope.h"
+
+static const struct xlat cacheflush_flags[] = {
+#ifdef FLUSH_CACHE_BOTH
+       XLAT(FLUSH_CACHE_BOTH),
+#endif
+#ifdef FLUSH_CACHE_DATA
+       XLAT(FLUSH_CACHE_DATA),
+#endif
+#ifdef FLUSH_CACHE_INSN
+       XLAT(FLUSH_CACHE_INSN),
+#endif
+       XLAT_END
+};
+
+int
+sys_cacheflush(struct tcb *tcp)
+{
+       if (entering(tcp)) {
+               /* addr */
+               tprintf("%#lx, ", tcp->u_arg[0]);
+               /* scope */
+               printxval(cacheflush_scope, tcp->u_arg[1], "FLUSH_SCOPE_???");
+               tprints(", ");
+               /* flags */
+               printflags(cacheflush_flags, tcp->u_arg[2], "FLUSH_CACHE_???");
+               /* len */
+               tprintf(", %lu", tcp->u_arg[3]);
+       }
+       return 0;
+}
+#endif /* M68K */
+
+#ifdef BFIN
+static const struct xlat cacheflush_flags[] = {
+       XLAT(ICACHE),
+       XLAT(DCACHE),
+       XLAT(BCACHE),
+       XLAT_END
+};
+
+int
+sys_cacheflush(struct tcb *tcp)
+{
+       if (entering(tcp)) {
+               /* start addr */
+               tprintf("%#lx, ", tcp->u_arg[0]);
+               /* length */
+               tprintf("%ld, ", tcp->u_arg[1]);
+               /* flags */
+               printxval(cacheflush_flags, tcp->u_arg[1], "?CACHE");
+       }
+       return 0;
+}
+#endif /* BFIN */
+
+#ifdef SH
+static const struct xlat cacheflush_flags[] = {
+#ifdef CACHEFLUSH_D_INVAL
+       XLAT(CACHEFLUSH_D_INVAL),
+#endif
+#ifdef CACHEFLUSH_D_WB
+       XLAT(CACHEFLUSH_D_WB),
+#endif
+#ifdef CACHEFLUSH_D_PURGE
+       XLAT(CACHEFLUSH_D_PURGE),
+#endif
+#ifdef CACHEFLUSH_I
+       XLAT(CACHEFLUSH_I),
+#endif
+       XLAT_END
+};
+
+int
+sys_cacheflush(struct tcb *tcp)
+{
+       if (entering(tcp)) {
+               /* addr */
+               tprintf("%#lx, ", tcp->u_arg[0]);
+               /* len */
+               tprintf("%lu, ", tcp->u_arg[1]);
+               /* flags */
+               printflags(cacheflush_flags, tcp->u_arg[2], "CACHEFLUSH_???");
+       }
+       return 0;
+}
+#endif /* SH */
index ae72c66120ad3f9b392fe10dd5e72df83c6abefb..7cbc34201968c36d0098eea56823ff16117ee0a4 100644 (file)
--- a/system.c
+++ b/system.c
@@ -60,9 +60,6 @@
 #define MS_MGC_VAL     0xc0ed0000      /* Magic flag number */
 #define MS_MGC_MSK     0xffff0000      /* Magic flag mask */
 
-#ifdef HAVE_ASM_CACHECTL_H
-# include <asm/cachectl.h>
-#endif
 #include <linux/personality.h>
 
 #include "xlat/mount_flags.h"
@@ -187,94 +184,3 @@ sys_syslog(struct tcb *tcp)
 
        return 0;
 }
-
-#ifdef M68K
-#include "xlat/cacheflush_scope.h"
-
-static const struct xlat cacheflush_flags[] = {
-#ifdef FLUSH_CACHE_BOTH
-       XLAT(FLUSH_CACHE_BOTH),
-#endif
-#ifdef FLUSH_CACHE_DATA
-       XLAT(FLUSH_CACHE_DATA),
-#endif
-#ifdef FLUSH_CACHE_INSN
-       XLAT(FLUSH_CACHE_INSN),
-#endif
-       XLAT_END
-};
-
-int
-sys_cacheflush(struct tcb *tcp)
-{
-       if (entering(tcp)) {
-               /* addr */
-               tprintf("%#lx, ", tcp->u_arg[0]);
-               /* scope */
-               printxval(cacheflush_scope, tcp->u_arg[1], "FLUSH_SCOPE_???");
-               tprints(", ");
-               /* flags */
-               printflags(cacheflush_flags, tcp->u_arg[2], "FLUSH_CACHE_???");
-               /* len */
-               tprintf(", %lu", tcp->u_arg[3]);
-       }
-       return 0;
-}
-#endif /* M68K */
-
-#ifdef BFIN
-
-static const struct xlat cacheflush_flags[] = {
-       XLAT(ICACHE),
-       XLAT(DCACHE),
-       XLAT(BCACHE),
-       XLAT_END
-};
-
-int
-sys_cacheflush(struct tcb *tcp)
-{
-       if (entering(tcp)) {
-               /* start addr */
-               tprintf("%#lx, ", tcp->u_arg[0]);
-               /* length */
-               tprintf("%ld, ", tcp->u_arg[1]);
-               /* flags */
-               printxval(cacheflush_flags, tcp->u_arg[1], "?CACHE");
-       }
-       return 0;
-}
-
-#endif
-
-#ifdef SH
-static const struct xlat cacheflush_flags[] = {
-#ifdef CACHEFLUSH_D_INVAL
-       XLAT(CACHEFLUSH_D_INVAL),
-#endif
-#ifdef CACHEFLUSH_D_WB
-       XLAT(CACHEFLUSH_D_WB),
-#endif
-#ifdef CACHEFLUSH_D_PURGE
-       XLAT(CACHEFLUSH_D_PURGE),
-#endif
-#ifdef CACHEFLUSH_I
-       XLAT(CACHEFLUSH_I),
-#endif
-       XLAT_END
-};
-
-int
-sys_cacheflush(struct tcb *tcp)
-{
-       if (entering(tcp)) {
-               /* addr */
-               tprintf("%#lx, ", tcp->u_arg[0]);
-               /* len */
-               tprintf("%lu, ", tcp->u_arg[1]);
-               /* flags */
-               printflags(cacheflush_flags, tcp->u_arg[2], "CACHEFLUSH_???");
-       }
-       return 0;
-}
-#endif /* SH */