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 v2: - 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@xxxxxxxxxxxxxxx/ Jiaxi Chen (8): x86: KVM: Move existing x86 CPUID leaf [CPUID_7_1_EAX] to kvm-only leaf x86/cpufeatures: Replace [CPUID_DUMMY] in cpuid_leafs[] with the last leaf x86: KVM: Advertise CMPccXADD CPUID to user space x86: KVM: Advertise AMX-FP16 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/cpufeature.h | 9 +++------ arch/x86/include/asm/cpufeatures.h | 20 ++++++++------------ arch/x86/include/asm/disabled-features.h | 3 +-- arch/x86/include/asm/required-features.h | 3 +-- arch/x86/kernel/cpu/common.c | 6 ------ arch/x86/kernel/cpu/cpuid-deps.c | 1 - arch/x86/kvm/cpuid.c | 11 ++++++++--- arch/x86/kvm/reverse_cpuid.h | 15 +++++++++++++++ 8 files changed, 36 insertions(+), 32 deletions(-) base-commit: e18d6152ff0f41b7f01f9817372022df04e0d354 -- 2.27.0