summaryrefslogtreecommitdiff
path: root/tools/perf/tests/shell
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/tests/shell')
-rwxr-xr-xtools/perf/tests/shell/test_arm_coresight.sh15
1 files changed, 14 insertions, 1 deletions
diff --git a/tools/perf/tests/shell/test_arm_coresight.sh b/tools/perf/tests/shell/test_arm_coresight.sh
index f1bf5621160f..fe78c4626e45 100755
--- a/tools/perf/tests/shell/test_arm_coresight.sh
+++ b/tools/perf/tests/shell/test_arm_coresight.sh
@@ -11,6 +11,19 @@
glb_err=0
+cs_etm_dev_name() {
+ cs_etm_path=$(find /sys/bus/event_source/devices/cs_etm/ -name cpu* -print -quit)
+ trcdevarch=$(cat ${cs_etm_path}/mgmt/trcdevarch)
+ archhver=$((($trcdevarch >> 12) & 0xf))
+ archpart=$(($trcdevarch & 0xfff))
+
+ if [ $archhver -eq 5 -a "$(printf "0x%X\n" $archpart)" = "0xA13" ] ; then
+ echo "ete"
+ else
+ echo "etm"
+ fi
+}
+
skip_if_no_cs_etm_event() {
perf list | grep -q 'cs_etm//' && return 0
@@ -136,7 +149,7 @@ arm_cs_iterate_devices() {
arm_cs_etm_traverse_path_test() {
# Iterate for every ETM device
- for dev in /sys/bus/coresight/devices/etm*; do
+ for dev in /sys/bus/coresight/devices/$(cs_etm_dev_name)*; do
# Find the ETM device belonging to which CPU
cpu=`cat $dev/cpu`