From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out-173.mta1.migadu.com (out-173.mta1.migadu.com [95.215.58.173]) (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 D4B0DDDDA for ; Mon, 20 May 2024 17:08:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.173 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716224909; cv=none; b=GmW1MZMLUcrP8PAQxMLyb0jkRkTd+/i8N7zritQj9nsulDJKxpV3427f4Hn7x2BHnPBvDLIW/S2aEhs0E+cyBSceUpo59SV9qTXzX/s44M/Hg6Y5c0g34hSu8zXPeJxLcuGs4gxygKN72bOnm0MnY+fZHUiMMQtVG7Vbr3ZhVuY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716224909; c=relaxed/simple; bh=d93WTo0LpqbgFt1JZXtS5WhRHlkUDxRhTRVjR/JhEYM=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=qdpp5o+D4tnDaNXAujOKLKES6CyilBO2+LpNPpOfbbmJcxf7jP9t3fEwAG+kTl4CS/76P+ettyaj3fpU9xlu7DliwBGDIuWMyrulagio/L6uZ3xpMcY10a489CMbLSxcaZtf6sUWCgDMhonEfalVU+W2HS18uYgqHZIoO36wW+c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=KRaXmd5g; arc=none smtp.client-ip=95.215.58.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="KRaXmd5g" X-Envelope-To: maz@kernel.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1716224906; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5ZxPc1HKEzT5D8SyGOQxoDo+gvVi7ggagC7NtfT2yuw=; b=KRaXmd5giN5F1fquf8EDIkEJBDECWsqnyEHOIMKOLIqPtEuyTS0uyAG5ZYhRGvxkg1VQEG vInwFKnuZEXzqO9qH3FQSskBxMp8PhOslGwTjq3hwwPDEIK/WSOwkIQNOU7kMGz+IBY7L6 6tRxyn5f1yONKBeLDEGHgOpRGZPJUgg= X-Envelope-To: tabba@google.com X-Envelope-To: kvmarm@lists.linux.dev X-Envelope-To: linux-arm-kernel@lists.infradead.org X-Envelope-To: will@kernel.org X-Envelope-To: qperret@google.com X-Envelope-To: seanjc@google.com X-Envelope-To: alexandru.elisei@arm.com X-Envelope-To: catalin.marinas@arm.com X-Envelope-To: philmd@linaro.org X-Envelope-To: james.morse@arm.com X-Envelope-To: suzuki.poulose@arm.com X-Envelope-To: mark.rutland@arm.com X-Envelope-To: broonie@kernel.org X-Envelope-To: joey.gouly@arm.com X-Envelope-To: rananta@google.com X-Envelope-To: yuzenghui@huawei.com Date: Mon, 20 May 2024 17:08:19 +0000 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Oliver Upton To: Marc Zyngier Cc: Fuad Tabba , 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 Message-ID: References: <20240517131814.719933-1-tabba@google.com> <20240517131814.719933-7-tabba@google.com> <87r0dw3o35.wl-maz@kernel.org> Precedence: bulk X-Mailing-List: kvmarm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <87r0dw3o35.wl-maz@kernel.org> X-Migadu-Flow: FLOW_OUT On Mon, May 20, 2024 at 09:05:34AM +0100, Marc Zyngier wrote: > On Mon, 20 May 2024 08:37:22 +0100, > Fuad Tabba wrote: > > > > Hi Oliver, > > > > On Fri, May 17, 2024 at 6:09 PM 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 it. */ > > > > + 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: > > > > Right! Too many modes to keep track of :) > > > > 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: Agreed, I was thinking of hVHE as this 'thing on the side', but really it is the direction of the architecture :) So yeah, prefer your suggestion. -- Thanks, Oliver 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 EB853C04FFE for ; Mon, 20 May 2024 17:08:58 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=vdh7+a79qysg9Tm0auOJlxp8mSbkgubflBvuVU59jMk=; b=wUFarazVWmLY0V fYJTywUD1Uf0duGGHGP+YDr3dM4s1MyIqJQ1dhBfRLYXFuP6HZsxJAJ04loy5B22ToTMXSFaCqqnU MYNVNmISZXnSd5mJ9JEUwCkIfcbl2j/duYzwRtT/Z2T/v8ONWtngLs6OL2tJ0MeSlZ1xuCqhRGc0j xjvj9681EBnfNIk0eqrWJWLPiE/it6OwmGePoZUYzpxoVABXYW2gIPUaJAUI7OgIY/FtnKgbVkmcE 4rfVj+ewrifsLIXlgWHd+IcJa79lPE2t+X+wftD9LE4ZUvVDJDlUo1XxcmFsVwjHasWELTdcLGN4r aRHptB9X1eC6FYftrlfA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s96VD-0000000F5JF-3Xz4; Mon, 20 May 2024 17:08:47 +0000 Received: from out-170.mta1.migadu.com ([95.215.58.170]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s96VA-0000000F5Gz-2gj6 for linux-arm-kernel@lists.infradead.org; Mon, 20 May 2024 17:08:46 +0000 X-Envelope-To: maz@kernel.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1716224906; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5ZxPc1HKEzT5D8SyGOQxoDo+gvVi7ggagC7NtfT2yuw=; b=KRaXmd5giN5F1fquf8EDIkEJBDECWsqnyEHOIMKOLIqPtEuyTS0uyAG5ZYhRGvxkg1VQEG vInwFKnuZEXzqO9qH3FQSskBxMp8PhOslGwTjq3hwwPDEIK/WSOwkIQNOU7kMGz+IBY7L6 6tRxyn5f1yONKBeLDEGHgOpRGZPJUgg= X-Envelope-To: tabba@google.com X-Envelope-To: kvmarm@lists.linux.dev X-Envelope-To: linux-arm-kernel@lists.infradead.org X-Envelope-To: will@kernel.org X-Envelope-To: qperret@google.com X-Envelope-To: seanjc@google.com X-Envelope-To: alexandru.elisei@arm.com X-Envelope-To: catalin.marinas@arm.com X-Envelope-To: philmd@linaro.org X-Envelope-To: james.morse@arm.com X-Envelope-To: suzuki.poulose@arm.com X-Envelope-To: mark.rutland@arm.com X-Envelope-To: broonie@kernel.org X-Envelope-To: joey.gouly@arm.com X-Envelope-To: rananta@google.com X-Envelope-To: yuzenghui@huawei.com Date: Mon, 20 May 2024 17:08:19 +0000 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Oliver Upton To: Marc Zyngier Cc: Fuad Tabba , 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 Message-ID: References: <20240517131814.719933-1-tabba@google.com> <20240517131814.719933-7-tabba@google.com> <87r0dw3o35.wl-maz@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <87r0dw3o35.wl-maz@kernel.org> X-Migadu-Flow: FLOW_OUT X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240520_100844_854287_1B48FD8D X-CRM114-Status: GOOD ( 21.20 ) 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 T24gTW9uLCBNYXkgMjAsIDIwMjQgYXQgMDk6MDU6MzRBTSArMDEwMCwgTWFyYyBaeW5naWVyIHdy b3RlOgo+IE9uIE1vbiwgMjAgTWF5IDIwMjQgMDg6Mzc6MjIgKzAxMDAsCj4gRnVhZCBUYWJiYSA8 dGFiYmFAZ29vZ2xlLmNvbT4gd3JvdGU6Cj4gPiAKPiA+IEhpIE9saXZlciwKPiA+IAo+ID4gT24g RnJpLCBNYXkgMTcsIDIwMjQgYXQgNjowOeKAr1BNIE9saXZlciBVcHRvbiA8b2xpdmVyLnVwdG9u QGxpbnV4LmRldj4gd3JvdGU6Cj4gPiA+Cj4gPiA+IEhpIEZ1YWQsCj4gPiA+Cj4gPiA+IE9uIEZy aSwgTWF5IDE3LCAyMDI0IGF0IDAyOjE4OjEzUE0gKzAxMDAsIEZ1YWQgVGFiYmEgd3JvdGU6Cj4g PiA+ID4gIHN0YXRpYyB2b2lkIGt2bV9oeXBfc2F2ZV9mcHNpbWRfaG9zdChzdHJ1Y3Qga3ZtX3Zj cHUgKnZjcHUpCj4gPiA+ID4gIHsKPiA+ID4gPiAtICAgICBfX2Zwc2ltZF9zYXZlX3N0YXRlKCpo b3N0X2RhdGFfcHRyKGZwc2ltZF9zdGF0ZSkpOwo+ID4gPiA+ICsgICAgIC8qCj4gPiA+ID4gKyAg ICAgICogTm9uLXByb3RlY3RlZCBrdm0gcmVsaWVzIG9uIHRoZSBob3N0IHJlc3RvcmluZyBpdHMg c3ZlIHN0YXRlLgo+ID4gPiA+ICsgICAgICAqIFByb3RlY3RlZCBrdm0gcmVzdG9yZXMgdGhlIGhv c3QncyBzdmUgc3RhdGUgYXMgbm90IHRvIHJldmVhbCB0aGF0Cj4gPiA+ID4gKyAgICAgICogZnBz aW1kIHdhcyB1c2VkIGJ5IGEgZ3Vlc3Qgbm9yIGxlYWsgdXBwZXIgc3ZlIGJpdHMuCj4gPiA+ID4g KyAgICAgICovCj4gPiA+ID4gKyAgICAgaWYgKHVubGlrZWx5KGlzX3Byb3RlY3RlZF9rdm1fZW5h YmxlZCgpICYmIHN5c3RlbV9zdXBwb3J0c19zdmUoKSkpIHsKPiA+ID4gPiArICAgICAgICAgICAg IF9faHlwX3N2ZV9zYXZlX2hvc3QoKTsKPiA+ID4gPiArCj4gPiA+ID4gKyAgICAgICAgICAgICAv KiBSZS1lbmFibGUgU1ZFIHRyYXBzIGZvciBndWVzdHMgdGhhdCBkbyBub3Qgc3VwcG9ydCBpdC4g Ki8KPiA+ID4gPiArICAgICAgICAgICAgIGlmICghdmNwdV9oYXNfc3ZlKHZjcHUpKQo+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICBzeXNyZWdfY2xlYXJfc2V0KGNwdHJfZWwyLCAwLCBDUFRS X0VMMl9UWik7Cj4gPiA+Cj4gPiA+IFRoaXMgZG9lc24ndCBhY2NvdW50IGZvciBoVkhFLiBJIHdv bmRlciB3ZSdkIGJlIGJldHRlciBvZmYgYWJzdHJhY3RpbmcKPiA+ID4gQ1BUUl9FTDIgYmVoaW5k IGEgaGVscGVyIHdoZXJldmVyIGl0IGdldHMgdXNlZCBpbiBuVkhFIGFuZCB0cmFuc2xhdGUKPiA+ ID4gaW50byB0aGUgVkhFLWZvcm1hdCBiZWhpbmQgdGhlIHNjZW5lczoKPiA+IAo+ID4gUmlnaHQh IFRvbyBtYW55IG1vZGVzIHRvIGtlZXAgdHJhY2sgb2YgOikKPiA+IAo+ID4gQWJzdHJhY3Rpbmcg Y3B0cl9lbDIgd291bGQgbWFrZSB0aGluZ3MgY2xlYXJlciBhbmQgbGVzcyBlcnJvci1wcm9uZS4K PiA+IEknbGwgZG8gdGhhdCBvbiB0aGUgcmVzcGluLgo+IAo+IElmIHdlJ3JlIGdvaW5nIHdpdGgg dGhlIGNvbnZlcnNpb24gZ2FtZSwgdGhlbiBJJ2Qgc3VnZ2VzdCB5b3UgdXNlIHRoZQo+IFZIRSBm b3JtYXQgYXMgdGhlIHJlZmVyZW5jZSwgYW5kIGNvbnZlcnQgaXQgdG8gblZIRSBvbiB0aGUgZmxp Z2h0Lgo+IFRoYXQncyBmb3IgYSBmZXcgcmVhc29uczoKCkFncmVlZCwgSSB3YXMgdGhpbmtpbmcg b2YgaFZIRSBhcyB0aGlzICd0aGluZyBvbiB0aGUgc2lkZScsIGJ1dCByZWFsbHkKaXQgaXMgdGhl IGRpcmVjdGlvbiBvZiB0aGUgYXJjaGl0ZWN0dXJlIDopIFNvIHllYWgsIHByZWZlciB5b3VyCnN1 Z2dlc3Rpb24uCgotLSAKVGhhbmtzLApPbGl2ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK