From patchwork Thu May 11 23:33:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Christopherson X-Patchwork-Id: 92884 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp4739094vqo; Thu, 11 May 2023 16:46:00 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7/UhF4d7WqkJGgE4s04HOPBPoAPJwQOob/TqERONpLtIyF74+VjK1rItepQiWnYfOTcphE X-Received: by 2002:a05:6a20:7fa2:b0:f0:916:e5d with SMTP id d34-20020a056a207fa200b000f009160e5dmr28957313pzj.42.1683848760144; Thu, 11 May 2023 16:46:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683848760; cv=none; d=google.com; s=arc-20160816; b=OgJWWUWtYWVSR6yFIogxZ0TM5kHq2kIUvhGEFlLG3kuNOQ4q8L6OTojLUm0HziFiVx JmXkmLzxeUbFMZmbaWSYw/nifJlZwUBfAEQO53ecCT4HA8a/RBdCzN4yqTzjr/k8dsDh Td8WdB7O6MIj1VJRD+sviAIS8euhfegQQb7fGLwfQfU8a/43jpz5+s+oxvkoHttrmUra 70UfE8HeVnY6wGHcz0pfFMaftTI+VQJBHOi+zYmVkQeYWvlsU0NBEByCoizqfBqYZmCv wceIfulmlHZjt+z1R1/VDGBFH917AfSNO80McERwaKKql75aycHa2zuRP35Jg9ytgK61 AteA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:reply-to:dkim-signature; bh=cOrgUlHpOAMPmZ+StptvgqaX6DcVrL8V0qVFj+MTpWU=; b=IKDOilv2tRGe6BnAV48NmuZ0+yyMaYN9t2SRqhsfVBGrZUuLYO3bpClQbrx2KMkNFK TeQRHWV6xX0VbOA0CdIiQjpjfwOuYESfxf4uo5IDREpD2x3i1p7o9IKUjoDI11dqX7hk QvNEJqKyqil23gjVNfO08H8woNSwPji8CGYy0TI2/C3nbHi501ilxb1UwQMlf3Q4EKxH 37LGzqDjKWm81LuoSKUeBWfhp9BNOOjqG/0ioR90kzCAT4yDXudJb/I4GyLwglMCNREg npWgBhZCKslX/BpjQZbFZZUyHYfi8rGOIxoAz9+MXfJWZK1ZOEqUBV3xpDCGYTM8XKbv 7hlQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=3Fa2pfYT; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c186-20020a621cc3000000b0063b88d7c754si9021352pfc.210.2023.05.11.16.45.46; Thu, 11 May 2023 16:46:00 -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=@google.com header.s=20221208 header.b=3Fa2pfYT; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239591AbjEKXeE (ORCPT + 99 others); Thu, 11 May 2023 19:34:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39880 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239574AbjEKXd7 (ORCPT ); Thu, 11 May 2023 19:33:59 -0400 Received: from mail-pl1-x64a.google.com (mail-pl1-x64a.google.com [IPv6:2607:f8b0:4864:20::64a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1DB6D5FD2 for ; Thu, 11 May 2023 16:33:58 -0700 (PDT) Received: by mail-pl1-x64a.google.com with SMTP id d9443c01a7336-1aad9af33c1so93826465ad.0 for ; Thu, 11 May 2023 16:33:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1683848037; x=1686440037; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=cOrgUlHpOAMPmZ+StptvgqaX6DcVrL8V0qVFj+MTpWU=; b=3Fa2pfYTrzongvw+2wZAPpSntt85/6aUe3Vtm86lOFwvxfbwMs78Q3I2sTq9MovEpR aoNsErsK+Bef8YseM7drICvYFVQQ5IyvsNcDQ8f5Cazlc0O8K+hQTEQEfX6wAs1yCaXp P/UK2gJ8FtA/wOLMlfom8DZmJ3NPPK87eRmkqG75tEijyAnLL7pcOd40Qle53l1an76L 1f+9oIrohRY5Us6SCxGAi/r7Kt7ZZml42CCC6czfGkWfrisfMcu7Syp3vWjwiqpIV2Xn +LMr/4hhvfc1fyi6j49wvBy7ckFxzNq+xwti3aYTsbXS+zA8vlyzoXLHFxB49NLp0A53 93Vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683848037; x=1686440037; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=cOrgUlHpOAMPmZ+StptvgqaX6DcVrL8V0qVFj+MTpWU=; b=bCWVi8cJkGUDL/yCEudtgg/p1Z+aXLdF6BSmyATS8U7+KqAy63VIkfjzBhE/qhco/2 rTgZNp8xYDWGVu12xzDlH/Iw3RdgLATLWurIlsnpWaYCk9nn6rup8ANn9+1UMMND1lK3 E2jRFC2PP7B/L/uht/8nbikZiD8g3no8vqBgik7ES0V786ZbpqU3G2FrIvZmIkBMHtkn pHIE2PC8tBI/4rUqHHlxE899MWAQtXmQeNFoaDKVPp/95gsUkYMzjaykKFhohCPo+bYB ZfG+QRLtUiiARCCm8zb0lzms0uGPY8vlQmKbG9Gi6QHq9b68KNYLlTblkj+E5ugg51L5 gDWw== X-Gm-Message-State: AC+VfDwtZG2erXGK2K0YsWtFY/YNmCw6eA3ilePOeNbMoDZSYgRbcYB5 LENLrR37qIUof6UYgXHiVqvnukaqDy4= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a17:902:a612:b0:1a6:9363:163a with SMTP id u18-20020a170902a61200b001a69363163amr8568408plq.10.1683848037734; Thu, 11 May 2023 16:33:57 -0700 (PDT) Reply-To: Sean Christopherson Date: Thu, 11 May 2023 16:33:45 -0700 In-Reply-To: <20230511233351.635053-1-seanjc@google.com> Mime-Version: 1.0 References: <20230511233351.635053-1-seanjc@google.com> X-Mailer: git-send-email 2.40.1.606.ga4b1b128d6-goog Message-ID: <20230511233351.635053-3-seanjc@google.com> Subject: [PATCH v2 2/8] KVM: SVM: Use kvm_pat_valid() directly instead of kvm_mtrr_valid() From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Kai Huang , Wenyao Hai , Ke Guo X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL autolearn=unavailable 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?1765643397263503928?= X-GMAIL-MSGID: =?utf-8?q?1765643397263503928?= From: Ke Guo Use kvm_pat_valid() directly instead of bouncing through kvm_mtrr_valid(). The PAT is not an MTRR, and kvm_mtrr_valid() just redirects to kvm_pat_valid(), i.e. is exempt from KVM's "zap SPTEs" logic that's needed to honor guest MTRRs when the VM has a passthrough device with non-coherent DMA (KVM does NOT set "ignore guest PAT" in this case, and so enables hardware virtualization of the guest's PAT, i.e. doesn't need to manually emulate the PAT memtype). Signed-off-by: Ke Guo [sean: massage changelog] Reviewed-by: Kai Huang Signed-off-by: Sean Christopherson --- arch/x86/kvm/svm/svm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index eb308c9994f9..db237ccdc957 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -2935,7 +2935,7 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr) break; case MSR_IA32_CR_PAT: - if (!kvm_mtrr_valid(vcpu, MSR_IA32_CR_PAT, data)) + if (!kvm_pat_valid(data)) return 1; vcpu->arch.pat = data; svm->vmcb01.ptr->save.g_pat = data;