Message ID | 20250215173816.3767330-1-maz@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | KVM: arm64: NV userspace ABI | expand |
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. Thanks, Oliver
On Wed, 19 Feb 2025 23:17:31 +0000, Oliver Upton <oliver.upton@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.