On Fri, Dec 20, 2024 at 12:52:40PM +0530, Anshuman Khandual wrote: > 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: Catalin Marinas <catalin.marinas@xxxxxxx> > Cc: Will Deacon <will@xxxxxxxxxx> > Cc: Mark Rutland <mark.rutland@xxxxxxx> > Cc: Rob Herring <robh@xxxxxxxxxx> > Cc: Jonathan Corbet <corbet@xxxxxxx> > Cc: Marc Zyngier <maz@xxxxxxxxxx> > Cc: Oliver Upton <oliver.upton@xxxxxxxxx> > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > Cc: linux-doc@xxxxxxxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx > Cc: kvmarm@xxxxxxxxxxxxxxx > Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx> > --- > Documentation/arch/arm64/booting.rst | 18 ++++++++++++++++++ > arch/arm64/include/asm/el2_setup.h | 25 +++++++++++++++++++++++++ > 2 files changed, 43 insertions(+) Tested-by: Rob Herring (Arm) <robh@xxxxxxxxxx> Reviewed-by: Rob Herring (Arm) <robh@xxxxxxxxxx>