linux/arch/x86
Chang S. Bae eec2113eab x86/fpu/amx: Define AMX state components and have it used for boot-time checks
The XSTATE initialization uses check_xstate_against_struct() to sanity
check the size of XSTATE-enabled features. AMX is a XSAVE-enabled feature,
and its size is not hard-coded but discoverable at run-time via CPUID.

The AMX state is composed of state components 17 and 18, which are all user
state components. The first component is the XTILECFG state of a 64-byte
tile-related control register. The state component 18, called XTILEDATA,
contains the actual tile data, and the state size varies on
implementations. The architectural maximum, as defined in the CPUID(0x1d,
1): EAX[15:0], is a byte less than 64KB. The first implementation supports
8KB.

Check the XTILEDATA state size dynamically. The feature introduces the new
tile register, TMM. Define one register struct only and read the number of
registers from CPUID. Cross-check the overall size with CPUID again.

Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20211021225527.10184-21-chang.seok.bae@intel.com
2021-10-26 10:53:02 +02:00
..
boot Kbuild updates for v5.15 2021-09-03 15:33:47 -07:00
configs configs: remove the obsolete CONFIG_INPUT_POLLDEV 2021-09-08 11:50:28 -07:00
crypto crypto: x86/sm4 - Fix frame pointer stack corruption 2021-09-24 15:58:50 +08:00
entry compat: remove some compat entry points 2021-09-08 15:32:35 -07:00
events x86/pkru: Remove useless include 2021-10-20 15:27:25 +02:00
hyperv hyperv-fixes for 5.15 2021-10-07 09:44:48 -07:00
ia32 x86/fpu: Remove internal.h dependency from fpu/signal.h 2021-10-20 15:27:29 +02:00
include x86/fpu/amx: Define AMX state components and have it used for boot-time checks 2021-10-26 10:53:02 +02:00
kernel x86/fpu/amx: Define AMX state components and have it used for boot-time checks 2021-10-26 10:53:02 +02:00
kvm x86/kvm: Convert FPU handling to a single swap buffer 2021-10-23 16:13:29 +02:00
lib Merge branch 'x86/urgent' into x86/fpu, to resolve a conflict 2021-10-16 15:17:46 +02:00
math-emu x86/math-emu: Convert to fpstate 2021-10-20 23:57:54 +02:00
mm x86/fpu: Provide a proper function for ex_handler_fprestore() 2021-10-20 15:27:29 +02:00
net Merge branch 'x86/urgent' into x86/fpu, to resolve a conflict 2021-10-16 15:17:46 +02:00
pci xen: branch for v5.15-rc5 2021-10-08 12:55:23 -07:00
platform - A FPU fix to properly handle invalid MXCSR values: 32-bit masks them 2021-10-10 10:00:51 -07:00
power x86/fpu: Replace the includes of fpu/internal.h 2021-10-20 15:27:29 +02:00
purgatory kernel.h: split out panic and oops helpers 2021-07-01 11:06:04 -07:00
ras
realmode memblock: make memblock_find_in_range method private 2021-09-03 09:58:17 -07:00
tools - Remove cc-option checks which are old and already supported by the 2021-08-30 13:27:16 -07:00
um um: fix stub location calculation 2021-08-26 22:28:03 +02:00
video
xen xen/x86: adjust data placement 2021-10-05 08:36:19 +02:00
.gitignore
Kbuild
Kconfig x86/signal: Implement sigaltstack size validation 2021-10-26 10:18:09 +02:00
Kconfig.assembler
Kconfig.cpu
Kconfig.debug tracing: Refactor TRACE_IRQFLAGS_SUPPORT in Kconfig 2021-08-16 11:37:21 -04:00
Makefile Kbuild updates for v5.15 2021-09-03 15:33:47 -07:00
Makefile_32.cpu x86/build: Do not add -falign flags unconditionally for clang 2021-09-19 10:35:53 +09:00
Makefile.um um: allow not setting extra rpaths in the linux binary 2021-06-17 21:54:15 +02:00