selftests/fpu: Add an FPU selftest
Add a selftest for the usage of FPU code in kernel mode. Currently only implemented for x86. In the future, kernel FPU testing could be unified between the different architectures supporting it. [ bp: - Split out from a conglomerate patch, put comments over statements. - run the test only on debugfs write. - Add bare-minimum run_test_fpu.sh, run 1000 iterations on all CPUs by default. - Add conditionally -msse2 so that clang doesn't generate library calls. - Use cc-option to detect gcc 7.1 not supporting -mpreferred-stack-boundary=3 (amluto). - Document stuff so that we don't forget. - Fix: ld: lib/test_fpu.o: in function `test_fpu_get': >> test_fpu.c:(.text+0x16e): undefined reference to `__sanitizer_cov_trace_cmpd' >> ld: test_fpu.c:(.text+0x1a7): undefined reference to `__sanitizer_cov_trace_cmpd' ld: test_fpu.c:(.text+0x1e0): undefined reference to `__sanitizer_cov_trace_cmpd' ] Reported-by:kernel test robot <lkp@intel.com> Signed-off-by:
Petteri Aimonen <jpa@git.mail.kapsi.fi> Signed-off-by:
Borislav Petkov <bp@suse.de> Reviewed-by:
Nick Desaulniers <ndesaulniers@google.com> Link: https://lkml.kernel.org/r/20200624114646.28953-3-bp@alien8.de
Showing
- lib/Kconfig.debug 11 additions, 0 deletionslib/Kconfig.debug
- lib/Makefile 24 additions, 0 deletionslib/Makefile
- lib/test_fpu.c 89 additions, 0 deletionslib/test_fpu.c
- tools/testing/selftests/Makefile 1 addition, 0 deletionstools/testing/selftests/Makefile
- tools/testing/selftests/fpu/.gitignore 2 additions, 0 deletionstools/testing/selftests/fpu/.gitignore
- tools/testing/selftests/fpu/Makefile 9 additions, 0 deletionstools/testing/selftests/fpu/Makefile
- tools/testing/selftests/fpu/run_test_fpu.sh 46 additions, 0 deletionstools/testing/selftests/fpu/run_test_fpu.sh
- tools/testing/selftests/fpu/test_fpu.c 61 additions, 0 deletionstools/testing/selftests/fpu/test_fpu.c
Loading
Please register or sign in to comment