[icp] fpu and asm cleanup for linux

Properly annotate functions and data section so that objtool does not complain
when CONFIG_STACK_VALIDATION and CONFIG_FRAME_POINTER are enabled.

Pass KERNELCPPFLAGS to assembler.

Use kfpu_begin()/kfpu_end() to protect SIMD regions in Linux kernel.

Reviewed-by: Tom Caputi <tcaputi@datto.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Gvozden Neskovic <neskovic@gmail.com>
Closes #5872 
Closes #5041
This commit is contained in:
Gvozden Neskovic
2017-03-07 21:59:31 +01:00
committed by Brian Behlendorf
parent 5fc73c46f9
commit 650383f283
12 changed files with 155 additions and 307 deletions
+19
View File
@@ -0,0 +1,19 @@
dnl #
dnl # 4.6 API for compile-time stack validation
dnl #
AC_DEFUN([ZFS_AC_KERNEL_OBJTOOL], [
AC_MSG_CHECKING([for compile-time stack validation (objtool)])
ZFS_LINUX_TRY_COMPILE([
#undef __ASSEMBLY__
#include <asm/frame.h>
],[
#if !defined(FRAME_BEGIN)
CTASSERT(1);
#endif
],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_KERNEL_OBJTOOL, 1, [kernel does stack verification])
],[
AC_MSG_RESULT(no)
])
])