aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorTony Hutter <[email protected]>2019-03-06 16:03:03 -0800
committerBrian Behlendorf <[email protected]>2019-03-06 16:03:03 -0800
commitbecdcec7b9cd6b8beaa2273495b97c06de24e9e5 (patch)
tree39e6c2e78916928ff1b821356883376188bfd796 /include/linux
parenta73e8fdb93d24b885f0c38202a34da51013d674a (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/linux')
-rw-r--r--include/linux/simd_x86.h11
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