From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id C7AC0C3DA64 for ; Tue, 6 Aug 2024 10:04:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5D4416B0082; Tue, 6 Aug 2024 06:04:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 583F86B0089; Tue, 6 Aug 2024 06:04:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 44BD96B008C; Tue, 6 Aug 2024 06:04:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 23A736B0082 for ; Tue, 6 Aug 2024 06:04:23 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id C35194096F for ; Tue, 6 Aug 2024 10:04:22 +0000 (UTC) X-FDA: 82421385564.03.782E665 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf13.hostedemail.com (Postfix) with ESMTP id 985F420030 for ; Tue, 6 Aug 2024 10:04:19 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf13.hostedemail.com: domain of joey.gouly@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=joey.gouly@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722938598; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=2oU8oPORpEnCnGXHKGoJj2dHl2ID97uEWM6c5eg9Osw=; b=oL0WxnByR21ZU3GVtQQkjSFSWTHbDGovxcGAO/E5jhdW3pxfb7Gsr/Cke6eIlULFXMYrzG o4sa6jjO6CK3q7eBW39VSqjxr7QhruL9JwKmHQuuRPmCRo4bVO+S52ZG72FsWvHc2pKOnU gzln7Ggssxum8yQWz4R62AWqsELba3c= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722938598; a=rsa-sha256; cv=none; b=q98ygQkSzkgvedq3d8btTOZiHkqCY79Fj/cCqQeiaxmMxgCySae9g+RzQ86u+amGLrzBsO m4I2+XgbLViRyaTla+ggxyXUmZNYs5jaiOe2zmNEjh37W70hesuY+i5aapAHiZWnYdMZ9K hVuZgbTLiEIZLIN9II76HDyDYEdi8Ys= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf13.hostedemail.com: domain of joey.gouly@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=joey.gouly@arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 82D53DA7; Tue, 6 Aug 2024 03:04:44 -0700 (PDT) Received: from e124191.cambridge.arm.com (e124191.cambridge.arm.com [10.1.197.45]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C837F3F6A8; Tue, 6 Aug 2024 03:04:15 -0700 (PDT) Date: Tue, 6 Aug 2024 11:04:13 +0100 From: Joey Gouly To: Dave Martin Cc: linux-arm-kernel@lists.infradead.org, akpm@linux-foundation.org, aneesh.kumar@kernel.org, aneesh.kumar@linux.ibm.com, bp@alien8.de, broonie@kernel.org, catalin.marinas@arm.com, christophe.leroy@csgroup.eu, dave.hansen@linux.intel.com, hpa@zytor.com, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, maz@kernel.org, mingo@redhat.com, mpe@ellerman.id.au, naveen.n.rao@linux.ibm.com, npiggin@gmail.com, oliver.upton@linux.dev, shuah@kernel.org, szabolcs.nagy@arm.com, tglx@linutronix.de, will@kernel.org, x86@kernel.org, kvmarm@lists.linux.dev Subject: Re: [PATCH v4 04/29] arm64: disable trapping of POR_EL0 to EL2 Message-ID: <20240806100413.GE841837@e124191.cambridge.arm.com> References: <20240503130147.1154804-1-joey.gouly@arm.com> <20240503130147.1154804-5-joey.gouly@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 985F420030 X-Stat-Signature: 3enekqnhqkuw5acorpdx8z3bknc77tf6 X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1722938659-247059 X-HE-Meta: U2FsdGVkX19ks8VYQr8VeHM2IwsTM6ZaaJv7lC5LDzYF3SL+03PjRyRNK0lX0RZiCAakDBkA3pXWREK4thGPwRElspPDtKjgSIXmXSV4YRxW9Jq6bwUUTaM0+6BTk7L3BfeBgmAteuPPqATRxp2pVYORw1JRHcZpGwV2rsnTGjJMJaQu+vcCTI+Nq/0kzTDitzPGeDQJyoJkqnJ69uAV9BkbkBmGuBf9r5qY78PXAujiFi/lO/932aa5nCxmO2mvbARzSu0ZYeNh4+utujqkIrfwiArIub7dpFBaAV9VEAbcne08fOJ372nQIW6VO5BztTXnghGo1uJovlvo4CA4/Phv03x/i3C5OvI2eI97N9x0rA02LeZvWlnSorfJuzug3o0B9+GwWq0wzm0VbnBFKg6LTIMFp3bhsMpsZ0sGPr5dhbZMCcGs3tgkm7eqsVOaehNBDU03hBoR2BoBuQJ2LErCtXYvTKmKTfqFUItigkgWXKVJgBqfcwnJBYOvKjsWuEAK/3oyFI1VcSG+azj2+ZSj50Grs0LvoRMlKIO6pdDSPdLr7x1+4ekvG2fdnI8+4F7B41qh5USN3dSQeypCMeEDp9ufQsex26Cj82wQJl54GSO17tSNvTy7rjlPezE1swnYCVt74Jxh9JF8ZP6HjhQTKR7dGuJG58fGlrYrG6OOQf3I9JjMFsIcVCnKmOlbj56RcWEvo9ieQBReHpN4+2jXOE1+yQiiXtxeA1J5T/NOJkHQ+h/IV3lQA9w7Sf3VypziA/lyl6iKVoij5TcCs5Tl6ulY1OLNeaWQd4ZUMr6Y1AlRHzwEXuSnKB6s7aBdwji4lI3HvQmRPb8yDIjYz4DFynHgwT/LEvP5iLuUegV5LJNyoqwFrDVfA+5jvSlEPGb+aGnLrotyrDVi2ujIMwf9lImVpUz1aTkV1SObHClb2VsXdtq549YzrFN6I1l1o33vO2/Dd+B7JEAbSPC JEE2TstW 6EZnKAKM8uoIz6cOcNGZxEuvBWTKxK2eRuRLxxMUffzNY7O8Ic4Ruyjj8T90j4oMZppIOSvfauB+tfh79BXNPUbuqOa9NPQ9Jiub2AFSQOM+SnckZy7CEYcnXdjQ+5pNHjhu3Hogq99hncjzyx1IfNIRxMK0IkOoLzFWi6jgdQJjXugax8Ngk+3TcJdi7mydT0sCt+Sp4hHDpQhnPhifY0spZ/X27FV4doNVOsdLSfmfE/3UkI1QpPyiqcAPQrzdMrllqUdgXSeCg1HzNmHa02QGxQ/ZU5APjkKjTb3MnwTZYfKdJIlcl2GdnNw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu, Jul 25, 2024 at 04:44:13PM +0100, Dave Martin wrote: > Hi, > > On Fri, May 03, 2024 at 02:01:22PM +0100, Joey Gouly wrote: > > Allow EL0 or EL1 to access POR_EL0 without being trapped to EL2. > > > > Signed-off-by: Joey Gouly > > Cc: Catalin Marinas > > Cc: Will Deacon > > Acked-by: Catalin Marinas > > --- > > arch/arm64/include/asm/el2_setup.h | 10 +++++++++- > > 1 file changed, 9 insertions(+), 1 deletion(-) > > > > diff --git a/arch/arm64/include/asm/el2_setup.h b/arch/arm64/include/asm/el2_setup.h > > index b7afaa026842..df5614be4b70 100644 > > --- a/arch/arm64/include/asm/el2_setup.h > > +++ b/arch/arm64/include/asm/el2_setup.h > > @@ -184,12 +184,20 @@ > > .Lset_pie_fgt_\@: > > mrs_s x1, SYS_ID_AA64MMFR3_EL1 > > ubfx x1, x1, #ID_AA64MMFR3_EL1_S1PIE_SHIFT, #4 > > - cbz x1, .Lset_fgt_\@ > > + cbz x1, .Lset_poe_fgt_\@ > > > > /* Disable trapping of PIR_EL1 / PIRE0_EL1 */ > > orr x0, x0, #HFGxTR_EL2_nPIR_EL1 > > orr x0, x0, #HFGxTR_EL2_nPIRE0_EL1 > > > > +.Lset_poe_fgt_\@: > > + mrs_s x1, SYS_ID_AA64MMFR3_EL1 > > + ubfx x1, x1, #ID_AA64MMFR3_EL1_S1POE_SHIFT, #4 > > + cbz x1, .Lset_fgt_\@ > > + > > + /* Disable trapping of POR_EL0 */ > > + orr x0, x0, #HFGxTR_EL2_nPOR_EL0 > > Do I understand correctly that this is just to allow the host to access > its own POR_EL0, before (or unless) KVM starts up? Yup. > > KVM always overrides all the EL2 trap controls while running a guest, > right? We don't want this bit still set when running in a guest just > because KVM doesn't know about POE yet. KVM currently unconditionally traps POE regs currently, this series makes that conditional. > > (Hopefully this follows naturally from the way the KVM code works, but > my KVM-fu is a bit rusty.) > > Also, what about POR_EL1? Do we have to reset that to something sane > (and so untrap it here), or it is sufficient if we never turn on POE > support in the host, via TCR2_EL1.POE? Since the host isn't using it, we don't need to reset it. It will be reset to an unknown value for guests. In patch 7: + { SYS_DESC(SYS_POR_EL1), NULL, reset_unknown, POR_EL1 }, > > [...] > > Cheers > ---Dave Thanks, Joey