From: Jiaxi Chen <jiaxi.chen@linux.intel.com>
To: kvm@vger.kernel.org
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
seanjc@google.com, pbonzini@redhat.com, ndesaulniers@google.com,
alexandre.belloni@bootlin.com, peterz@infradead.org,
jiaxi.chen@linux.intel.com, jpoimboe@kernel.org,
chang.seok.bae@intel.com, pawan.kumar.gupta@linux.intel.com,
babu.moger@amd.com, jmattson@google.com, sandipan.das@amd.com,
tony.luck@intel.com, sathyanarayanan.kuppuswamy@linux.intel.com,
fenghua.yu@intel.com, keescook@chromium.org,
jane.malalane@citrix.com, nathan@kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH 5/6] x86: KVM: Enable AVX-NE-CONVERT CPUID and expose it to guest
Date: Wed, 19 Oct 2022 16:47:33 +0800 [thread overview]
Message-ID: <20221019084734.3590760-6-jiaxi.chen@linux.intel.com> (raw)
In-Reply-To: <20221019084734.3590760-1-jiaxi.chen@linux.intel.com>
AVX-NE-CONVERT is a new set of instructions in the latest Intel platform
Sierra Forest, which can convert low precision floating point like
BF16/FP16 to high precision floating point FP32. It can also convert
FP32 elements to BF16. This instruction allows the platform to have
improved AI capabilities and better compatibility.
The bit definition:
CPUID.(EAX=7,ECX=1):EDX[bit 5]
This patch enables this CPUID in the kernel feature bits and expose it
to guest OS.
Signed-off-by: Jiaxi Chen <jiaxi.chen@linux.intel.com>
---
arch/x86/include/asm/cpufeatures.h | 1 +
arch/x86/kvm/cpuid.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h
index b2aa761ea110..4e0bbffedbb4 100644
--- a/arch/x86/include/asm/cpufeatures.h
+++ b/arch/x86/include/asm/cpufeatures.h
@@ -425,6 +425,7 @@
/* Intel-defined CPU features, CPUID level 0x00000007:1 (EDX), word 20 */
#define X86_FEATURE_AVX_VNNI_INT8 (20*32+ 4) /* Support for VPDPB[SU,UU,SS]D[,S] */
+#define X86_FEATURE_AVX_NE_CONVERT (20*32+ 5) /* AVX NE CONVERT Instructions */
/*
* BUG word(s)
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index b1b53a5c788a..fcd00c68e546 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -661,7 +661,8 @@ void kvm_set_cpu_caps(void)
F(AVX_IFMA));
kvm_cpu_cap_mask(CPUID_7_1_EDX,
- F(AVX_VNNI_INT8));
+ F(AVX_VNNI_INT8) | F(AVX_NE_CONVERT)
+ );
kvm_cpu_cap_mask(CPUID_D_1_EAX,
F(XSAVEOPT) | F(XSAVEC) | F(XGETBV1) | F(XSAVES) | f_xfd
--
2.27.0
next prev parent reply other threads:[~2022-10-19 8:55 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-19 8:47 [PATCH 0/6] x86: KVM: Expose CPUID to guest for new Intel platform instructions Jiaxi Chen
2022-10-19 8:47 ` [PATCH 1/6] x86: KVM: Enable CMPccXADD CPUID and expose it to guest Jiaxi Chen
2022-10-19 15:15 ` Sean Christopherson
2022-10-20 7:27 ` Chen, Jiaxi
2022-10-26 3:40 ` Jiaxi Chen
2022-10-26 17:15 ` Borislav Petkov
2022-10-27 2:27 ` Jiaxi Chen
2022-11-01 9:07 ` Jiaxi Chen
2022-11-01 15:07 ` Sean Christopherson
2022-11-03 2:35 ` Jiaxi Chen
2022-10-19 8:47 ` [PATCH 2/6] x86: KVM: Enable AMX-FP16 " Jiaxi Chen
2022-11-02 18:14 ` Dave Hansen
2022-11-02 18:16 ` Paolo Bonzini
2022-11-02 18:21 ` Dave Hansen
2022-11-03 2:38 ` Jiaxi Chen
2022-10-19 8:47 ` [PATCH 3/6] x86: KVM: Enable AVX-IFMA " Jiaxi Chen
2022-10-19 8:47 ` [PATCH 4/6] x86: KVM: Enable AVX-VNNI-INT8 " Jiaxi Chen
2022-10-19 8:52 ` Borislav Petkov
2022-10-19 14:57 ` Sean Christopherson
2022-10-19 15:09 ` Sean Christopherson
2022-10-26 3:33 ` Jiaxi Chen
2022-10-20 7:13 ` Chen, Jiaxi
2022-10-19 8:47 ` Jiaxi Chen [this message]
2022-10-19 8:47 ` [PATCH 6/6] x86: KVM: Enable PREFETCHIT0/1 " Jiaxi Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221019084734.3590760-6-jiaxi.chen@linux.intel.com \
--to=jiaxi.chen@linux.intel.com \
--cc=alexandre.belloni@bootlin.com \
--cc=babu.moger@amd.com \
--cc=bp@alien8.de \
--cc=chang.seok.bae@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=fenghua.yu@intel.com \
--cc=hpa@zytor.com \
--cc=jane.malalane@citrix.com \
--cc=jmattson@google.com \
--cc=jpoimboe@kernel.org \
--cc=keescook@chromium.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=pawan.kumar.gupta@linux.intel.com \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=sandipan.das@amd.com \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=seanjc@google.com \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox