From: Oliver Upton <oliver.upton@linux.dev>
To: kvmarm@lists.linux.dev
Cc: Marc Zyngier <maz@kernel.org>, Joey Gouly <joey.gouly@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Zenghui Yu <yuzenghui@huawei.com>,
Jinqian Yang <yangjinqian1@huawei.com>,
Oliver Upton <oliver.upton@linux.dev>
Subject: [PATCH 00/11] KVM: arm64: nv: Align feature limitations with current state of support
Date: Fri, 12 Sep 2025 14:22:47 -0700 [thread overview]
Message-ID: <20250912212258.407350-1-oliver.upton@linux.dev> (raw)
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
next reply other threads:[~2025-09-12 21:23 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-12 21:22 Oliver Upton [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250912212258.407350-1-oliver.upton@linux.dev \
--to=oliver.upton@linux.dev \
--cc=joey.gouly@arm.com \
--cc=kvmarm@lists.linux.dev \
--cc=maz@kernel.org \
--cc=suzuki.poulose@arm.com \
--cc=yangjinqian1@huawei.com \
--cc=yuzenghui@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.