[PATCH v2 2/5] KVM: arm64: Add ACCDATA_EL1 to the sysreg array
Yao Yuan
yaoyuan at linux.alibaba.com
Sun Nov 1 17:45:36 PST 2026
On Sun, Oct 25, 2026 at 07:51:35AM +0800, Fuad Tabba wrote:
> From: Marc Zyngier <maz at kernel.org>
>
> Make ACCDATA_EL1 a first-class citizen, and add it to the sysreg
> array. Visibility is conditioned on the feature being enabled.
>
Hi Tabba,
LGTM.
Reviewed-by: Yuan Yao <yaoyuan at linux.alibaba.com>
> Signed-off-by: Marc Zyngier <maz at kernel.org>
> Link: https://lore.kernel.org/r/20240815125959.2097734-4-maz@kernel.org
> [Fuad: rebased]
> Cc: stable at vger.kernel.org
> Signed-off-by: Fuad Tabba <fuad.tabba at linux.dev>
> ---
> arch/arm64/include/asm/kvm_host.h | 3 +++
> arch/arm64/kvm/sys_regs.c | 12 +++++++++++-
> 2 files changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
> index 27fe0cd5b2d7a..5b1cd1f502b7d 100644
> --- a/arch/arm64/include/asm/kvm_host.h
> +++ b/arch/arm64/include/asm/kvm_host.h
> @@ -498,6 +498,9 @@ enum vcpu_sysreg {
> GCR_EL1, /* Tag Control Register */
> TFSRE0_EL1, /* Tag Fault Status Register (EL0) */
>
> + /* Random stuff */
> + ACCDATA_EL1, /* Accelerator Data */
> +
> POR_EL0, /* Permission Overlay Register 0 (EL0) */
>
> /* FP/SIMD/SVE */
> diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c
> index 44aae52c473d7..40f8be41da3a4 100644
> --- a/arch/arm64/kvm/sys_regs.c
> +++ b/arch/arm64/kvm/sys_regs.c
> @@ -2914,6 +2914,15 @@ static unsigned int sve_el2_visibility(const struct kvm_vcpu *vcpu,
> return __el2_visibility(vcpu, rd, sve_visibility);
> }
>
> +static unsigned int accdata_visibility(const struct kvm_vcpu *vcpu,
> + const struct sys_reg_desc *rd)
> +{
> + if (kvm_has_feat(vcpu->kvm, ID_AA64ISAR1_EL1, LS64, LS64_ACCDATA))
> + return 0;
> +
> + return REG_HIDDEN;
> +}
> +
> static unsigned int vncr_el2_visibility(const struct kvm_vcpu *vcpu,
> const struct sys_reg_desc *rd)
> {
> @@ -3601,7 +3610,8 @@ static const struct sys_reg_desc sys_reg_descs[] = {
> { SYS_DESC(SYS_CONTEXTIDR_EL1), access_vm_reg, reset_val, CONTEXTIDR_EL1, 0 },
> { SYS_DESC(SYS_TPIDR_EL1), NULL, reset_unknown, TPIDR_EL1 },
>
> - { SYS_DESC(SYS_ACCDATA_EL1), undef_access },
> + { SYS_DESC(SYS_ACCDATA_EL1), undef_access, reset_val, ACCDATA_EL1, 0,
> + .visibility = accdata_visibility},
>
> { SYS_DESC(SYS_SCXTNUM_EL1), undef_access },
>
> --
> 2.47.3
>
More information about the linux-arm-kernel
mailing list