0001
0002 #ifndef __X86_KERNEL_FPU_INTERNAL_H
0003 #define __X86_KERNEL_FPU_INTERNAL_H
0004
0005 extern struct fpstate init_fpstate;
0006
0007
0008 static __always_inline __pure bool use_xsave(void)
0009 {
0010 return cpu_feature_enabled(X86_FEATURE_XSAVE);
0011 }
0012
0013 static __always_inline __pure bool use_fxsr(void)
0014 {
0015 return cpu_feature_enabled(X86_FEATURE_FXSR);
0016 }
0017
0018 #ifdef CONFIG_X86_DEBUG_FPU
0019 # define WARN_ON_FPU(x) WARN_ON_ONCE(x)
0020 #else
0021 # define WARN_ON_FPU(x) ({ (void)(x); 0; })
0022 #endif
0023
0024
0025 extern void fpstate_init_user(struct fpstate *fpstate);
0026 extern void fpstate_reset(struct fpu *fpu);
0027
0028 #endif