summaryrefslogtreecommitdiff
path: root/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c
diff options
context:
space:
mode:
authorRob Herring <robh@kernel.org>2023-03-27 11:20:57 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2023-04-04 09:39:57 -0300
commit34fb60400e3257f3a046ee8e6b49242cf65cc1a3 (patch)
tree9b621b339cd4786cc28edaea7bfc4fb583422c79 /tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c
parentb6521ea2a033b0c49669bd60d69ca16d0746dcea (diff)
downloadlinux-34fb60400e3257f3a046ee8e6b49242cf65cc1a3.tar.gz
linux-34fb60400e3257f3a046ee8e6b49242cf65cc1a3.tar.bz2
linux-34fb60400e3257f3a046ee8e6b49242cf65cc1a3.zip
perf arm-spe: Add raw decoding for SPEv1.3 MTE and MOPS load/store
Arm SPEv1.3 adds new load/store operation subclasses for Memory Tagging Extension (MTE) and memory operations (MOPS). The memory operations are memcpy and memset. Add support for decoding these new subclasses in the raw decoding. Reviewed-by: Leo Yan <leo.yan@linaro.org Signed-off-by: Rob Herring <robh@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Leo Yan <leo.yan@linaro.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20230327162057.4057188-1-robh@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c')
-rw-r--r--tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c b/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c
index fed4741f372e..a454c6737563 100644
--- a/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c
+++ b/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c
@@ -381,6 +381,15 @@ static int arm_spe_pkt_desc_op_type(const struct arm_spe_pkt *packet,
case SPE_OP_PKT_LDST_SUBCLASS_NV_SYSREG:
arm_spe_pkt_out_string(&err, &buf, &buf_len, " NV-SYSREG");
break;
+ case SPE_OP_PKT_LDST_SUBCLASS_MTE_TAG:
+ arm_spe_pkt_out_string(&err, &buf, &buf_len, " MTE-TAG");
+ break;
+ case SPE_OP_PKT_LDST_SUBCLASS_MEMCPY:
+ arm_spe_pkt_out_string(&err, &buf, &buf_len, " MEMCPY");
+ break;
+ case SPE_OP_PKT_LDST_SUBCLASS_MEMSET:
+ arm_spe_pkt_out_string(&err, &buf, &buf_len, " MEMSET");
+ break;
default:
break;
}