Browse Source

perf tools: Move xtensa barrier.h stuff to tools/arch/xtensa/include/asm/barrier.h

We will need it for atomic.h, so move it from the ad-hoc tools/perf/
place to a tools/ subset of the kernel arch/ hierarchy.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-lp68dspbtjcwbpzd7x5c6zp5@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Arnaldo Carvalho de Melo 10 years ago
parent
commit
3d3337de89

+ 18 - 0
tools/arch/xtensa/include/asm/barrier.h

@@ -0,0 +1,18 @@
+/*
+ * Copied from the kernel sources to tools/:
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * Copyright (C) 2001 - 2012 Tensilica Inc.
+ */
+
+#ifndef _TOOLS_LINUX_XTENSA_SYSTEM_H
+#define _TOOLS_LINUX_XTENSA_SYSTEM_H
+
+#define mb()  ({ __asm__ __volatile__("memw" : : : "memory"); })
+#define rmb() barrier()
+#define wmb() mb()
+
+#endif /* _TOOLS_LINUX_XTENSA_SYSTEM_H */

+ 2 - 0
tools/include/asm/barrier.h

@@ -16,4 +16,6 @@
 #include "../../arch/alpha/include/asm/barrier.h"
 #include "../../arch/alpha/include/asm/barrier.h"
 #elif defined(__ia64__)
 #elif defined(__ia64__)
 #include "../../arch/ia64/include/asm/barrier.h"
 #include "../../arch/ia64/include/asm/barrier.h"
+#elif defined(__xtensa__)
+#include "../../arch/xtensa/include/asm/barrier.h"
 #endif
 #endif

+ 1 - 0
tools/perf/MANIFEST

@@ -9,6 +9,7 @@ tools/arch/sparc/include/asm/barrier.h
 tools/arch/sparc/include/asm/barrier_32.h
 tools/arch/sparc/include/asm/barrier_32.h
 tools/arch/sparc/include/asm/barrier_64.h
 tools/arch/sparc/include/asm/barrier_64.h
 tools/arch/x86/include/asm/barrier.h
 tools/arch/x86/include/asm/barrier.h
+tools/arch/xtensa/include/asm/barrier.h
 tools/scripts
 tools/scripts
 tools/build
 tools/build
 tools/lib/traceevent
 tools/lib/traceevent

+ 0 - 3
tools/perf/perf-sys.h

@@ -105,9 +105,6 @@
 #endif
 #endif
 
 
 #ifdef __xtensa__
 #ifdef __xtensa__
-#define mb()		asm volatile("memw" ::: "memory")
-#define wmb()		asm volatile("memw" ::: "memory")
-#define rmb()		asm volatile("" ::: "memory")
 #define CPUINFO_PROC	{"core ID"}
 #define CPUINFO_PROC	{"core ID"}
 #endif
 #endif