Lines Matching refs:fxsave
40 return membuf_write(&to, &fpu->state.fxsave, sizeof(struct fxregs_state)); in xfpregs_get()
57 &fpu->state.fxsave, 0, -1); in xfpregs_set()
62 fpu->state.fxsave.mxcsr &= mxcsr_feature_mask; in xfpregs_set()
179 static inline u32 twd_fxsr_to_i387(struct fxregs_state *fxsave) in twd_fxsr_to_i387() argument
182 u32 tos = (fxsave->swd >> 11) & 7; in twd_fxsr_to_i387()
183 u32 twd = (unsigned long) fxsave->twd; in twd_fxsr_to_i387()
190 st = FPREG_ADDR(fxsave, (i - tos) & 7); in twd_fxsr_to_i387()
227 struct fxregs_state *fxsave = &tsk->thread.fpu.state.fxsave; in convert_from_fxsr() local
229 struct _fpxreg *from = (struct _fpxreg *) &fxsave->st_space[0]; in convert_from_fxsr()
232 env->cwd = fxsave->cwd | 0xffff0000u; in convert_from_fxsr()
233 env->swd = fxsave->swd | 0xffff0000u; in convert_from_fxsr()
234 env->twd = twd_fxsr_to_i387(fxsave); in convert_from_fxsr()
237 env->fip = fxsave->rip; in convert_from_fxsr()
238 env->foo = fxsave->rdp; in convert_from_fxsr()
251 env->fip = fxsave->fip; in convert_from_fxsr()
252 env->fcs = (u16) fxsave->fcs | ((u32) fxsave->fop << 16); in convert_from_fxsr()
253 env->foo = fxsave->foo; in convert_from_fxsr()
254 env->fos = fxsave->fos; in convert_from_fxsr()
261 void convert_to_fxsr(struct fxregs_state *fxsave, in convert_to_fxsr() argument
266 struct _fpxreg *to = (struct _fpxreg *) &fxsave->st_space[0]; in convert_to_fxsr()
269 fxsave->cwd = env->cwd; in convert_to_fxsr()
270 fxsave->swd = env->swd; in convert_to_fxsr()
271 fxsave->twd = twd_i387_to_fxsr(env->twd); in convert_to_fxsr()
272 fxsave->fop = (u16) ((u32) env->fcs >> 16); in convert_to_fxsr()
274 fxsave->rip = env->fip; in convert_to_fxsr()
275 fxsave->rdp = env->foo; in convert_to_fxsr()
278 fxsave->fip = env->fip; in convert_to_fxsr()
279 fxsave->fcs = (env->fcs & 0xffff); in convert_to_fxsr()
280 fxsave->foo = env->foo; in convert_to_fxsr()
281 fxsave->fos = env->fos; in convert_to_fxsr()
339 convert_to_fxsr(&target->thread.fpu.state.fxsave, &env); in fpregs_set()