From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0936E46AA73; Fri, 11 Sep 2026 09:09:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789117742; cv=none; b=b1VTMsWNGkMpt1ZQ69oS2WyoeX/l/P7aBp1V6snJ0Gk4XW/3onR/3S0ry8D9ekNxix1wY1BzB+ciMMmqSWXxEVehvWolnQ/0rIfVeEnVOHcwWr2Xuu7GJ+3cFcEnvgaGIfj+ImaeQPFLRQblWkYYji4DqOeA2X0axF+gtX6PF9M= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789117742; c=relaxed/simple; bh=PiyS891VqAc9ihxRroUv3C0K5AEZMYjRAQHuWOEWCLo=; h=Date:Message-ID:From:To:Cc:Subject:In-Reply-To:References: MIME-Version:Content-Type; b=Ntjm0aTbkMyQj4VzqLTc0u5K+nILkspRbrPChBIadJyLfBlyYF7LZ+dL+k6BkoLKv0ReOpBqt+kMvu2tRyUNLNpMZZH5eiInAut/eow/K7ZN5re3xUJzM4qLBwgJIoeKvtS3ErmxYbbtjk787L4OZTcNchpBqjPqtDYVshde428= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JIJ+9wt3; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="JIJ+9wt3" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DE4411F000FF; Fri, 11 Sep 2026 09:09:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789117740; bh=6o+QncrTqmoqAMM3f1Bikm2mAzRwxYrhaW4iMNLfgSQ=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=JIJ+9wt3rF81Eca2UtXQV4IcTUqdXhVTY8CAcPrThQRhMYBrE6gkZv1bb8U51pVaL 4Xmks7Zs/q9xAsEP1K8jhx+dkRFEhndo+FikfrgAqqM2H/z/8bOem3RhEN97IMnkEi R1zx62K7s7lX9Sop6+WvP8mWAiuouAjk4QAE72HA6CcGhtAHE0BTaDTsKLtXiWMynA RXzE4KeUXHfxpMUOXxSN2c82wAeCo4E8dJLUiz9fKk9m+LpsP0Mgs6QaQcfCr6iCQg 6x8VjZeU1vDdsZlKJu+LaDp4DLDLJmfKH1azBsTGW4ZZZ4ke5RoEHqglZgxq068568 e8Hc1iO3/VOxw== Received: from sofa.misterjones.org ([185.219.108.64] helo=goblin-girl.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1x4xFi-00000007fc4-3XmF; Fri, 11 Sep 2026 09:08:58 +0000 Date: Fri, 11 Sep 2026 10:08:58 +0100 Message-ID: <86mrto6tp1.wl-maz@kernel.org> From: Marc Zyngier To: Wei-Lin Chang Cc: linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, linux-kernel@vger.kernel.org, Oliver Upton , Fuad Tabba , Joey Gouly , Steffen Eiden , Suzuki K Poulose , Zenghui Yu , Catalin Marinas , Will Deacon , Mark Rutland , Sascha Bischoff , Ben Horgan , Lorenzo Pieralisi , Thomas Huth , James Clark , Mark Brown , Anshuman Khandual Subject: Re: [PATCH v1 1/3] KVM: arm64: nv: Don't advertise FEAT_LPA2 for guest stage-1 In-Reply-To: <20260909222015.3046432-2-weilin.chang@arm.com> References: <20260909222015.3046432-1-weilin.chang@arm.com> <20260909222015.3046432-2-weilin.chang@arm.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/30.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: weilin.chang@arm.com, linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, linux-kernel@vger.kernel.org, oupton@kernel.org, fuad.tabba@linux.dev, joey.gouly@arm.com, seiden@linux.ibm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, catalin.marinas@arm.com, will@kernel.org, mark.rutland@arm.com, Sascha.Bischoff@arm.com, ben.horgan@arm.com, lpieralisi@kernel.org, thuth@redhat.com, james.clark@linaro.org, broonie@kernel.org, anshuman.khandual@arm.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false On Wed, 09 Sep 2026 23:20:13 +0100, Wei-Lin Chang 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 > --- > 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.