perf test: Update cs_etm testcase for Arm ETE
authorRuidong Tian <tianruidong@linux.alibaba.com>
Mon, 11 Sep 2023 06:55:41 +0000 (14:55 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 12 Sep 2023 20:32:00 +0000 (17:32 -0300)
Add ETE as one of the supported device types in perf cs_etm testcase.

Reviewed-by: James Clark <james.clark@arm.com>
Signed-off-by: Ruidong Tian <tianruidong@linux.alibaba.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
Cc: coresight@lists.linaro.org
Cc: linux-arm-kernel@lists.infradead.org
Link: https://lore.kernel.org/r/20230911065541.91293-1-tianruidong@linux.alibaba.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/tests/shell/test_arm_coresight.sh

index f1bf5621160fbbb12304afd1fae20c1c961f28db..fe78c4626e4513b8e9ca7c7ae33a292fcb011324 100755 (executable)
 
 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`