Lines Matching refs:fxsave

82 		return membuf_write(&to, &fpu->fpstate->regs.fxsave,  in xfpregs_get()
83 sizeof(fpu->fpstate->regs.fxsave)); in xfpregs_get()
116 memcpy(&fpu->fpstate->regs.fxsave, &newstate, sizeof(newstate)); in xfpregs_set()
119 BUILD_BUG_ON(sizeof(fpu->__fpstate.regs.fxsave.xmm_space) != 16 * 16); in xfpregs_set()
121 memset(&fpu->fpstate->regs.fxsave.xmm_space[8*4], 0, 8 * 16); in xfpregs_set()
286 static inline u32 twd_fxsr_to_i387(struct fxregs_state *fxsave) in twd_fxsr_to_i387() argument
289 u32 tos = (fxsave->swd >> 11) & 7; in twd_fxsr_to_i387()
290 u32 twd = (unsigned long) fxsave->twd; in twd_fxsr_to_i387()
297 st = FPREG_ADDR(fxsave, (i - tos) & 7); in twd_fxsr_to_i387()
333 struct fxregs_state *fxsave) in __convert_from_fxsr() argument
336 struct _fpxreg *from = (struct _fpxreg *) &fxsave->st_space[0]; in __convert_from_fxsr()
339 env->cwd = fxsave->cwd | 0xffff0000u; in __convert_from_fxsr()
340 env->swd = fxsave->swd | 0xffff0000u; in __convert_from_fxsr()
341 env->twd = twd_fxsr_to_i387(fxsave); in __convert_from_fxsr()
344 env->fip = fxsave->rip; in __convert_from_fxsr()
345 env->foo = fxsave->rdp; in __convert_from_fxsr()
358 env->fip = fxsave->fip; in __convert_from_fxsr()
359 env->fcs = (u16) fxsave->fcs | ((u32) fxsave->fop << 16); in __convert_from_fxsr()
360 env->foo = fxsave->foo; in __convert_from_fxsr()
361 env->fos = fxsave->fos; in __convert_from_fxsr()
371 __convert_from_fxsr(env, tsk, &x86_task_fpu(tsk)->fpstate->regs.fxsave); in convert_from_fxsr()
374 void convert_to_fxsr(struct fxregs_state *fxsave, in convert_to_fxsr() argument
379 struct _fpxreg *to = (struct _fpxreg *) &fxsave->st_space[0]; in convert_to_fxsr()
382 fxsave->cwd = env->cwd; in convert_to_fxsr()
383 fxsave->swd = env->swd; in convert_to_fxsr()
384 fxsave->twd = twd_i387_to_fxsr(env->twd); in convert_to_fxsr()
385 fxsave->fop = (u16) ((u32) env->fcs >> 16); in convert_to_fxsr()
387 fxsave->rip = env->fip; in convert_to_fxsr()
388 fxsave->rdp = env->foo; in convert_to_fxsr()
391 fxsave->fip = env->fip; in convert_to_fxsr()
392 fxsave->fcs = (env->fcs & 0xffff); in convert_to_fxsr()
393 fxsave->foo = env->foo; in convert_to_fxsr()
394 fxsave->fos = env->fos; in convert_to_fxsr()
406 struct fxregs_state fxsave, *fx; in fpregs_get() local
419 struct membuf mb = { .p = &fxsave, .left = sizeof(fxsave) }; in fpregs_get()
423 fx = &fxsave; in fpregs_get()
425 fx = &fpu->fpstate->regs.fxsave; in fpregs_get()
454 convert_to_fxsr(&fpu->fpstate->regs.fxsave, &env); in fpregs_set()