13 #include <linux/sched.h>
15 #include <linux/bitops.h>
19 #include <asm/cpu-features.h>
21 #include <asm/processor.h>
22 #include <asm/current.h>
24 #ifdef CONFIG_MIPS_MT_FPAFF
36 #define __enable_fpu() \
38 set_c0_status(ST0_CU1); \
39 enable_fpu_hazard(); \
42 #define __disable_fpu() \
44 clear_c0_status(ST0_CU1); \
45 disable_fpu_hazard(); \
48 #define enable_fpu() \
54 #define disable_fpu() \
61 #define clear_fpu_owner() clear_thread_flag(TIF_USEDFPU)
63 static inline int __is_fpu_owner(
void)
65 return test_thread_flag(TIF_USEDFPU);
68 static inline int is_fpu_owner(
void)
73 static inline void __own_fpu(
void)
77 set_thread_flag(TIF_USEDFPU);
80 static inline void own_fpu_inatomic(
int restore)
89 static inline void own_fpu(
int restore)
92 own_fpu_inatomic(restore);
96 static inline void lose_fpu(
int save)
103 clear_thread_flag(TIF_USEDFPU);
109 static inline void init_fpu(
void)
121 static inline void save_fp(
struct task_struct *tsk)
127 static inline void restore_fp(
struct task_struct *tsk)
142 return tsk->
thread.fpu.fpr;