From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 451DF1FCC for ; Wed, 25 Oct 2023 08:28:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="MtBDBCT3" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A1C98C433C7; Wed, 25 Oct 2023 08:28:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1698222487; bh=UY0O5Oq2DKoxmwft8A1Grn8A24oCZUcBh+4pH3tffpo=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=MtBDBCT3hbyiq7WRPmBD+sI4N60Z67hN34pqxPE3ImGa2v/vhkVWZPIcCC70tukkn CFzUUsv3hw1JyvKR3b/5nF7Ar82G7Xh9wUAuwWumOu4qsItBvRJga/5KsRotD0fIH2 cfloGpc5n5SK8zbO/NMApfoIkjBRPoSjaVK1fyQdB0L5R8xhLJ8XN1rHGY8GvfP0Tm TOukooN79oMiDmL2c0G3Wrs8qwA4yhgcTkMWA3BKO2j3brOd21l9cSQEfNXZs9ngfN mPb2tt4QpEQQBVJQCyd6Y18fYV6M1r6z40CpDt7R4fq3x7YtimQ5wixSowaHWePeGC +3KsQ8bTdDrSw== 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.95) (envelope-from ) id 1qvZFE-007TeE-Ug; Wed, 25 Oct 2023 09:28:05 +0100 Date: Wed, 25 Oct 2023 09:28:03 +0100 Message-ID: <86h6mf3y3w.wl-maz@kernel.org> From: Marc Zyngier To: Oliver Upton Cc: Miguel Luis , "kvmarm@lists.linux.dev" , "kvm@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Eric Auger , James Morse , Suzuki K Poulose , Zenghui Yu Subject: Re: [PATCH 5/5] KVM: arm64: Handle AArch32 SPSR_{irq,abt,und,fiq} as RAZ/WI In-Reply-To: References: <20231023095444.1587322-1-maz@kernel.org> <20231023095444.1587322-6-maz@kernel.org> <7DD05DC0-164E-440F-BEB1-E5040C512008@oracle.com> <86jzrc3pbm.wl-maz@kernel.org> 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/29.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) Precedence: bulk X-Mailing-List: kvmarm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: oliver.upton@linux.dev, miguel.luis@oracle.com, kvmarm@lists.linux.dev, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, eric.auger@redhat.com, james.morse@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.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, 25 Oct 2023 00:04:27 +0100, Oliver Upton wrote: >=20 > On Tue, Oct 24, 2023 at 10:41:57PM +0000, Oliver Upton wrote: > > On Tue, Oct 24, 2023 at 06:25:33PM +0100, Marc Zyngier wrote: > > > On Mon, 23 Oct 2023 19:55:10 +0100, Miguel Luis wrote: > > > > Also, could you please explain what is happening at PSTATE.EL =3D= =3D EL1 > > > > and if EL2Enabled() && HCR_EL2.NV =3D=3D =E2=80=981=E2=80=99 ? > > >=20 > > > We directly take the trap and not forward it. This isn't exactly the > > > letter of the architecture, but at the same time, treating these > > > registers as RAZ/WI is the only valid implementation. I don't > > > immediately see a problem with taking this shortcut. > >=20 > > Ugh, that's annoying. The other EL2 views of AArch32 state UNDEF if EL1 > > doesn't implement AArch32. It'd be nice to get a relaxation in the > > architecture to allow an UNDEF here. >=20 > Correction (I wasn't thinking): RES0 behavior should be invariant, much > like the UNDEF behavior of the other AA32-specific registers. I'm not sure what you're asking for exactly here, so let me explain my understanding of the architecture on this point, which is that the *32_EL2 registers are different in nature from the SPSR_* registers. IFAR32_EL2 and co are accessors for the equivalent AArch32 registers. If AArch32 isn't implemented, then these registers should UNDEF, because there is nothing to access at all. The status of SPSR_* is more subtle: the AArch32 exception model is banked (irq, fiq, abt, und), and for each bank we have a triplet (LR_*, SP_*, SPSR_*), plus the extra R[8-12]_fiq. On taking an exception from AArch32 EL1 to AArch64 EL2, all the (LR_*, SP_*, R*_fiq) are stored as part of the AArch64 GPRs (X16-X30, see I_PYKVS). And what about SPSR_*? Well, they live as extra registers that are populated on exception entry. But they are similar in nature to the GPRs that store the rest of the stuff. When AArch32 isn't implemented, the natural choice is to keep them around, only as RES0, because they are just GPRs. Of course, all of this is an architectural choice. If I had to change anything, I'd rather have everything to UNDEF. But there is some logic in the madness. And frankly, we will never see an AArch32-capable, NV-capable HW implementation ever, so this is all fairly academic. Cheers, M. --=20 Without deviation from the norm, progress is not possible. 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2CBE7C25B47 for ; Wed, 25 Oct 2023 08:28:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Subject:Cc:To:From:Message-ID:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=HjS12xo//Nu3diNq2XsItfSgJiroSW0rdyzhXcC1lsY=; b=C9s2ESGWCaR+Ex epExm81ALp0ZL5E+otwvKboeQIDk2ErXrAX2ixQKrIZPbiM08A14vxsf3/3DEsQottG/Rv/DBShSE e1MyD9qEo1Awar3a6rwIYNtNKTFSC0DfJOJufw9q9M80MSCKlLrHD3TWBkxAozav1+V4ZcECOjETS bwQ6G823BgiKBbUyIwLKcuI+DA3nDU7YVn6TRyGK67N/MKa66YkvmdzF/NeAvwuQHcf3us8qs418R vEaS/0LZaezhdCeRQnzZUftDkrCw9InuQG09KMbdnKASkBnY09wNwGregtSDI+jnvIWVn1X4NzyrI l7mTjnMM+zZ+cYBlhWCA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qvZFN-00BiD5-39; Wed, 25 Oct 2023 08:28:13 +0000 Received: from sin.source.kernel.org ([145.40.73.55]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qvZFL-00BiCV-00 for linux-arm-kernel@lists.infradead.org; Wed, 25 Oct 2023 08:28:12 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 77B18CE3402; Wed, 25 Oct 2023 08:28:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A1C98C433C7; Wed, 25 Oct 2023 08:28:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1698222487; bh=UY0O5Oq2DKoxmwft8A1Grn8A24oCZUcBh+4pH3tffpo=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=MtBDBCT3hbyiq7WRPmBD+sI4N60Z67hN34pqxPE3ImGa2v/vhkVWZPIcCC70tukkn CFzUUsv3hw1JyvKR3b/5nF7Ar82G7Xh9wUAuwWumOu4qsItBvRJga/5KsRotD0fIH2 cfloGpc5n5SK8zbO/NMApfoIkjBRPoSjaVK1fyQdB0L5R8xhLJ8XN1rHGY8GvfP0Tm TOukooN79oMiDmL2c0G3Wrs8qwA4yhgcTkMWA3BKO2j3brOd21l9cSQEfNXZs9ngfN mPb2tt4QpEQQBVJQCyd6Y18fYV6M1r6z40CpDt7R4fq3x7YtimQ5wixSowaHWePeGC +3KsQ8bTdDrSw== 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.95) (envelope-from ) id 1qvZFE-007TeE-Ug; Wed, 25 Oct 2023 09:28:05 +0100 Date: Wed, 25 Oct 2023 09:28:03 +0100 Message-ID: <86h6mf3y3w.wl-maz@kernel.org> From: Marc Zyngier To: Oliver Upton Cc: Miguel Luis , "kvmarm@lists.linux.dev" , "kvm@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Eric Auger , James Morse , Suzuki K Poulose , Zenghui Yu Subject: Re: [PATCH 5/5] KVM: arm64: Handle AArch32 SPSR_{irq,abt,und,fiq} as RAZ/WI In-Reply-To: References: <20231023095444.1587322-1-maz@kernel.org> <20231023095444.1587322-6-maz@kernel.org> <7DD05DC0-164E-440F-BEB1-E5040C512008@oracle.com> <86jzrc3pbm.wl-maz@kernel.org> 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/29.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: oliver.upton@linux.dev, miguel.luis@oracle.com, kvmarm@lists.linux.dev, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, eric.auger@redhat.com, james.morse@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231025_012811_382559_1DC8FF63 X-CRM114-Status: GOOD ( 27.19 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gV2VkLCAyNSBPY3QgMjAyMyAwMDowNDoyNyArMDEwMCwKT2xpdmVyIFVwdG9uIDxvbGl2ZXIu dXB0b25AbGludXguZGV2PiB3cm90ZToKPiAKPiBPbiBUdWUsIE9jdCAyNCwgMjAyMyBhdCAxMDo0 MTo1N1BNICswMDAwLCBPbGl2ZXIgVXB0b24gd3JvdGU6Cj4gPiBPbiBUdWUsIE9jdCAyNCwgMjAy MyBhdCAwNjoyNTozM1BNICswMTAwLCBNYXJjIFp5bmdpZXIgd3JvdGU6Cj4gPiA+IE9uIE1vbiwg MjMgT2N0IDIwMjMgMTk6NTU6MTAgKzAxMDAsIE1pZ3VlbCBMdWlzIDxtaWd1ZWwubHVpc0BvcmFj bGUuY29tPiB3cm90ZToKPiA+ID4gPiBBbHNvLCBjb3VsZCB5b3UgcGxlYXNlIGV4cGxhaW4gd2hh dCBpcyBoYXBwZW5pbmcgYXQgUFNUQVRFLkVMID09IEVMMQo+ID4gPiA+IGFuZCBpZiBFTDJFbmFi bGVkKCkgJiYgSENSX0VMMi5OViA9PSDigJgx4oCZICA/Cj4gPiA+IAo+ID4gPiBXZSBkaXJlY3Rs eSB0YWtlIHRoZSB0cmFwIGFuZCBub3QgZm9yd2FyZCBpdC4gVGhpcyBpc24ndCBleGFjdGx5IHRo ZQo+ID4gPiBsZXR0ZXIgb2YgdGhlIGFyY2hpdGVjdHVyZSwgYnV0IGF0IHRoZSBzYW1lIHRpbWUs IHRyZWF0aW5nIHRoZXNlCj4gPiA+IHJlZ2lzdGVycyBhcyBSQVovV0kgaXMgdGhlIG9ubHkgdmFs aWQgaW1wbGVtZW50YXRpb24uIEkgZG9uJ3QKPiA+ID4gaW1tZWRpYXRlbHkgc2VlIGEgcHJvYmxl bSB3aXRoIHRha2luZyB0aGlzIHNob3J0Y3V0Lgo+ID4gCj4gPiBVZ2gsIHRoYXQncyBhbm5veWlu Zy4gVGhlIG90aGVyIEVMMiB2aWV3cyBvZiBBQXJjaDMyIHN0YXRlIFVOREVGIGlmIEVMMQo+ID4g ZG9lc24ndCBpbXBsZW1lbnQgQUFyY2gzMi4gSXQnZCBiZSBuaWNlIHRvIGdldCBhIHJlbGF4YXRp b24gaW4gdGhlCj4gPiBhcmNoaXRlY3R1cmUgdG8gYWxsb3cgYW4gVU5ERUYgaGVyZS4KPiAKPiBD b3JyZWN0aW9uIChJIHdhc24ndCB0aGlua2luZyk6IFJFUzAgYmVoYXZpb3Igc2hvdWxkIGJlIGlu dmFyaWFudCwgbXVjaAo+IGxpa2UgdGhlIFVOREVGIGJlaGF2aW9yIG9mIHRoZSBvdGhlciBBQTMy LXNwZWNpZmljIHJlZ2lzdGVycy4KCkknbSBub3Qgc3VyZSB3aGF0IHlvdSdyZSBhc2tpbmcgZm9y IGV4YWN0bHkgaGVyZSwgc28gbGV0IG1lIGV4cGxhaW4gbXkKdW5kZXJzdGFuZGluZyBvZiB0aGUg YXJjaGl0ZWN0dXJlIG9uIHRoaXMgcG9pbnQsIHdoaWNoIGlzIHRoYXQgdGhlCiozMl9FTDIgcmVn aXN0ZXJzIGFyZSBkaWZmZXJlbnQgaW4gbmF0dXJlIGZyb20gdGhlIFNQU1JfKiByZWdpc3RlcnMu CgpJRkFSMzJfRUwyIGFuZCBjbyBhcmUgYWNjZXNzb3JzIGZvciB0aGUgZXF1aXZhbGVudCBBQXJj aDMyIHJlZ2lzdGVycy4KSWYgQUFyY2gzMiBpc24ndCBpbXBsZW1lbnRlZCwgdGhlbiB0aGVzZSBy ZWdpc3RlcnMgc2hvdWxkIFVOREVGLApiZWNhdXNlIHRoZXJlIGlzIG5vdGhpbmcgdG8gYWNjZXNz IGF0IGFsbC4KClRoZSBzdGF0dXMgb2YgU1BTUl8qIGlzIG1vcmUgc3VidGxlOiB0aGUgQUFyY2gz MiBleGNlcHRpb24gbW9kZWwgaXMKYmFua2VkIChpcnEsIGZpcSwgYWJ0LCB1bmQpLCBhbmQgZm9y IGVhY2ggYmFuayB3ZSBoYXZlIGEgdHJpcGxldAooTFJfKiwgU1BfKiwgU1BTUl8qKSwgcGx1cyB0 aGUgZXh0cmEgUls4LTEyXV9maXEuIE9uIHRha2luZyBhbgpleGNlcHRpb24gZnJvbSBBQXJjaDMy IEVMMSB0byBBQXJjaDY0IEVMMiwgYWxsIHRoZSAoTFJfKiwgU1BfKiwKUipfZmlxKSBhcmUgc3Rv cmVkIGFzIHBhcnQgb2YgdGhlIEFBcmNoNjQgR1BScyAoWDE2LVgzMCwgc2VlIElfUFlLVlMpLgoK QW5kIHdoYXQgYWJvdXQgU1BTUl8qPyBXZWxsLCB0aGV5IGxpdmUgYXMgZXh0cmEgcmVnaXN0ZXJz IHRoYXQgYXJlCnBvcHVsYXRlZCBvbiBleGNlcHRpb24gZW50cnkuIEJ1dCB0aGV5IGFyZSBzaW1p bGFyIGluIG5hdHVyZSB0byB0aGUKR1BScyB0aGF0IHN0b3JlIHRoZSByZXN0IG9mIHRoZSBzdHVm Zi4gV2hlbiBBQXJjaDMyIGlzbid0IGltcGxlbWVudGVkLAp0aGUgbmF0dXJhbCBjaG9pY2UgaXMg dG8ga2VlcCB0aGVtIGFyb3VuZCwgb25seSBhcyBSRVMwLCBiZWNhdXNlIHRoZXkKYXJlIGp1c3Qg R1BScy4KCk9mIGNvdXJzZSwgYWxsIG9mIHRoaXMgaXMgYW4gYXJjaGl0ZWN0dXJhbCBjaG9pY2Uu IElmIEkgaGFkIHRvIGNoYW5nZQphbnl0aGluZywgSSdkIHJhdGhlciBoYXZlIGV2ZXJ5dGhpbmcg dG8gVU5ERUYuIEJ1dCB0aGVyZSBpcyBzb21lIGxvZ2ljCmluIHRoZSBtYWRuZXNzLiBBbmQgZnJh bmtseSwgd2Ugd2lsbCBuZXZlciBzZWUgYW4gQUFyY2gzMi1jYXBhYmxlLApOVi1jYXBhYmxlIEhX IGltcGxlbWVudGF0aW9uIGV2ZXIsIHNvIHRoaXMgaXMgYWxsIGZhaXJseSBhY2FkZW1pYy4KCkNo ZWVycywKCglNLgoKLS0gCldpdGhvdXQgZGV2aWF0aW9uIGZyb20gdGhlIG5vcm0sIHByb2dyZXNz IGlzIG5vdCBwb3NzaWJsZS4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK