On Thu, 29 May 2025 12:30:27 +0100, James Clark <james.clark@xxxxxxxxxx> wrote: > > SPE data source filtering (SPE_FEAT_FDS) adds a new register > PMSDSFR_EL1, add the trap configs for it. > > Signed-off-by: James Clark <james.clark@xxxxxxxxxx> > --- > arch/arm64/kvm/emulate-nested.c | 1 + > arch/arm64/kvm/sys_regs.c | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/arch/arm64/kvm/emulate-nested.c b/arch/arm64/kvm/emulate-nested.c > index 0fcfcc0478f9..05d3e6b93ae9 100644 > --- a/arch/arm64/kvm/emulate-nested.c > +++ b/arch/arm64/kvm/emulate-nested.c > @@ -1169,6 +1169,7 @@ static const struct encoding_to_trap_config encoding_to_cgt[] __initconst = { > SR_TRAP(SYS_PMSIRR_EL1, CGT_MDCR_TPMS), > SR_TRAP(SYS_PMSLATFR_EL1, CGT_MDCR_TPMS), > SR_TRAP(SYS_PMSNEVFR_EL1, CGT_MDCR_TPMS), > + SR_TRAP(SYS_PMSDSFR_EL1, CGT_MDCR_TPMS), > SR_TRAP(SYS_TRFCR_EL1, CGT_MDCR_TTRF), > SR_TRAP(SYS_TRBBASER_EL1, CGT_MDCR_E2TB), > SR_TRAP(SYS_TRBLIMITR_EL1, CGT_MDCR_E2TB), > diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c > index 5dde9285afc8..9f544ac7b5a6 100644 > --- a/arch/arm64/kvm/sys_regs.c > +++ b/arch/arm64/kvm/sys_regs.c > @@ -2956,6 +2956,7 @@ static const struct sys_reg_desc sys_reg_descs[] = { > { SYS_DESC(SYS_PMBLIMITR_EL1), undef_access }, > { SYS_DESC(SYS_PMBPTR_EL1), undef_access }, > { SYS_DESC(SYS_PMBSR_EL1), undef_access }, > + { SYS_DESC(SYS_PMSDSFR_EL1), undef_access }, PMSDSFR_EL1 has an offset in the VNCR page (0x858), and must be described as such. This is equally true for a bunch of other SPE-related registers, so you might as well fix those while you're at it. Thanks, M. -- Without deviation from the norm, progress is not possible.