linux/tools/testing/selftests/x86
Chang S. Bae 101c669d16 selftests/x86/amx: Add context switch test
XSAVE state is thread-local.  The kernel switches between thread
state at context switch time.  Generally, running a selftest for
a while will naturally expose it to some context switching and
and will test the XSAVE code.

Instead of just hoping that the tests get context-switched at
random times, force context-switches on purpose.  Spawn off a few
userspace threads and force context-switches between them.
Ensure that the kernel correctly context switches each thread's
unique AMX state.

 [ dhansen: bunches of cleanups ]

Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20211026122525.6EFD5758@davehans-spike.ostc.intel.com
2021-10-28 14:35:27 +02:00
..
.gitignore selftests/x86/pkeys: move selftests to arch-neutral directory 2020-06-04 19:06:26 -07:00
amx.c selftests/x86/amx: Add context switch test 2021-10-28 14:35:27 +02:00
check_cc.sh treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 257 2019-06-05 17:30:27 +02:00
check_initial_reg_state.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
corrupt_xstate_header.c selftests/x86: Test signal frame XSTATE header corruption handling 2021-06-09 14:46:30 +02:00
entry_from_vm86.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 257 2019-06-05 17:30:27 +02:00
fsgsbase_restore.c x86/ptrace: Fix 32-bit PTRACE_SETREGS vs fsbase and gsbase 2020-07-01 15:27:20 +02:00
fsgsbase.c selftests/x86/fsgsbase: Fix GS == 1, 2, and 3 tests 2020-11-24 13:46:16 +01:00
helpers.h selftests/x86: Use __builtin_ia32_read/writeeflags 2021-01-12 12:31:28 +01:00
ioperm.c selftests/x86/ioperm: Extend testing so the shared bitmap is exercised 2019-11-16 11:24:04 +01:00
iopl.c selftests/x86/iopl: Extend test to cover IOPL emulation 2019-11-16 11:24:06 +01:00
ldt_gdt.c selftests/x86/ldt_gdt: remove unneeded semicolon 2021-02-08 16:32:52 -07:00
Makefile selftests/x86/amx: Add test cases for AMX state management 2021-10-28 14:35:27 +02:00
mov_ss_trap.c selftests/x86: Fix error: variably modified 'altstack_data' at file scope 2021-08-25 16:54:39 -06:00
ptrace_syscall.c selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault 2020-03-20 11:28:47 +01:00
raw_syscall_helper_32.S selftests/x86: Add missing .note.GNU-stack sections 2020-11-24 13:55:39 +01:00
sigaltstack.c selftest/x86/signal: Include test cases for validating sigaltstack 2021-05-19 12:45:07 +02:00
sigreturn.c selftests/x86: Fix error: variably modified 'altstack_data' at file scope 2021-08-25 16:54:39 -06:00
single_step_syscall.c selftests/x86: Fix error: variably modified 'altstack_data' at file scope 2021-08-25 16:54:39 -06:00
syscall_arg_fault.c selftests/x86: Fix error: variably modified 'altstack_data' at file scope 2021-08-25 16:54:39 -06:00
syscall_nt.c x86/entry, selftests: Further improve user entry sanity checks 2020-07-04 19:47:25 +02:00
syscall_numbering.c selftests/x86/syscall: Add tests under ptrace to syscall_numbering_64 2021-05-20 15:19:48 +02:00
sysret_rip.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
sysret_ss_attrs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
test_FCMOV.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
test_FCOMI.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
test_FISTTP.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
test_mremap_vdso.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
test_syscall_vdso.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
test_vsyscall.c selftests/x86/test_vsyscall: Improve the process_vm_readv() test 2020-09-03 18:36:55 -07:00
thunks_32.S selftests/x86: Add a missing .note.GNU-stack section to thunks_32.S 2021-03-18 11:05:14 +01:00
thunks.S selftests/x86: Add missing .note.GNU-stack sections 2020-11-24 13:55:39 +01:00
trivial_32bit_program.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 257 2019-06-05 17:30:27 +02:00
trivial_64bit_program.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 257 2019-06-05 17:30:27 +02:00
trivial_program.c selftests/x86: Detect -no-pie availability 2018-05-30 15:21:51 -06:00
unwind_vdso.c selftests/x86: Consolidate and fix get/set_eflags() helpers 2020-07-01 10:00:27 +02:00
vdso_restorer.c selftests/x86/vdso: Fix no-vDSO segfaults 2020-03-20 11:20:04 +01:00