linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] perf arm-spe: Add raw decoding for SPEv1.3 MTE and MOPS load/store
@ 2023-03-27 16:20 Rob Herring
  2023-03-30  2:32 ` Leo Yan
  0 siblings, 1 reply; 2+ messages in thread
From: Rob Herring @ 2023-03-27 16:20 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	Ian Rogers
  Cc: Leo Yan, linux-perf-users, linux-kernel

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.

Cc: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c | 9 +++++++++
 tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.h | 3 +++
 2 files changed, 12 insertions(+)

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;
 		}
diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.h b/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.h
index f75ed3a8a050..464a912b221c 100644
--- a/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.h
+++ b/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.h
@@ -123,6 +123,9 @@ enum arm_spe_events {
 #define SPE_OP_PKT_LDST_SUBCLASS_SIMD_FP	0x4
 #define SPE_OP_PKT_LDST_SUBCLASS_UNSPEC_REG	0x10
 #define SPE_OP_PKT_LDST_SUBCLASS_NV_SYSREG	0x30
+#define SPE_OP_PKT_LDST_SUBCLASS_MTE_TAG	0x14
+#define SPE_OP_PKT_LDST_SUBCLASS_MEMCPY		0x20
+#define SPE_OP_PKT_LDST_SUBCLASS_MEMSET		0x25
 
 #define SPE_OP_PKT_IS_LDST_ATOMIC(v)		(((v) & (GENMASK_ULL(7, 5) | BIT(1))) == 0x2)
 
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] perf arm-spe: Add raw decoding for SPEv1.3 MTE and MOPS load/store
  2023-03-27 16:20 [PATCH] perf arm-spe: Add raw decoding for SPEv1.3 MTE and MOPS load/store Rob Herring
@ 2023-03-30  2:32 ` Leo Yan
  0 siblings, 0 replies; 2+ messages in thread
From: Leo Yan @ 2023-03-30  2:32 UTC (permalink / raw)
  To: Rob Herring
  Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	Ian Rogers, linux-perf-users, linux-kernel

On Mon, Mar 27, 2023 at 11:20:57AM -0500, Rob Herring wrote:
> 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.
> 
> Cc: Leo Yan <leo.yan@linaro.org>
> Signed-off-by: Rob Herring <robh@kernel.org>

Reviewed-by: Leo Yan <leo.yan@linaro.org

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-03-30  2:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-27 16:20 [PATCH] perf arm-spe: Add raw decoding for SPEv1.3 MTE and MOPS load/store Rob Herring
2023-03-30  2:32 ` Leo Yan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).