[PATCH 0/7] arm64/boot: Enable EL2 requirements for FEAT_PMUv3p9

Catalin Marinas catalin.marinas at arm.com
Tue Jan 7 04:13:40 PST 2025


On Thu, Jan 02, 2025 at 10:04:02AM -0600, Rob Herring wrote:
> On Fri, Dec 20, 2024 at 12:52:33PM +0530, Anshuman Khandual wrote:
> > This series adds fine grained trap control in EL2 required for FEAT_PMUv3p9
> > registers like PMICNTR_EL0, PMICFILTR_EL0, and PMUACR_EL1 which are already
> > being used in the kernel. This is required to prevent their EL1 access trap
> > into EL2.
> > 
> > PMZR_EL0 register trap control i.e HDFGWTR2_EL2.nPMZR_EL0 remains unchanged
> > for now as it does not get accessed in the kernel, and there is no plan for
> > its access from user space.
> > 
> > I have taken the liberty to pick up all the review tags for patches related
> > to tools sysreg update from the KVM FGT2 V2 patch series posted earlier.
> > 
> > https://lore.kernel.org/all/20241210055311.780688-1-anshuman.khandual@arm.com/
> > 
> > Rob had earler mentioned about FEAT_FGT2 based trap control requirement for
> > FEAT_PMUv3p9 registers that are currently being used in kernel. The context
> > can be found here.
> > 
> > https://lore.kernel.org/all/20241216234251.GA629562-robh@kernel.org/
> > 
> > This series is based on v6.13-rc3
> > 
> > Cc: Catalin Marinas <catalin.marinas at arm.com>
> > Cc: Will Deacon <will at kernel.org>
> > Cc: Marc Zyngier <maz at kernel.org>
> > Cc: Ryan Roberts <ryan.roberts at arm.com>
> > Cc: Mark Rutland <mark.rutland at arm.com>
> > Cc: Mark Brown <robh at kernel.org>
> > Cc: Rob Herring <robh at kernel.org>
> > Cc: Oliver Upton <oliver.upton at linux.dev>
> > Cc: Jonathan Corbet <corbet at lwn.net>
> > Cc: Eric Auger <eric.auger at redhat.com>
> > Cc: kvmarm at lists.linux.dev
> > Cc: linux-doc at vger.kernel.org
> > Cc: linux-kernel at vger.kernel.org
> > Cc: linux-arm-kernel at lists.infradead.org
> > 
> > Anshuman Khandual (7):
> >   arm64/sysreg: Update register fields for ID_AA64MMFR0_EL1
> >   arm64/sysreg: Add register fields for HDFGRTR2_EL2
> >   arm64/sysreg: Add register fields for HDFGWTR2_EL2
> >   arm64/sysreg: Add register fields for HFGITR2_EL2
> >   arm64/sysreg: Add register fields for HFGRTR2_EL2
> >   arm64/sysreg: Add register fields for HFGWTR2_EL2
> >   arm64/boot: Enable EL2 requirements for FEAT_PMUv3p9
> 
> In case it is not clear, this series should be applied to 6.13 as the 2 
> PMUv3p9 features already landed in 6.13 (per counter EL0 control) and 
> 6.12 (ICNTR). 

So is this a fix that needs backporting to 6.12 or 6.13, e.g. fix for
d8226d8cfbaf ("perf: arm_pmuv3: Add support for Armv9.4 PMU instruction
counter")? It's pretty late in the cycle to take the series for 6.13.

But does KVM actually expose the feature to EL1 in ID_AA64DFR1_EL1 and
than traps it at EL2?

-- 
Catalin



More information about the linux-arm-kernel mailing list