Lines Matching refs:fpu

45 static void sync_fpstate(struct fpu *fpu)  in sync_fpstate()  argument
47 if (fpu == &current->thread.fpu) in sync_fpstate()
48 fpu_sync_fpstate(fpu); in sync_fpstate()
59 static void fpu_force_restore(struct fpu *fpu) in fpu_force_restore() argument
65 WARN_ON_FPU(fpu == &current->thread.fpu); in fpu_force_restore()
67 __fpu_invalidate_fpregs_state(fpu); in fpu_force_restore()
73 struct fpu *fpu = &target->thread.fpu; in xfpregs_get() local
78 sync_fpstate(fpu); in xfpregs_get()
81 return membuf_write(&to, &fpu->fpstate->regs.fxsave, in xfpregs_get()
82 sizeof(fpu->fpstate->regs.fxsave)); in xfpregs_get()
93 struct fpu *fpu = &target->thread.fpu; in xfpregs_set() local
112 fpu_force_restore(fpu); in xfpregs_set()
115 memcpy(&fpu->fpstate->regs.fxsave, &newstate, sizeof(newstate)); in xfpregs_set()
118 BUILD_BUG_ON(sizeof(fpu->__fpstate.regs.fxsave.xmm_space) != 16 * 16); in xfpregs_set()
120 memset(&fpu->fpstate->regs.fxsave.xmm_space[8*4], 0, 8 * 16); in xfpregs_set()
124 fpu->fpstate->regs.xsave.header.xfeatures |= XFEATURE_MASK_FPSSE; in xfpregs_set()
135 sync_fpstate(&target->thread.fpu); in xstateregs_get()
145 struct fpu *fpu = &target->thread.fpu; in xstateregs_set() local
169 fpu_force_restore(fpu); in xstateregs_set()
170 ret = copy_uabi_from_kernel_to_xstate(fpu->fpstate, kbuf ?: tmpbuf); in xstateregs_set()
289 __convert_from_fxsr(env, tsk, &tsk->thread.fpu.fpstate->regs.fxsave); in convert_from_fxsr()
322 struct fpu *fpu = &target->thread.fpu; in fpregs_get() local
326 sync_fpstate(fpu); in fpregs_get()
332 return membuf_write(&to, &fpu->fpstate->regs.fsave, in fpregs_get()
343 fx = &fpu->fpstate->regs.fxsave; in fpregs_get()
354 struct fpu *fpu = &target->thread.fpu; in fpregs_set() local
369 fpu_force_restore(fpu); in fpregs_set()
372 convert_to_fxsr(&fpu->fpstate->regs.fxsave, &env); in fpregs_set()
374 memcpy(&fpu->fpstate->regs.fsave, &env, sizeof(env)); in fpregs_set()
381 fpu->fpstate->regs.xsave.header.xfeatures |= XFEATURE_MASK_FP; in fpregs_set()