summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/powerpc/pmu/ebb/ebb.c
diff options
context:
space:
mode:
authorDenis Kirjanov <kda@linux-powerpc.org>2015-10-18 10:23:53 (GMT)
committerMichael Ellerman <mpe@ellerman.id.au>2015-10-19 08:42:08 (GMT)
commit39fcfb911c3862f1366ef84efbea10aff59421c2 (patch)
tree3df010a1b7d0a96ab2a196b6d4372672cfc23bcf /tools/testing/selftests/powerpc/pmu/ebb/ebb.c
parent20d09927e669b7e92795c804a3cf82d6c4f3c909 (diff)
downloadlinux-39fcfb911c3862f1366ef84efbea10aff59421c2.tar.xz
selftests/powerpc: Run EBB tests only on POWER8
EBB (Event Based Branches) are currently only available on POWER8, so we should skip them on other CPUs. I've found that at least one test loops forever on 970MP (cycles_with_freeze_test). Signed-off-by: Denis Kirjanov <kda@linux-powerpc.org> [mpe: Minor change log editing, add skip to cpu_event_vs_ebb_test] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'tools/testing/selftests/powerpc/pmu/ebb/ebb.c')
-rw-r--r--tools/testing/selftests/powerpc/pmu/ebb/ebb.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/testing/selftests/powerpc/pmu/ebb/ebb.c b/tools/testing/selftests/powerpc/pmu/ebb/ebb.c
index d7a72ce..9729d9f 100644
--- a/tools/testing/selftests/powerpc/pmu/ebb/ebb.c
+++ b/tools/testing/selftests/powerpc/pmu/ebb/ebb.c
@@ -13,6 +13,7 @@
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
+#include <linux/auxvec.h>
#include "trace.h"
#include "reg.h"
@@ -319,6 +320,16 @@ void ebb_global_disable(void)
mb();
}
+bool ebb_is_supported(void)
+{
+#ifdef PPC_FEATURE2_EBB
+ /* EBB requires at least POWER8 */
+ return ((long)get_auxv_entry(AT_HWCAP2) & PPC_FEATURE2_EBB);
+#else
+ return false;
+#endif
+}
+
void event_ebb_init(struct event *e)
{
e->attr.config |= (1ull << 63);