diff options
author | Tony Hutter <[email protected]> | 2019-03-06 16:03:03 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2019-03-06 16:03:03 -0800 |
commit | becdcec7b9cd6b8beaa2273495b97c06de24e9e5 (patch) | |
tree | 39e6c2e78916928ff1b821356883376188bfd796 /include | |
parent | a73e8fdb93d24b885f0c38202a34da51013d674a (diff) |
kernel_fpu fixes
This patch fixes a few issues when detecting which kernel_fpu functions
are available.
- Use kernel_fpu_begin() if it's exported on newer kernels.
- Use ZFS_LINUX_TRY_COMPILE_SYMBOL() to choose the right kernel_fpu
function when using --enable-linux-builtin.
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Tony Hutter <[email protected]>
Closes #8259
Closes #8363
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/simd_x86.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/include/linux/simd_x86.h b/include/linux/simd_x86.h index 5d6fbed35..12cd74677 100644 --- a/include/linux/simd_x86.h +++ b/include/linux/simd_x86.h @@ -81,9 +81,16 @@ #endif #if defined(_KERNEL) -#if defined(HAVE_UNDERSCORE_KERNEL_FPU) + +#if defined(HAVE_KERNEL_FPU_API_HEADER) #include <asm/fpu/api.h> #include <asm/fpu/internal.h> +#else +#include <asm/i387.h> +#include <asm/xcr.h> +#endif + +#if defined(HAVE_UNDERSCORE_KERNEL_FPU) #define kfpu_begin() \ { \ preempt_disable(); \ @@ -95,8 +102,6 @@ preempt_enable(); \ } #elif defined(HAVE_KERNEL_FPU) -#include <asm/i387.h> -#include <asm/xcr.h> #define kfpu_begin() kernel_fpu_begin() #define kfpu_end() kernel_fpu_end() #else |