From: Leo Yan <leo.yan@arm.com>
To: James Clark <james.clark@linaro.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
Jonathan Corbet <corbet@lwn.net>, Marc Zyngier <maz@kernel.org>,
Oliver Upton <oliver.upton@linux.dev>,
Joey Gouly <joey.gouly@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Zenghui Yu <yuzenghui@huawei.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
linux-doc@vger.kernel.org, kvmarm@lists.linux.dev
Subject: Re: [PATCH 02/10] perf: arm_spe: Support FEAT_SPEv1p4 filters
Date: Tue, 20 May 2025 11:07:01 +0100 [thread overview]
Message-ID: <20250520100701.GL412060@e132581.arm.com> (raw)
In-Reply-To: <20250506-james-perf-feat_spe_eft-v1-2-dd480e8e4851@linaro.org>
On Tue, May 06, 2025 at 12:41:34PM +0100, James Clark wrote:
> FEAT_SPEv1p4 (optional from Armv8.8) adds some new filter bits, so
> remove them from the previous version's RES0 bits using
> PMSEVFR_EL1_RES0_V1P4_EXCL. It also makes some previously available bits
> unavailable again, so add those back using PMSEVFR_EL1_RES0_V1P4_INCL.
> E.g:
>
> E[30], bit [30]
> When FEAT_SPEv1p4 is _not_ implemented ...
Yes, that's the case. I reviewed the bits below one by one, and they
all look correct to me.
> FEAT_SPE_V1P3 has the same filters as V1P2 so explicitly add it to the
> switch.
>
> Signed-off-by: James Clark <james.clark@linaro.org>
Reviewed-by: Leo Yan <leo.yan@arm.com>
> ---
> arch/arm64/include/asm/sysreg.h | 7 +++++++
> drivers/perf/arm_spe_pmu.c | 5 ++++-
> 2 files changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h
> index 2639d3633073..e24042e914a4 100644
> --- a/arch/arm64/include/asm/sysreg.h
> +++ b/arch/arm64/include/asm/sysreg.h
> @@ -354,6 +354,13 @@
> (PMSEVFR_EL1_RES0_IMP & ~(BIT_ULL(18) | BIT_ULL(17) | BIT_ULL(11)))
> #define PMSEVFR_EL1_RES0_V1P2 \
> (PMSEVFR_EL1_RES0_V1P1 & ~BIT_ULL(6))
> +#define PMSEVFR_EL1_RES0_V1P4_EXCL \
> + (BIT_ULL(2) | BIT_ULL(4) | GENMASK_ULL(10, 8) | GENMASK_ULL(23, 19))
> +#define PMSEVFR_EL1_RES0_V1P4_INCL \
> + (GENMASK_ULL(31, 26))
> +#define PMSEVFR_EL1_RES0_V1P4 \
> + (PMSEVFR_EL1_RES0_V1P4_INCL | \
> + (PMSEVFR_EL1_RES0_V1P2 & ~PMSEVFR_EL1_RES0_V1P4_EXCL))
>
> /* Buffer error reporting */
> #define PMBSR_EL1_FAULT_FSC_SHIFT PMBSR_EL1_MSS_SHIFT
> diff --git a/drivers/perf/arm_spe_pmu.c b/drivers/perf/arm_spe_pmu.c
> index 3efed8839a4e..d9f6d229dce8 100644
> --- a/drivers/perf/arm_spe_pmu.c
> +++ b/drivers/perf/arm_spe_pmu.c
> @@ -701,9 +701,12 @@ static u64 arm_spe_pmsevfr_res0(u16 pmsver)
> case ID_AA64DFR0_EL1_PMSVer_V1P1:
> return PMSEVFR_EL1_RES0_V1P1;
> case ID_AA64DFR0_EL1_PMSVer_V1P2:
> + case ID_AA64DFR0_EL1_PMSVer_V1P3:
> + return PMSEVFR_EL1_RES0_V1P2;
> + case ID_AA64DFR0_EL1_PMSVer_V1P4:
> /* Return the highest version we support in default */
> default:
> - return PMSEVFR_EL1_RES0_V1P2;
> + return PMSEVFR_EL1_RES0_V1P4;
> }
> }
>
>
> --
> 2.34.1
>
next prev parent reply other threads:[~2025-05-20 10:07 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-06 11:41 [PATCH 00/10] perf: arm_spe: Armv8.8 SPE features James Clark
2025-05-06 11:41 ` [PATCH 01/10] arm64: sysreg: Add new PMSIDR_EL1 and PMSFCR_EL1 fields James Clark
2025-05-16 14:38 ` Marc Zyngier
2025-05-19 8:16 ` James Clark
2025-05-06 11:41 ` [PATCH 02/10] perf: arm_spe: Support FEAT_SPEv1p4 filters James Clark
2025-05-20 10:07 ` Leo Yan [this message]
2025-05-06 11:41 ` [PATCH 03/10] perf: arm_spe: Add support for FEAT_SPE_EFT extended filtering James Clark
2025-05-20 10:35 ` Leo Yan
2025-05-06 11:41 ` [PATCH 04/10] arm64/boot: Enable EL2 requirements for SPE_FEAT_FDS James Clark
2025-05-20 11:04 ` Leo Yan
2025-05-20 13:21 ` James Clark
2025-05-06 11:41 ` [PATCH 05/10] KVM: arm64: Add trap configs for PMSDSFR_EL1 James Clark
2025-05-06 11:41 ` [PATCH 06/10] perf: Add perf_event_attr::config4 James Clark
2025-05-20 11:44 ` Leo Yan
2025-05-06 11:41 ` [PATCH 07/10] perf: arm_spe: Add support for filtering on data source James Clark
2025-05-20 11:43 ` Leo Yan
2025-05-20 13:24 ` James Clark
2025-05-20 13:46 ` Leo Yan
2025-05-20 15:00 ` James Clark
2025-05-20 16:10 ` Leo Yan
2025-05-20 16:22 ` Leo Yan
2025-05-21 8:54 ` James Clark
2025-05-21 9:51 ` Leo Yan
2025-05-06 11:41 ` [PATCH 08/10] tools headers UAPI: Sync linux/perf_event.h with the kernel sources James Clark
2025-05-06 11:41 ` [PATCH 09/10] perf tools: Add support for perf_event_attr::config4 James Clark
2025-05-20 13:18 ` Leo Yan
2025-05-06 11:41 ` [PATCH 10/10] perf docs: arm-spe: Document new SPE filtering features James Clark
2025-05-20 14:27 ` Leo Yan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250520100701.GL412060@e132581.arm.com \
--to=leo.yan@arm.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=catalin.marinas@arm.com \
--cc=corbet@lwn.net \
--cc=irogers@google.com \
--cc=james.clark@linaro.org \
--cc=joey.gouly@arm.com \
--cc=jolsa@kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=oliver.upton@linux.dev \
--cc=peterz@infradead.org \
--cc=suzuki.poulose@arm.com \
--cc=will@kernel.org \
--cc=yuzenghui@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.