Lines Matching refs:fpu
44 DEFINE_PER_CPU(struct fpu *, fpu_fpregs_owner_ctx);
101 copy_fpregs_to_fpstate(¤t->thread.fpu); in kernel_fpu_begin()
121 void fpu__save(struct fpu *fpu) in fpu__save() argument
123 WARN_ON_FPU(fpu != ¤t->thread.fpu); in fpu__save()
126 trace_x86_fpu_before_save(fpu); in fpu__save()
129 if (!copy_fpregs_to_fpstate(fpu)) { in fpu__save()
130 copy_kernel_to_fpregs(&fpu->state); in fpu__save()
134 trace_x86_fpu_after_save(fpu); in fpu__save()
169 struct fpu *dst_fpu = &dst->thread.fpu; in fpu__copy()
170 struct fpu *src_fpu = &src->thread.fpu; in fpu__copy()
177 WARN_ON_FPU(src_fpu != ¤t->thread.fpu); in fpu__copy()
214 static void fpu__initialize(struct fpu *fpu) in fpu__initialize() argument
216 WARN_ON_FPU(fpu != ¤t->thread.fpu); in fpu__initialize()
219 fpstate_init(&fpu->state); in fpu__initialize()
220 trace_x86_fpu_init_state(fpu); in fpu__initialize()
237 void fpu__prepare_read(struct fpu *fpu) in fpu__prepare_read() argument
239 if (fpu == ¤t->thread.fpu) in fpu__prepare_read()
240 fpu__save(fpu); in fpu__prepare_read()
255 void fpu__prepare_write(struct fpu *fpu) in fpu__prepare_write() argument
261 WARN_ON_FPU(fpu == ¤t->thread.fpu); in fpu__prepare_write()
264 __fpu_invalidate_fpregs_state(fpu); in fpu__prepare_write()
276 void fpu__drop(struct fpu *fpu) in fpu__drop() argument
280 if (fpu == ¤t->thread.fpu) { in fpu__drop()
285 fpregs_deactivate(fpu); in fpu__drop()
288 trace_x86_fpu_dropped(fpu); in fpu__drop()
321 void fpu__clear(struct fpu *fpu) in fpu__clear() argument
323 WARN_ON_FPU(fpu != ¤t->thread.fpu); /* Almost certainly an anomaly */ in fpu__clear()
325 fpu__drop(fpu); in fpu__clear()
330 fpu__initialize(fpu); in fpu__clear()
355 struct fpu *fpu = ¤t->thread.fpu; in fpregs_assert_state_consistent() local
360 WARN_ON_FPU(!fpregs_state_valid(fpu, smp_processor_id())); in fpregs_assert_state_consistent()
367 struct fpu *fpu = ¤t->thread.fpu; in fpregs_mark_activate() local
369 fpregs_activate(fpu); in fpregs_mark_activate()
370 fpu->last_cpu = smp_processor_id(); in fpregs_mark_activate()
379 int fpu__exception_code(struct fpu *fpu, int trap_nr) in fpu__exception_code() argument
396 cwd = fpu->state.fxsave.cwd; in fpu__exception_code()
397 swd = fpu->state.fxsave.swd; in fpu__exception_code()
399 cwd = (unsigned short)fpu->state.fsave.cwd; in fpu__exception_code()
400 swd = (unsigned short)fpu->state.fsave.swd; in fpu__exception_code()
414 mxcsr = fpu->state.fxsave.mxcsr; in fpu__exception_code()