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 A32C5168B7 for ; Mon, 20 May 2024 08:05:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716192340; cv=none; b=UoTWDO392wvDEOlb9p9+6Otr+7Qms0A6+KdoxY8R+7ZVTkDPQeaznJWcQ5IDAfyA5uQS305LZIFEai0TlqBGEq1fDXdYJJ7rB7OkflSBHGRh1acxhcnD9o3wXvdcOJ/UV+BCtxP7E5mVyV4W+kmDCvYWhltpJvRoH8+Yw9EFuWk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716192340; c=relaxed/simple; bh=PF+AMv/2xBV4WMySoaRryg6Bp6r6gGNO2fyOTSeycMo=; h=Date:Message-ID:From:To:Cc:Subject:In-Reply-To:References: MIME-Version:Content-Type; b=oXkgZ5PLAg9JC0fXw5UM7cYQ4lxgqtVbdvGUfUD4Nzuqudjpvp7HyPghV1BSfM6rC+E/f/q57W2QEfF4PePch8pYWoZJBJLc5tlRycAGoKUePNOABULk9CG9JK8nWRBnT/Em/wRQvnkvHR487i/NZZmmclOReue3SfjhKsmTaMs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=phfRsKa9; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="phfRsKa9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 194ABC2BD10; Mon, 20 May 2024 08:05:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1716192340; bh=PF+AMv/2xBV4WMySoaRryg6Bp6r6gGNO2fyOTSeycMo=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=phfRsKa9/eIDZ5c69/LJM9FT+cuv600ic9jAdcY/+KNOETtYkXGeiLj9qs1I9gumv aDchuBrdBn409Yhm2tBQ2L0dy3OcYFv9jr1BgljQhMPhrMfnbMzDLvcvVk3hpvv9mO 4ePox3jNMGP2PD8afOPgvDPeauNe4IPgR1ZgW9YhPC3bIvot646Lkw7XAW+oJMNg6T n1NH5W6R0sOFYG4TT+OnjXmyoakZHlelu2E4R/pWE+3BnpxZ2+KoqZ/yTjhH4msdUB 6G0knBqfcbU/lvaXsPHBi+l9zsM17Ik1NTS7b+8BGtSuk6hu/FOkjWENlTHDfHt7uf m1kMrdykivVWw== Received: from [185.143.37.16] (helo=wait-a-minute.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 1s8y1Z-00EQAG-In; Mon, 20 May 2024 09:05:37 +0100 Date: Mon, 20 May 2024 09:05:34 +0100 Message-ID: <87r0dw3o35.wl-maz@kernel.org> From: Marc Zyngier To: Fuad Tabba Cc: Oliver Upton , kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org, will@kernel.org, qperret@google.com, seanjc@google.com, alexandru.elisei@arm.com, catalin.marinas@arm.com, philmd@linaro.org, james.morse@arm.com, suzuki.poulose@arm.com, mark.rutland@arm.com, broonie@kernel.org, joey.gouly@arm.com, rananta@google.com, yuzenghui@huawei.com Subject: Re: [PATCH v1 6/7] KVM: arm64: Eagerly restore host fpsimd/sve state in pKVM In-Reply-To: References: <20240517131814.719933-1-tabba@google.com> <20240517131814.719933-7-tabba@google.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/28.2 (x86_64-pc-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.143.37.16 X-SA-Exim-Rcpt-To: tabba@google.com, oliver.upton@linux.dev, kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org, will@kernel.org, qperret@google.com, seanjc@google.com, alexandru.elisei@arm.com, catalin.marinas@arm.com, philmd@linaro.org, james.morse@arm.com, suzuki.poulose@arm.com, mark.rutland@arm.com, broonie@kernel.org, joey.gouly@arm.com, rananta@google.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 Mon, 20 May 2024 08:37:22 +0100, Fuad Tabba wrote: >=20 > Hi Oliver, >=20 > On Fri, May 17, 2024 at 6:09=E2=80=AFPM Oliver Upton wrote: > > > > Hi Fuad, > > > > On Fri, May 17, 2024 at 02:18:13PM +0100, Fuad Tabba wrote: > > > static void kvm_hyp_save_fpsimd_host(struct kvm_vcpu *vcpu) > > > { > > > - __fpsimd_save_state(*host_data_ptr(fpsimd_state)); > > > + /* > > > + * Non-protected kvm relies on the host restoring its sve state. > > > + * Protected kvm restores the host's sve state as not to reveal= that > > > + * fpsimd was used by a guest nor leak upper sve bits. > > > + */ > > > + if (unlikely(is_protected_kvm_enabled() && system_supports_sve(= ))) { > > > + __hyp_sve_save_host(); > > > + > > > + /* Re-enable SVE traps for guests that do not support i= t. */ > > > + if (!vcpu_has_sve(vcpu)) > > > + sysreg_clear_set(cptr_el2, 0, CPTR_EL2_TZ); > > > > This doesn't account for hVHE. I wonder we'd be better off abstracting > > CPTR_EL2 behind a helper wherever it gets used in nVHE and translate > > into the VHE-format behind the scenes: >=20 > Right! Too many modes to keep track of :) >=20 > Abstracting cptr_el2 would make things clearer and less error-prone. > I'll do that on the respin. If we're going with the conversion game, then I'd suggest you use the VHE format as the reference, and convert it to nVHE on the flight. That's for a few reasons: - like it or not, nVHE is going the way of the dodo. I love my v8.0 hardware to bits, but it sucks, and nVHE is now optional anyway. - Keeping everything in the VHE format helps drawing a parallel with what is happening in the kernel (you grep for the same symbols). - One day, I hope to be able to rip any form of SVE/SME support out of nVHE and only keep it for hVHE, because there is no ARMv8.0 implementations with these extensions (apart from SW models). One day... Thanks, 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 9CE50C04FFE for ; Mon, 20 May 2024 08:05:57 +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=QJ43BdV3l0pZB33cRsM+tCWiLkxNY3RlH0SvKRIjtk0=; b=faMwTtp4mwHi8j Wmsldz1b/q3uXoxg7pEYq0E3K9urBBhZ6KTefKoqtXYn/bAnQsxXEyhb2Dp0VlF6A5PvVhsIV2436 djMs5wD4JMXUQb0KCL4Zzn8tDl8SnR27p0kBc3qBNQYKBzZ5gxtjCq0ro0w05DqYWTEKbRc8zSh2t s6u1qXPoq3W/2WGFzzB9mpGSxuIyATW8zO6IlhhquxZzq+fumNngPrRyQ0YWSqOq6g4XrW39/07hE ih0QYfrr9udkS444W4lU+axL+GygrjhUvj6JDH5HPRjs+b9HGCoTqp9QdWmzKoBiX0SEOFyv5nZbp PgoG1QRCAL8aEOt3OD9g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s8y1i-0000000DpvC-2EWU; Mon, 20 May 2024 08:05:46 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s8y1f-0000000DpuV-0Bm0 for linux-arm-kernel@lists.infradead.org; Mon, 20 May 2024 08:05:44 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 73BFA619D7; Mon, 20 May 2024 08:05:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 194ABC2BD10; Mon, 20 May 2024 08:05:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1716192340; bh=PF+AMv/2xBV4WMySoaRryg6Bp6r6gGNO2fyOTSeycMo=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=phfRsKa9/eIDZ5c69/LJM9FT+cuv600ic9jAdcY/+KNOETtYkXGeiLj9qs1I9gumv aDchuBrdBn409Yhm2tBQ2L0dy3OcYFv9jr1BgljQhMPhrMfnbMzDLvcvVk3hpvv9mO 4ePox3jNMGP2PD8afOPgvDPeauNe4IPgR1ZgW9YhPC3bIvot646Lkw7XAW+oJMNg6T n1NH5W6R0sOFYG4TT+OnjXmyoakZHlelu2E4R/pWE+3BnpxZ2+KoqZ/yTjhH4msdUB 6G0knBqfcbU/lvaXsPHBi+l9zsM17Ik1NTS7b+8BGtSuk6hu/FOkjWENlTHDfHt7uf m1kMrdykivVWw== Received: from [185.143.37.16] (helo=wait-a-minute.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 1s8y1Z-00EQAG-In; Mon, 20 May 2024 09:05:37 +0100 Date: Mon, 20 May 2024 09:05:34 +0100 Message-ID: <87r0dw3o35.wl-maz@kernel.org> From: Marc Zyngier To: Fuad Tabba Cc: Oliver Upton , kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org, will@kernel.org, qperret@google.com, seanjc@google.com, alexandru.elisei@arm.com, catalin.marinas@arm.com, philmd@linaro.org, james.morse@arm.com, suzuki.poulose@arm.com, mark.rutland@arm.com, broonie@kernel.org, joey.gouly@arm.com, rananta@google.com, yuzenghui@huawei.com Subject: Re: [PATCH v1 6/7] KVM: arm64: Eagerly restore host fpsimd/sve state in pKVM In-Reply-To: References: <20240517131814.719933-1-tabba@google.com> <20240517131814.719933-7-tabba@google.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/28.2 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") X-SA-Exim-Connect-IP: 185.143.37.16 X-SA-Exim-Rcpt-To: tabba@google.com, oliver.upton@linux.dev, kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org, will@kernel.org, qperret@google.com, seanjc@google.com, alexandru.elisei@arm.com, catalin.marinas@arm.com, philmd@linaro.org, james.morse@arm.com, suzuki.poulose@arm.com, mark.rutland@arm.com, broonie@kernel.org, joey.gouly@arm.com, rananta@google.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-20240520_010543_187212_75448574 X-CRM114-Status: GOOD ( 24.09 ) 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 T24gTW9uLCAyMCBNYXkgMjAyNCAwODozNzoyMiArMDEwMCwKRnVhZCBUYWJiYSA8dGFiYmFAZ29v Z2xlLmNvbT4gd3JvdGU6Cj4gCj4gSGkgT2xpdmVyLAo+IAo+IE9uIEZyaSwgTWF5IDE3LCAyMDI0 IGF0IDY6MDnigK9QTSBPbGl2ZXIgVXB0b24gPG9saXZlci51cHRvbkBsaW51eC5kZXY+IHdyb3Rl Ogo+ID4KPiA+IEhpIEZ1YWQsCj4gPgo+ID4gT24gRnJpLCBNYXkgMTcsIDIwMjQgYXQgMDI6MTg6 MTNQTSArMDEwMCwgRnVhZCBUYWJiYSB3cm90ZToKPiA+ID4gIHN0YXRpYyB2b2lkIGt2bV9oeXBf c2F2ZV9mcHNpbWRfaG9zdChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCj4gPiA+ICB7Cj4gPiA+IC0g ICAgIF9fZnBzaW1kX3NhdmVfc3RhdGUoKmhvc3RfZGF0YV9wdHIoZnBzaW1kX3N0YXRlKSk7Cj4g PiA+ICsgICAgIC8qCj4gPiA+ICsgICAgICAqIE5vbi1wcm90ZWN0ZWQga3ZtIHJlbGllcyBvbiB0 aGUgaG9zdCByZXN0b3JpbmcgaXRzIHN2ZSBzdGF0ZS4KPiA+ID4gKyAgICAgICogUHJvdGVjdGVk IGt2bSByZXN0b3JlcyB0aGUgaG9zdCdzIHN2ZSBzdGF0ZSBhcyBub3QgdG8gcmV2ZWFsIHRoYXQK PiA+ID4gKyAgICAgICogZnBzaW1kIHdhcyB1c2VkIGJ5IGEgZ3Vlc3Qgbm9yIGxlYWsgdXBwZXIg c3ZlIGJpdHMuCj4gPiA+ICsgICAgICAqLwo+ID4gPiArICAgICBpZiAodW5saWtlbHkoaXNfcHJv dGVjdGVkX2t2bV9lbmFibGVkKCkgJiYgc3lzdGVtX3N1cHBvcnRzX3N2ZSgpKSkgewo+ID4gPiAr ICAgICAgICAgICAgIF9faHlwX3N2ZV9zYXZlX2hvc3QoKTsKPiA+ID4gKwo+ID4gPiArICAgICAg ICAgICAgIC8qIFJlLWVuYWJsZSBTVkUgdHJhcHMgZm9yIGd1ZXN0cyB0aGF0IGRvIG5vdCBzdXBw b3J0IGl0LiAqLwo+ID4gPiArICAgICAgICAgICAgIGlmICghdmNwdV9oYXNfc3ZlKHZjcHUpKQo+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgc3lzcmVnX2NsZWFyX3NldChjcHRyX2VsMiwgMCwg Q1BUUl9FTDJfVFopOwo+ID4KPiA+IFRoaXMgZG9lc24ndCBhY2NvdW50IGZvciBoVkhFLiBJIHdv bmRlciB3ZSdkIGJlIGJldHRlciBvZmYgYWJzdHJhY3RpbmcKPiA+IENQVFJfRUwyIGJlaGluZCBh IGhlbHBlciB3aGVyZXZlciBpdCBnZXRzIHVzZWQgaW4gblZIRSBhbmQgdHJhbnNsYXRlCj4gPiBp bnRvIHRoZSBWSEUtZm9ybWF0IGJlaGluZCB0aGUgc2NlbmVzOgo+IAo+IFJpZ2h0ISBUb28gbWFu eSBtb2RlcyB0byBrZWVwIHRyYWNrIG9mIDopCj4gCj4gQWJzdHJhY3RpbmcgY3B0cl9lbDIgd291 bGQgbWFrZSB0aGluZ3MgY2xlYXJlciBhbmQgbGVzcyBlcnJvci1wcm9uZS4KPiBJJ2xsIGRvIHRo YXQgb24gdGhlIHJlc3Bpbi4KCklmIHdlJ3JlIGdvaW5nIHdpdGggdGhlIGNvbnZlcnNpb24gZ2Ft ZSwgdGhlbiBJJ2Qgc3VnZ2VzdCB5b3UgdXNlIHRoZQpWSEUgZm9ybWF0IGFzIHRoZSByZWZlcmVu Y2UsIGFuZCBjb252ZXJ0IGl0IHRvIG5WSEUgb24gdGhlIGZsaWdodC4KVGhhdCdzIGZvciBhIGZl dyByZWFzb25zOgoKLSBsaWtlIGl0IG9yIG5vdCwgblZIRSBpcyBnb2luZyB0aGUgd2F5IG9mIHRo ZSBkb2RvLiBJIGxvdmUgbXkgdjguMAogIGhhcmR3YXJlIHRvIGJpdHMsIGJ1dCBpdCBzdWNrcywg YW5kIG5WSEUgaXMgbm93IG9wdGlvbmFsIGFueXdheS4KCi0gS2VlcGluZyBldmVyeXRoaW5nIGlu IHRoZSBWSEUgZm9ybWF0IGhlbHBzIGRyYXdpbmcgYSBwYXJhbGxlbCB3aXRoCiAgd2hhdCBpcyBo YXBwZW5pbmcgaW4gdGhlIGtlcm5lbCAoeW91IGdyZXAgZm9yIHRoZSBzYW1lIHN5bWJvbHMpLgoK LSBPbmUgZGF5LCBJIGhvcGUgdG8gYmUgYWJsZSB0byByaXAgYW55IGZvcm0gb2YgU1ZFL1NNRSBz dXBwb3J0IG91dCBvZgogIG5WSEUgYW5kIG9ubHkga2VlcCBpdCBmb3IgaFZIRSwgYmVjYXVzZSB0 aGVyZSBpcyBubyBBUk12OC4wCiAgaW1wbGVtZW50YXRpb25zIHdpdGggdGhlc2UgZXh0ZW5zaW9u cyAoYXBhcnQgZnJvbSBTVyBtb2RlbHMpLiAgT25lCiAgZGF5Li4uCgpUaGFua3MsCgoJTS4KCi0t IApXaXRob3V0IGRldmlhdGlvbiBmcm9tIHRoZSBub3JtLCBwcm9ncmVzcyBpcyBub3QgcG9zc2li bGUuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51 eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1h cm0ta2VybmVsCg==