summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhigang Lu2014-02-11 04:03:48 +0100
committerChris Metcalf2014-03-07 17:19:49 +0100
commit620830b6954913647b7c7f68920cf48eddf6ad92 (patch)
treea726f15a685c7f2fbc4e36c2edf776fbb80118b1
parenttile/perf: Support perf_events on tilegx and tilepro (diff)
downloadkernel-qcow2-linux-620830b6954913647b7c7f68920cf48eddf6ad92.tar.gz
kernel-qcow2-linux-620830b6954913647b7c7f68920cf48eddf6ad92.tar.xz
kernel-qcow2-linux-620830b6954913647b7c7f68920cf48eddf6ad92.zip
perf tools: Allow building for tile
Tested by building perf: - Cross-compiled for tile on x86_64 - Built natively on tile Signed-off-by: Zhigang Lu <zlu@tilera.com> Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
-rw-r--r--tools/perf/config/Makefile.arch3
-rw-r--r--tools/perf/perf.h8
2 files changed, 10 insertions, 1 deletions
diff --git a/tools/perf/config/Makefile.arch b/tools/perf/config/Makefile.arch
index fef8ae922800..4b06719ee984 100644
--- a/tools/perf/config/Makefile.arch
+++ b/tools/perf/config/Makefile.arch
@@ -5,7 +5,8 @@ ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
-e s/arm.*/arm/ -e s/sa110/arm/ \
-e s/s390x/s390/ -e s/parisc64/parisc/ \
-e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
- -e s/sh[234].*/sh/ -e s/aarch64.*/arm64/ )
+ -e s/sh[234].*/sh/ -e s/aarch64.*/arm64/ \
+ -e s/tile.*/tile/ )
# Additional ARCH settings for x86
ifeq ($(ARCH),i386)
diff --git a/tools/perf/perf.h b/tools/perf/perf.h
index e84fa26bc1be..75caf680f6a8 100644
--- a/tools/perf/perf.h
+++ b/tools/perf/perf.h
@@ -139,6 +139,14 @@
#define CPUINFO_PROC "core ID"
#endif
+#ifdef __tile__
+#define mb() asm volatile ("mf" ::: "memory")
+#define wmb() asm volatile ("mf" ::: "memory")
+#define rmb() asm volatile ("mf" ::: "memory")
+#define cpu_relax() asm volatile ("mfspr zero, PASS" ::: "memory")
+#define CPUINFO_PROC "model name"
+#endif
+
#define barrier() asm volatile ("" ::: "memory")
#ifndef cpu_relax