[PATCH 00/14] KVM: arm64: NV userspace ABI

Marc Zyngier maz at kernel.org
Thu Feb 20 05:07:43 PST 2025


On Wed, 19 Feb 2025 23:17:31 +0000,
Oliver Upton <oliver.upton at linux.dev> wrote:
> 
> On Sat, Feb 15, 2025 at 05:38:02PM +0000, Marc Zyngier wrote:
> > Since the previous incarnation of the ABI was proved to be subtly
> > wrong, I have reworked it to be more in line with the current way KVM
> > operates.
> > 
> > No more late NV-specific adjustment nor writable ID_AA64MMFR0_EL1.VH.
> > The NV configuration is now entirely selected from the vcpu flags.
> > I've preserved the KVM_ARM_VCPU_EL2 flag which enables NV with VHE,
> > and added KVM_ARM_VCPU_EL2_E2H0 which alters the NV behaviour to only
> > allow nVHE guests without recursive NV support.
> > 
> > This series is actually very little new code. The bulk of it is
> > converting the feature downgrade to be per-idreg, essentially going
> > back to the state before 44241f34fac96 ("KVM: arm64: nv: Use accessors
> > for modifying ID registers"), only slightly modernised. This then
> > becomes part of the reset value computing.
> > 
> > The rest is simply what you'd expect in terms of being able to write
> > the ID_AA64MMFR4_EL1.NV_frac field, making the correct bits RES0 when
> > needed, probing for capabilities and handling the init flags.
> > 
> > Patches on top of -rc2, with the integration branch at the usual
> > location.
> 
> This all looks reasonable to me. NV won't be ready for the limelight
> this time around so unless someone shouts I plan on taking the first 12
> patches of this series in 6.15.

Let me repost it first, as I fixed an embarrassing bug that led to
mishandling of ID_UNALLOCATED() registers (solved by consolidating the
ID_DESC() macro maze a bit further).

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.



More information about the linux-arm-kernel mailing list