All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] KVM: arm64: nv: Align feature limitations with current state of support
@ 2025-09-12 21:22 Oliver Upton
  2025-09-12 21:22 ` [PATCH 01/11] KVM: arm64: nv: Convert masks to denylists in limit_nv_id_reg() Oliver Upton
                   ` (12 more replies)
  0 siblings, 13 replies; 15+ messages in thread
From: Oliver Upton @ 2025-09-12 21:22 UTC (permalink / raw)
  To: kvmarm
  Cc: Marc Zyngier, Joey Gouly, Suzuki K Poulose, Zenghui Yu,
	Jinqian Yang, Oliver Upton

There's a mix of features we currently hide for NV VMs that we actually
can already support, either because they have no impact on our NV
implementation or the feature was already implemented and someone forgot
to update the mask...

On top of that, I decided to invert our masking for several registers to
have denylist behavior. This is a better way to express things, IMO, as
the features we do not support are explicitly listed. In so doing, I
found a bug relating to FEAT_DoubleLock where we accidentally claim
support where we shouldn't as the 0 value implies the feature is
implemented.

I've made each relaxation into its own patch to capture the rationale in
the changelog but I'm also fine squashing these based on the affected
register. Features that limit our MMU implementation are deliberately
left masked, e.g. FEAT_ETS* and FEAT_nTLBPA place constraints on the
behavior of our nested MMU. Although the latter is highly unlikely to
matter.

Applies to 6.17-rc4. **NOTE** this depends on Jinqian's series to make
ID_AA64MMFR1_EL1.TWED writable [*], that should be applied before this
series.

[*]: https://lore.kernel.org/kvmarm/20250911114621.3724469-1-yangjinqian1@huawei.com/

Oliver Upton (11):
  KVM: arm64: nv: Convert masks to denylists in limit_nv_id_reg()
  KVM: arm64: nv: Don't erroneously claim FEAT_DoubleLock for NV VMs
  KVM: arm64: nv: Expose FEAT_DF2 to NV-enabled VMs
  KVM: arm64: nv: Expose FEAT_RASv1p1 via RAS_frac
  KVM: arm64: nv: Expose FEAT_ECBHB to NV-enabled VMs
  KVM: arm64: nv: Expose FEAT_AFP to NV-enabled VMs
  KVM: arm64: nv: Exclude guest's TWED configuration when TWE isn't set
  KVM: arm64: nv: Expose FEAT_TWED to NV-enabled VMs
  KVM: arm64: nv: Advertise FEAT_SpecSEI to NV-enabled VMs
  KVM: arm64: nv: Advertise FEAT_TIDCP1 to NV-enabled VMs
  KVM: arm64: nv: Expose up to FEAT_Debugv8p8 to NV-enabled VMs

 arch/arm64/kvm/hyp/vhe/switch.c |  7 +++++
 arch/arm64/kvm/nested.c         | 48 +++++++++++++++++++++------------
 arch/arm64/kvm/sys_regs.c       | 25 +++++++++++++++++
 3 files changed, 63 insertions(+), 17 deletions(-)


base-commit: b320789d6883cc00ac78ce83bccbfe7ed58afcf0
-- 
2.39.5


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-09-19 13:15 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-12 21:22 [PATCH 00/11] KVM: arm64: nv: Align feature limitations with current state of support Oliver Upton
2025-09-12 21:22 ` [PATCH 01/11] KVM: arm64: nv: Convert masks to denylists in limit_nv_id_reg() Oliver Upton
2025-09-12 21:22 ` [PATCH 02/11] KVM: arm64: nv: Don't erroneously claim FEAT_DoubleLock for NV VMs Oliver Upton
2025-09-12 21:22 ` [PATCH 03/11] KVM: arm64: nv: Expose FEAT_DF2 to NV-enabled VMs Oliver Upton
2025-09-12 21:22 ` [PATCH 04/11] KVM: arm64: nv: Expose FEAT_RASv1p1 via RAS_frac Oliver Upton
2025-09-12 21:22 ` [PATCH 05/11] KVM: arm64: nv: Expose FEAT_ECBHB to NV-enabled VMs Oliver Upton
2025-09-12 21:22 ` [PATCH 06/11] KVM: arm64: nv: Expose FEAT_AFP " Oliver Upton
2025-09-12 21:22 ` [PATCH 07/11] KVM: arm64: nv: Exclude guest's TWED configuration when TWE isn't set Oliver Upton
2025-09-12 21:22 ` [PATCH 08/11] KVM: arm64: nv: Expose FEAT_TWED to NV-enabled VMs Oliver Upton
2025-09-12 21:22 ` [PATCH 09/11] KVM: arm64: nv: Advertise FEAT_SpecSEI " Oliver Upton
2025-09-12 21:22 ` [PATCH 10/11] KVM: arm64: nv: Advertise FEAT_TIDCP1 " Oliver Upton
2025-09-12 21:22 ` [PATCH 11/11] KVM: arm64: nv: Expose up to FEAT_Debugv8p8 " Oliver Upton
2025-09-12 21:43 ` [PATCH 00/11] KVM: arm64: nv: Align feature limitations with current state of support Marc Zyngier
2025-09-12 21:48   ` Oliver Upton
2025-09-19 13:15 ` Marc Zyngier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.