[PATCH v2 06/11] KVM: arm64: Add trap configs for PMSDSFR_EL1
Marc Zyngier
maz at kernel.org
Thu May 29 09:56:11 PDT 2025
On Thu, 29 May 2025 12:30:27 +0100,
James Clark <james.clark at linaro.org> 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 at linaro.org>
> ---
> 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.
More information about the linux-arm-kernel
mailing list