[PATCH v3 27/28] KVM: arm64: Expose FEAT_NV3 to guests
Yao Yuan
yaoyuan at linux.alibaba.com
Fri Jul 24 01:43:10 PDT 2026
On Wed, Jul 22, 2026 at 08:42:33AM +0800, Marc Zyngier wrote:
> Further enable FEAT_NV3 by making it visible to NV guests.
>
> Signed-off-by: Marc Zyngier <maz at kernel.org>
> ---
> arch/arm64/kvm/nested.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/kvm/nested.c b/arch/arm64/kvm/nested.c
> index f646894fec9a9..70d605e60cfb3 100644
> --- a/arch/arm64/kvm/nested.c
> +++ b/arch/arm64/kvm/nested.c
> @@ -1728,7 +1728,7 @@ u64 limit_nv_id_reg(struct kvm *kvm, u32 reg, u64 val)
> * You get EITHER
> *
> * - FEAT_VHE without FEAT_E2H0
> - * - FEAT_NV limited to FEAT_NV2(p1)
> + * - FEAT_NV limited to FEAT_NV2(p1)/NV3
> * - HCR_EL2.NV1 being RES0
> *
> * OR
> @@ -1741,7 +1741,9 @@ u64 limit_nv_id_reg(struct kvm *kvm, u32 reg, u64 val)
> val = 0;
> } else {
> val &= ID_AA64MMFR4_EL1_NV_frac;
> - if (cpus_have_final_cap(ARM64_HAS_NV2P1))
> + if (cpus_have_final_cap(ARM64_HAS_NV3))
> + val = ID_REG_LIMIT_FIELD_ENUM(val, ID_AA64MMFR4_EL1, NV_frac, NV3);
> + else if (cpus_have_final_cap(ARM64_HAS_NV2P1))
Reviewed-by: Yuan Yao <yaoyuan at linux.alibaba.com>
> val = ID_REG_LIMIT_FIELD_ENUM(val, ID_AA64MMFR4_EL1, NV_frac, NV2P1);
> else
> val = SYS_FIELD_PREP_ENUM(ID_AA64MMFR4_EL1, NV_frac, NV2_ONLY);
> --
> 2.47.3
More information about the linux-arm-kernel
mailing list