OpenCloudOS-Kernel/arch
Chen Zhuo 07fb85a386 Enumerate AVX Vector Neural Network instructions
commit b85a0425d8 upstream.

Add AVX version of the Vector Neural Network (VNNI) Instructions.

A processor supports AVX VNNI instructions if CPUID.0x07.0x1:EAX[4] is
present. The following instructions are available when this feature is
present.
  1. VPDPBUS: Multiply and Add Unsigned and Signed Bytes
  2. VPDPBUSDS: Multiply and Add Unsigned and Signed Bytes with Saturation
  3. VPDPWSSD: Multiply and Add Signed Word Integers
  4. VPDPWSSDS: Multiply and Add Signed Integers with Saturation

The only in-kernel usage of this is kvm passthrough. The CPU feature
flag is shown as "avx_vnni" in /proc/cpuinfo.

This instruction is currently documented in the latest "extensions"
manual (ISE). It will appear in the "main" manual (SDM) in the future.

Signed-off-by: Kyung Min Park <kyung.min.park@intel.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Message-Id: <20210105004909.42000-2-yang.zhong@intel.com>
Acked-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Chen Zhuo <sagazchen@tencent.com>
Signed-off-by: Xinghui Li <korantli@tencent.com>
2024-06-11 21:10:45 +08:00
..
alpha x86/process: Clone FPU in copy_thread() 2024-06-11 21:09:51 +08:00
arc ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
arm dma-direct: rename and cleanup __phys_to_dma 2024-06-11 21:07:20 +08:00
arm64 ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
c6x mm: consolidate pgtable_cache_init() and pgd_cache_init() 2019-09-24 15:54:09 -07:00
csky ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
h8300 ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
hexagon ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
ia64 ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
m68k ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
microblaze tkernel: add base tlinux kernel interfaces 2024-06-11 20:09:33 +08:00
mips ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
nds32 ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
nios2 nios2 update for v5.4-rc1 2019-09-27 13:02:19 -07:00
openrisc ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
parisc ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
powerpc perf/core: Add new branch sample type for HW index of raw branch records 2024-06-11 21:10:31 +08:00
riscv ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
s390 ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
sh ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
sparc ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
um ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
unicore32 mm: treewide: clarify pgtable_page_{ctor,dtor}() naming 2019-09-26 10:10:44 -07:00
x86 Enumerate AVX Vector Neural Network instructions 2024-06-11 21:10:45 +08:00
xtensa ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
.gitignore
Kconfig signal: Add an optional check for altstack size 2024-06-11 21:10:14 +08:00