Lines Matching refs:thread
160 struct thread_struct *thread = ¤t->thread;
162 if (!thread->ufpu_flags)
164 load_fpu_state(&thread->ufpu, thread->ufpu_flags);
165 thread->ufpu_flags = 0;
168 static __always_inline void __save_user_fpu_regs(struct thread_struct *thread, int flags)
170 save_fpu_state(&thread->ufpu, flags);
171 __atomic_or(flags, &thread->ufpu_flags);
176 struct thread_struct *thread = ¤t->thread;
179 mask = __atomic_or(KERNEL_FPC | KERNEL_VXR, &thread->kfpu_flags);
180 flags = ~READ_ONCE(thread->ufpu_flags) & (KERNEL_FPC | KERNEL_VXR);
182 __save_user_fpu_regs(thread, flags);
184 WRITE_ONCE(thread->kfpu_flags, mask);
189 struct thread_struct *thread = ¤t->thread;
192 mask = __atomic_or(flags, &thread->kfpu_flags);
194 uflags = READ_ONCE(thread->ufpu_flags);
196 __save_user_fpu_regs(thread, ~uflags & flags);
208 WRITE_ONCE(current->thread.kfpu_flags, mask);
247 static inline void save_kernel_fpu_regs(struct thread_struct *thread)
249 if (!thread->kfpu_flags)
251 save_fpu_state(&thread->kfpu, thread->kfpu_flags);
254 static inline void restore_kernel_fpu_regs(struct thread_struct *thread)
256 if (!thread->kfpu_flags)
258 load_fpu_state(&thread->kfpu, thread->kfpu_flags);