From patchwork Tue May 2 12:09:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Juergen Gross X-Patchwork-Id: 89335 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp568448vqo; Tue, 2 May 2023 05:25:35 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7u+gB3Ghj4kKTmc2X53lOZKat8ejYU/Avq/Fm/quyZcyRLIBzE4f6EtbopICP30LuXiVdR X-Received: by 2002:a05:6a20:244c:b0:f5:9f72:1aaa with SMTP id t12-20020a056a20244c00b000f59f721aaamr22982497pzc.19.1683030334752; Tue, 02 May 2023 05:25:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683030334; cv=none; d=google.com; s=arc-20160816; b=Rsuk+wI9lSGqFvVzCCLA6sP+OJIZXCfB9x5Q4763jgHFLlh7lZCQkhf2K+uyCCVdFB f8f6EzbdbXFEV0XuEU9Opv72EPKYjsrUC+LIYn4R0YgWaNVVhFO6UA+AJl7muMmTV+JQ vFwvyzccoUKfE3yJxZDJxHmKrnl37d2Nd3x9SYZ6vRgLSoTz+9bSujJxgne9QtViSdYw wkE7Xc70cSrHKeiuF0B9sSJgEblljC6hINXW+JIt/gzJv9d/gwypPvn70SvNNbGh85Zg I2OERPY9aNXFxaq70oqx1LcDITVVEqISddDNokX79aCB0HeMv/GCfmSIpZIP/BJzh5SM HG8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=x+93RA8T9/i6FC7Kr/U0Px8+1fxaBL/HiuMzaqxIQlk=; b=J/Ul3XPHPbhtmXtSuEkezOwnbe5GPAfzojOUyg8KF7uFNhhCMIFKqEysxecxbolE+w h0RNbv9FAeA42srX91KKTwkntClVp/NlY9Tp4wetJd6LcEdKW+J7KG86ZqilR1PFqLRf UhtM6mI2Kv1J27UjRdzAChshWV/G3ValJJMwHRG4xZLIN80McLvpTlZM2R2CYejSpwkn 1/ba7X2oekbdccG+IkEyglpsLHyowh3TdJit1vMSeXsdFzz+boM7MOXb+fzZa9pxTx44 R/LcYcOyrUKDchTtsSFYYBSFkl5tymrdoTe9jABWnFnIIM9Vm2LunbfxDkQy6rcafaaT 718g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=l9zLqPfr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g124-20020a636b82000000b005139874b88bsi30766910pgc.87.2023.05.02.05.25.20; Tue, 02 May 2023 05:25:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=l9zLqPfr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234139AbjEBMK0 (ORCPT + 99 others); Tue, 2 May 2023 08:10:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37172 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234137AbjEBMKS (ORCPT ); Tue, 2 May 2023 08:10:18 -0400 Received: from smtp-out2.suse.de (smtp-out2.suse.de [IPv6:2001:67c:2178:6::1d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8D7845FFD; Tue, 2 May 2023 05:10:06 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 2EBCF1F8C4; Tue, 2 May 2023 12:10:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1683029405; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=x+93RA8T9/i6FC7Kr/U0Px8+1fxaBL/HiuMzaqxIQlk=; b=l9zLqPfr7eYEdg5gZvZ1gvheIGNybsp8veJIqjk/KMqkajQE+aGrGcA60warz8oiJNhQ3m e9b2miK1EvRVDuGGitdeQoS6rRFfIKIX+Dmh3KGqtzgo9mTl9saAUaS4/z8FAl63m3hLGU CxNszL11tcYfQ9qLUthF7iUB/3EmYaE= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C2A24139C3; Tue, 2 May 2023 12:10:04 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 4bM4Lpz9UGS6LwAAMHmgww (envelope-from ); Tue, 02 May 2023 12:10:04 +0000 From: Juergen Gross To: linux-kernel@vger.kernel.org, x86@kernel.org, linux-hyperv@vger.kernel.org Cc: mikelley@microsoft.com, Juergen Gross , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" Subject: [PATCH v6 04/16] x86/hyperv: set MTRR state when running as SEV-SNP Hyper-V guest Date: Tue, 2 May 2023 14:09:19 +0200 Message-Id: <20230502120931.20719-5-jgross@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20230502120931.20719-1-jgross@suse.com> References: <20230502120931.20719-1-jgross@suse.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1764785216457862238?= X-GMAIL-MSGID: =?utf-8?q?1764785216457862238?= In order to avoid mappings using the UC- cache attribute, set the MTRR state to use WB caching as the default. This is needed in order to cope with the fact that PAT is enabled, while MTRRs are not supported by the hypervisor. Fixes: 90b926e68f50 ("x86/pat: Fix pat_x_mtrr_type() for MTRR disabled case") Signed-off-by: Juergen Gross --- V2: - new patch V6: - rebase to tip/master, move code to hv_vtom_init() (Michael Kelley) --- arch/x86/hyperv/ivm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c index cc92388b7a99..6f7c1b5606ad 100644 --- a/arch/x86/hyperv/ivm.c +++ b/arch/x86/hyperv/ivm.c @@ -17,6 +17,7 @@ #include #include #include +#include #ifdef CONFIG_AMD_MEM_ENCRYPT @@ -372,6 +373,9 @@ void __init hv_vtom_init(void) x86_platform.guest.enc_cache_flush_required = hv_vtom_cache_flush_required; x86_platform.guest.enc_tlb_flush_required = hv_vtom_tlb_flush_required; x86_platform.guest.enc_status_change_finish = hv_vtom_set_host_visibility; + + /* Set WB as the default cache mode. */ + mtrr_overwrite_state(NULL, 0, MTRR_TYPE_WRBACK); } #endif /* CONFIG_AMD_MEM_ENCRYPT */