• Petteri Aimonen's avatar
    selftests/fpu: Add an FPU selftest · 4185b3b9
    Petteri Aimonen authored
    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: default avatarkernel test robot <lkp@intel.com>
    Signed-off-by: default avatarPetteri Aimonen <jpa@git.mail.kapsi.fi>
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
    Link: https://lkml.kernel.org/r/20200624114646.28953-3-bp@alien8.de
    4185b3b9
run_test_fpu.sh 878 Bytes