[v4,0/6] x86: KVM: Advertise CPUID of new Intel platform instructions to user space

Message ID 20221118141509.489359-1-jiaxi.chen@linux.intel.com
Headers
Series x86: KVM: Advertise CPUID of new Intel platform instructions to user space |

Message

Jiaxi Chen Nov. 18, 2022, 2:15 p.m. UTC
  Latest Intel platform Granite Rapids/Sierra Forest has introduced below
new instructions and CPUIDs:

 - CMPccXADD CPUID.(EAX=7,ECX=1):EAX[bit 7]
 - AMX-FP16 CPUID.(EAX=7,ECX=1):EAX[bit 21]
 - AVX-IFMA CPUID.(EAX=7,ECX=1):EAX[bit 23]
 - AVX-VNNI-INT8 CPUID.(EAX=7,ECX=1):EDX[bit 4]
 - AVX-NE-CONVERT CPUID.(EAX=7,ECX=1):EDX[bit 5]
 - PREFETCHITI CPUID.(EAX=7,ECX=1):EDX[bit 14]

Details can be found in recent Intel ISE (Instruction Set
Extensions)[1].

This patch series advertises KVM support of these CPUIDs to host
userspace.

[1] Intel ISE: https://cdrdv2.intel.com/v1/dl/getContent/671368

v4:
 - Put CPUID_7_1_EAX back to cpuid_leaf[], considering more bits will be
   defined in the future for this leaf.

v3:
https://lore.kernel.org/lkml/20221110015252.202566-1-jiaxi.chen@linux.intel.com/
 - Remain CPUID_8000_001F_EAX in the last leaf of cpuid_leaf[]
 - Replace CPUID_7_1_EAX with CPUID_LNX_5, waiting for future new CPUIDs

v2:
https://lore.kernel.org/all/20221103025030.78371-1-jiaxi.chen@linux.intel.com/
 - Remove vague descriptions in the changelogs, including pronouns and
   "this patch" kind of things.
 - Move the two CPUIDs of cpuid_leaf[12] CPUID_7_1_EAX to kvm-only
   subleaves.
 - Replace cpuid_leaf[12] CPUID_7_1_EAX with the last leaf
   CPUID_8000_001F_EAX to shorten array length.
 - Change the newly-added CPUID leaf [CPUID_7_1_EDX] in v1 into kvm-only
   subleaves. 
 
v1: https://lore.kernel.org/all/20221019084734.3590760-1-jiaxi.chen@linux.intel.com/

Chang S. Bae (1):
  x86: KVM: Advertise AMX-FP16 CPUID to user space

Jiaxi Chen (5):
  x86: KVM: Advertise CMPccXADD CPUID to user space
  x86: KVM: Advertise AVX-IFMA CPUID to user space
  x86: KVM: Advertise AVX-VNNI-INT8 CPUID to user space
  x86: KVM: Advertise AVX-NE-CONVERT CPUID to user space
  x86: KVM: Advertise PREFETCHIT0/1 CPUID to user space

 arch/x86/include/asm/cpufeatures.h | 3 +++
 arch/x86/kvm/cpuid.c               | 8 ++++++--
 arch/x86/kvm/reverse_cpuid.h       | 7 +++++++
 3 files changed, 16 insertions(+), 2 deletions(-)


base-commit: f0c4d9fc9cc9462659728d168387191387e903cc
  

Comments

Borislav Petkov Nov. 18, 2022, 3:11 p.m. UTC | #1
On Fri, Nov 18, 2022 at 10:15:03PM +0800, Jiaxi Chen wrote:
> Chang S. Bae (1):
>   x86: KVM: Advertise AMX-FP16 CPUID to user space
> 
> Jiaxi Chen (5):
>   x86: KVM: Advertise CMPccXADD CPUID to user space
>   x86: KVM: Advertise AVX-IFMA CPUID to user space
>   x86: KVM: Advertise AVX-VNNI-INT8 CPUID to user space
>   x86: KVM: Advertise AVX-NE-CONVERT CPUID to user space
>   x86: KVM: Advertise PREFETCHIT0/1 CPUID to user space
> 
>  arch/x86/include/asm/cpufeatures.h | 3 +++

For the x86 bits:

Acked-by: Borislav Petkov <bp@suse.de>