linux-yocto/Documentation/arch
Anshuman Khandual 686d8f7b59 arm64/boot: Enable EL2 requirements for FEAT_PMUv3p9
commit 858c7bfcb3 upstream.

FEAT_PMUv3p9 registers such as PMICNTR_EL0, PMICFILTR_EL0, and PMUACR_EL1
access from EL1 requires appropriate EL2 fine grained trap configuration
via FEAT_FGT2 based trap control registers HDFGRTR2_EL2 and HDFGWTR2_EL2.
Otherwise such register accesses will result in traps into EL2.

Add a new helper __init_el2_fgt2() which initializes FEAT_FGT2 based fine
grained trap control registers HDFGRTR2_EL2 and HDFGWTR2_EL2 (setting the
bits nPMICNTR_EL0, nPMICFILTR_EL0 and nPMUACR_EL1) to enable access into
PMICNTR_EL0, PMICFILTR_EL0, and PMUACR_EL1 registers.

Also update booting.rst with SCR_EL3.FGTEn2 requirement for all FEAT_FGT2
based registers to be accessible in EL2.

Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-doc@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: kvmarm@lists.linux.dev
Fixes: 0bbff9ed81 ("perf/arm_pmuv3: Add PMUv3.9 per counter EL0 access control")
Fixes: d8226d8cfb ("perf: arm_pmuv3: Add support for Armv9.4 PMU instruction counter")
Tested-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20250227035119.2025171-1-anshuman.khandual@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:48:04 +02:00
..
arc docs: kernel_feat.py: fix potential command injection 2024-01-11 09:21:01 -07:00
arm move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
arm64 arm64/boot: Enable EL2 requirements for FEAT_PMUv3p9 2025-04-25 10:48:04 +02:00
loongarch Docs/LoongArch: Add advanced extended IRQ model description 2024-09-24 15:32:20 +08:00
m68k Docs: typos/spelling 2024-05-02 10:02:29 -06:00
mips docs: kernel_feat.py: fix potential command injection 2024-01-11 09:21:01 -07:00
nios2 docs: kernel_feat.py: fix potential command injection 2024-01-11 09:21:01 -07:00
openrisc docs: kernel_feat.py: fix potential command injection 2024-01-11 09:21:01 -07:00
parisc docs: kernel_feat.py: fix potential command injection 2024-01-11 09:21:01 -07:00
powerpc Documentation: Fix spelling mistakes 2024-09-05 14:35:45 -06:00
riscv Another relatively mundane cycle for docs: 2024-09-17 16:44:08 +02:00
s390 s390/vfio-ap: Driver feature advertisement 2024-09-23 17:57:04 +02:00
sh docs: kernel_feat.py: fix potential command injection 2024-01-11 09:21:01 -07:00
sparc Docs: typos/spelling 2024-05-02 10:02:29 -06:00
x86 x86/Documentation: Update algo in init_size description of boot protocol 2024-12-05 14:03:07 +01:00
xtensa docs: kernel_feat.py: fix potential command injection 2024-01-11 09:21:01 -07:00
index.rst The number of commits for documentation is not huge this time around, but 2023-11-01 17:11:41 -10:00