aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2009-06-22 12:08:22 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2009-06-22 12:08:24 +0200
commit12310e9c1b9a53896e4df0459039dd125f62aa9b (patch)
tree99a629bc1711c72e67ab0e9e86730ef69a563bad
parent181d95229b0931ee2ce6aad7348079cbc10e8d05 (diff)
[S390] Enable tick based perf_counter on s390.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r--arch/s390/Kconfig1
-rw-r--r--arch/s390/include/asm/perf_counter.h8
-rw-r--r--tools/perf/perf.h6
3 files changed, 15 insertions, 0 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index a14dba0e4d6..e577839f307 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -94,6 +94,7 @@ config S390
select HAVE_KVM if 64BIT
select HAVE_ARCH_TRACEHOOK
select INIT_ALL_POSSIBLE
+ select HAVE_PERF_COUNTERS
source "init/Kconfig"
diff --git a/arch/s390/include/asm/perf_counter.h b/arch/s390/include/asm/perf_counter.h
new file mode 100644
index 00000000000..a7205a3828c
--- /dev/null
+++ b/arch/s390/include/asm/perf_counter.h
@@ -0,0 +1,8 @@
+/*
+ * Performance counter support - s390 specific definitions.
+ *
+ * Copyright 2009 Martin Schwidefsky, IBM Corporation.
+ */
+
+static inline void set_perf_counter_pending(void) {}
+static inline void clear_perf_counter_pending(void) {}
diff --git a/tools/perf/perf.h b/tools/perf/perf.h
index bccb529dac0..ceb68aa51f7 100644
--- a/tools/perf/perf.h
+++ b/tools/perf/perf.h
@@ -13,6 +13,12 @@
#define cpu_relax() asm volatile ("" ::: "memory");
#endif
+#ifdef __s390__
+#include "../../arch/s390/include/asm/unistd.h"
+#define rmb() asm volatile("bcr 15,0" ::: "memory")
+#define cpu_relax() asm volatile("" ::: "memory");
+#endif
+
#include <time.h>
#include <unistd.h>
#include <sys/types.h>