From: Marc Zyngier <maz@kernel.org>
To: Wei-Lin Chang <weilin.chang@arm.com>
Cc: linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
linux-kernel@vger.kernel.org, Oliver Upton <oupton@kernel.org>,
Fuad Tabba <fuad.tabba@linux.dev>,
Joey Gouly <joey.gouly@arm.com>,
Steffen Eiden <seiden@linux.ibm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Zenghui Yu <yuzenghui@huawei.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Sascha Bischoff <Sascha.Bischoff@arm.com>,
Ben Horgan <ben.horgan@arm.com>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Thomas Huth <thuth@redhat.com>,
James Clark <james.clark@linaro.org>,
Mark Brown <broonie@kernel.org>,
Anshuman Khandual <anshuman.khandual@arm.com>
Subject: Re: [PATCH v1 1/3] KVM: arm64: nv: Don't advertise FEAT_LPA2 for guest stage-1
Date: Fri, 11 Sep 2026 10:08:58 +0100 [thread overview]
Message-ID: <86mrto6tp1.wl-maz@kernel.org> (raw)
In-Reply-To: <20260909222015.3046432-2-weilin.chang@arm.com>
On Wed, 09 Sep 2026 23:20:13 +0100,
Wei-Lin Chang <weilin.chang@arm.com> wrote:
>
> There is no FEAT_LPA2 support for NV guests as of now, but we missed
> limiting it for the non-stage-2 granule size fields (TGRAN4, TGRAN16) in
> ID_AA64MMFR0_EL1. Add the sanitisation.
>
> Signed-off-by: Wei-Lin Chang <weilin.chang@arm.com>
> ---
> arch/arm64/kvm/nested.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/arch/arm64/kvm/nested.c b/arch/arm64/kvm/nested.c
> index 3c4fc566eafc..1fd98117df23 100644
> --- a/arch/arm64/kvm/nested.c
> +++ b/arch/arm64/kvm/nested.c
> @@ -1731,6 +1731,19 @@ u64 limit_nv_id_reg(struct kvm *kvm, u32 reg, u64 val)
> /* Hide CNTPOFF if present */
> val = ID_REG_LIMIT_FIELD_ENUM(val, ID_AA64MMFR0_EL1, ECV, IMP);
>
> + /* NV does not support FEAT_LPA2. */
> + if (SYS_FIELD_GET(ID_AA64MMFR0_EL1, TGRAN4, val) ==
> + ID_AA64MMFR0_EL1_TGRAN4_52_BIT) {
nit: keep both sides of == on a single line.
> + val &= ~ID_AA64MMFR0_EL1_TGRAN4;
> + val |= SYS_FIELD_PREP_ENUM(ID_AA64MMFR0_EL1, TGRAN4, IMP);
> + }
> +
> + if (SYS_FIELD_GET(ID_AA64MMFR0_EL1, TGRAN16, val) ==
> + ID_AA64MMFR0_EL1_TGRAN16_52_BIT) {
> + val &= ~ID_AA64MMFR0_EL1_TGRAN16;
> + val |= SYS_FIELD_PREP_ENUM(ID_AA64MMFR0_EL1, TGRAN16, IMP);
> + }
> +
> /* Disallow unsupported S2 page sizes */
> switch (PAGE_SIZE) {
> case SZ_64K:
In theory, we should also change the userspace interface to accept
(but ignore) FEAT_LPA2 being set from userspace.
But since there is no LPA2 HW in the wild, I'm not too worried about
that. You probably want to Cc stable on this patch though.
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
next prev parent reply other threads:[~2026-09-11 9:09 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-09 22:20 [PATCH v1 0/3] KVM: arm64: Properly advertise !FEAT_LPA2 for NV Wei-Lin Chang
2026-09-09 22:20 ` [PATCH v1 1/3] KVM: arm64: nv: Don't advertise FEAT_LPA2 for guest stage-1 Wei-Lin Chang
2026-09-11 9:08 ` Marc Zyngier [this message]
2026-09-09 22:20 ` [PATCH v1 2/3] arm64: sysreg: Add TCR_EL2 to sysreg infrastructure Wei-Lin Chang
2026-09-10 11:54 ` Mark Brown
2026-09-09 22:20 ` [PATCH v1 3/3] KVM: arm64: Convert TCR_EL2 to config-driven sanitisation Wei-Lin Chang
2026-09-11 9:04 ` 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=86mrto6tp1.wl-maz@kernel.org \
--to=maz@kernel.org \
--cc=Sascha.Bischoff@arm.com \
--cc=anshuman.khandual@arm.com \
--cc=ben.horgan@arm.com \
--cc=broonie@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=fuad.tabba@linux.dev \
--cc=james.clark@linaro.org \
--cc=joey.gouly@arm.com \
--cc=kvmarm@lists.linux.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mark.rutland@arm.com \
--cc=oupton@kernel.org \
--cc=seiden@linux.ibm.com \
--cc=suzuki.poulose@arm.com \
--cc=thuth@redhat.com \
--cc=weilin.chang@arm.com \
--cc=will@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®