Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp1451642imm; Tue, 10 Jul 2018 01:56:55 -0700 (PDT) X-Google-Smtp-Source: AAOMgpewsasRk14by0/UOP7huB1lJJakHai1NX6+BhyGjdCh+a0X+krEXJdVWRJgq/cQOJ2eW30m X-Received: by 2002:a63:4002:: with SMTP id n2-v6mr16843473pga.285.1531213015633; Tue, 10 Jul 2018 01:56:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531213015; cv=none; d=google.com; s=arc-20160816; b=shz7WKu+xTM+v7GkrWJlDZuZ3QWKD5C948RYhtbt6NvHfJ8V9MPqOamUP2GNFKDGWt RQmdSPbeJNXOlM4q23w+j7rRnTIzKZ44/b9i6eGRw7NjYLNn4nS/CYysaDO3yG1qcaSi f8wDaVJ1PpEEY5BRvjC7I9RQRTSvHJ6pmqD6oo7tK2GzJ6Qu4rU4iwitzShNn5R6s2BT NsM7Bzw1UT3f4Q1XsHeLtHCEnpTTSUCfw7ahaSWHqxP51uKbIGxFy0/OZdXOYfPWY5kB Xg14Cfv6kMQqyn2sVjMg9C0b/yR0jLR5LFZTKNQeKuVmbR6f17pzNNGTCgmPQf2iCMaw Y1KQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=Mgunq12Fc6EuWeRpcipq1f6JGtp39HYjGmevF5et7ik=; b=qeqpW5EOJlqA1fK5Bp4sV85HFc5FJ90PNRI9RO9bnhSyLewhkiQ8p5EN+IttvZamFq xd3GnajPC0Fiy6KoIDOYtquWQjEj3Bs6+PZL1QKL/kNPoEaIwHOco0mMORbxTPL8B5dS XmmWHj6Vn12GsKPMTGcgXmu9M9w8O+DJGhgaJ/a+FRagjUbr+c92kxf3VCJ5dPnSj7W0 mkAwKmt8X2lGWGm3fvMM15F9Y0hXMQrU7f7rtbFXxEDAwb4/YcQFMnL6D1kIgXUw29ry 6UuhWaYMODyb3vxJjdr+4pE3RfnLVwO+q2vINR8Tlqvf2/ljFQF3jSW3QS6lbOIxVxLm 6d1Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c62-v6si14811280pfb.98.2018.07.10.01.56.39; Tue, 10 Jul 2018 01:56:55 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933166AbeGJIzq (ORCPT + 99 others); Tue, 10 Jul 2018 04:55:46 -0400 Received: from mga06.intel.com ([134.134.136.31]:44781 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751432AbeGJIz2 (ORCPT ); Tue, 10 Jul 2018 04:55:28 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jul 2018 01:55:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,333,1526367600"; d="scan'208";a="53258022" Received: from dst.sh.intel.com ([10.239.48.156]) by fmsmga007.fm.intel.com with ESMTP; 10 Jul 2018 01:55:16 -0700 From: Jingqi Liu To: pbonzini@redhat.com, rkrcmar@redhat.com, tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com Cc: x86@kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, wei.w.wang@intel.com, Jingqi Liu Subject: [PATCH 3/3] KVM: x86: expose MOVDIR64B CPU feature into VM. Date: Tue, 10 Jul 2018 16:54:43 +0800 Message-Id: <1531212883-63173-4-git-send-email-jingqi.liu@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1531212883-63173-1-git-send-email-jingqi.liu@intel.com> References: <1531212883-63173-1-git-send-email-jingqi.liu@intel.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org MOVDIR64B moves 64-bytes as direct-store with 64-bytes write atomicity. Direct store is implemented by using write combining (WC) for writing data directly into memory without caching the data. Availability of the MOVDIR64B instruction is indicated by the presence of the CPUID feature flag MOVDIR64B (CPUID.0x07.0x0:ECX[bit 28]). This patch exposes the movdir64b feature to the guest. The release document ref below link: https://software.intel.com/sites/default/files/managed/c5/15/\ architecture-instruction-set-extensions-programming-reference.pdf This patch has a dependency on https://lkml.org/lkml/2018/6/15/655. Signed-off-by: Jingqi Liu --- arch/x86/kvm/cpuid.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c index 456caf7..deaad68 100644 --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c @@ -406,7 +406,7 @@ static inline int __do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function, F(AVX512VBMI) | F(LA57) | F(PKU) | 0 /*OSPKE*/ | F(AVX512_VPOPCNTDQ) | F(UMIP) | F(AVX512_VBMI2) | F(GFNI) | F(VAES) | F(VPCLMULQDQ) | F(AVX512_VNNI) | F(AVX512_BITALG) | - F(CLDEMOTE) | F(WAITPKG) | F(MOVDIRI); + F(CLDEMOTE) | F(WAITPKG) | F(MOVDIRI) | F(MOVDIR64B); /* cpuid 7.0.edx*/ const u32 kvm_cpuid_7_0_edx_x86_features = -- 1.8.3.1