1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __X86_KERNEL_FPU_INTERNAL_H 3 #define __X86_KERNEL_FPU_INTERNAL_H 4 5 extern struct fpstate init_fpstate; 6 7 /* CPU feature check wrappers */ 8 static __always_inline __pure bool use_xsave(void) 9 { 10 return cpu_feature_enabled(X86_FEATURE_XSAVE); 11 } 12 13 static __always_inline __pure bool use_fxsr(void) 14 { 15 return cpu_feature_enabled(X86_FEATURE_FXSR); 16 } 17 18 #ifdef CONFIG_X86_DEBUG_FPU 19 # define WARN_ON_FPU(x) WARN_ON_ONCE(x) 20 #else 21 # define WARN_ON_FPU(x) ({ (void)(x); 0; }) 22 #endif 23 24 /* Used in init.c */ 25 extern void fpstate_init_user(struct fpstate *fpstate); 26 extern void fpstate_reset(struct fpu *fpu); 27 28 #endif 29