Symbol: fxsave
arch/x86/hyperv/hv_vtl.c
280
fxsave(&vtl0->fx_state);
arch/x86/include/asm/fpu/signal.h
23
extern void convert_to_fxsr(struct fxregs_state *fxsave,
arch/x86/include/asm/fpu/types.h
371
struct fxregs_state fxsave;
arch/x86/kernel/fpu/core.c
150
fxsave(&fpu->fpstate->regs.fxsave);
arch/x86/kernel/fpu/core.c
210
fxrstor(&fpstate->regs.fxsave);
arch/x86/kernel/fpu/core.c
426
memcpy(&ustate->fxsave, &kstate->regs.fxsave,
arch/x86/kernel/fpu/core.c
427
sizeof(ustate->fxsave));
arch/x86/kernel/fpu/core.c
443
if (ustate->fxsave.mxcsr & ~mxcsr_feature_mask)
arch/x86/kernel/fpu/core.c
445
memcpy(&kstate->regs.fxsave, &ustate->fxsave, sizeof(ustate->fxsave));
arch/x86/kernel/fpu/core.c
539
fpstate->regs.fxsave.cwd = 0x37f;
arch/x86/kernel/fpu/core.c
540
fpstate->regs.fxsave.mxcsr = MXCSR_DEFAULT;
arch/x86/kernel/fpu/core.c
797
fxrstor(&init_fpstate.regs.fxsave);
arch/x86/kernel/fpu/core.c
955
cwd = fpu->fpstate->regs.fxsave.cwd;
arch/x86/kernel/fpu/core.c
956
swd = fpu->fpstate->regs.fxsave.swd;
arch/x86/kernel/fpu/core.c
973
mxcsr = fpu->fpstate->regs.fxsave.mxcsr;
arch/x86/kernel/fpu/legacy.h
58
return user_insn(fxsave %[fx], [fx] "=m" (*fx), "m" (*fx));
arch/x86/kernel/fpu/regset.c
116
memcpy(&fpu->fpstate->regs.fxsave, &newstate, sizeof(newstate));
arch/x86/kernel/fpu/regset.c
119
BUILD_BUG_ON(sizeof(fpu->__fpstate.regs.fxsave.xmm_space) != 16 * 16);
arch/x86/kernel/fpu/regset.c
121
memset(&fpu->fpstate->regs.fxsave.xmm_space[8*4], 0, 8 * 16);
arch/x86/kernel/fpu/regset.c
286
static inline u32 twd_fxsr_to_i387(struct fxregs_state *fxsave)
arch/x86/kernel/fpu/regset.c
289
u32 tos = (fxsave->swd >> 11) & 7;
arch/x86/kernel/fpu/regset.c
290
u32 twd = (unsigned long) fxsave->twd;
arch/x86/kernel/fpu/regset.c
297
st = FPREG_ADDR(fxsave, (i - tos) & 7);
arch/x86/kernel/fpu/regset.c
333
struct fxregs_state *fxsave)
arch/x86/kernel/fpu/regset.c
336
struct _fpxreg *from = (struct _fpxreg *) &fxsave->st_space[0];
arch/x86/kernel/fpu/regset.c
339
env->cwd = fxsave->cwd | 0xffff0000u;
arch/x86/kernel/fpu/regset.c
340
env->swd = fxsave->swd | 0xffff0000u;
arch/x86/kernel/fpu/regset.c
341
env->twd = twd_fxsr_to_i387(fxsave);
arch/x86/kernel/fpu/regset.c
344
env->fip = fxsave->rip;
arch/x86/kernel/fpu/regset.c
345
env->foo = fxsave->rdp;
arch/x86/kernel/fpu/regset.c
358
env->fip = fxsave->fip;
arch/x86/kernel/fpu/regset.c
359
env->fcs = (u16) fxsave->fcs | ((u32) fxsave->fop << 16);
arch/x86/kernel/fpu/regset.c
360
env->foo = fxsave->foo;
arch/x86/kernel/fpu/regset.c
361
env->fos = fxsave->fos;
arch/x86/kernel/fpu/regset.c
371
__convert_from_fxsr(env, tsk, &x86_task_fpu(tsk)->fpstate->regs.fxsave);
arch/x86/kernel/fpu/regset.c
374
void convert_to_fxsr(struct fxregs_state *fxsave,
arch/x86/kernel/fpu/regset.c
379
struct _fpxreg *to = (struct _fpxreg *) &fxsave->st_space[0];
arch/x86/kernel/fpu/regset.c
382
fxsave->cwd = env->cwd;
arch/x86/kernel/fpu/regset.c
383
fxsave->swd = env->swd;
arch/x86/kernel/fpu/regset.c
384
fxsave->twd = twd_i387_to_fxsr(env->twd);
arch/x86/kernel/fpu/regset.c
385
fxsave->fop = (u16) ((u32) env->fcs >> 16);
arch/x86/kernel/fpu/regset.c
387
fxsave->rip = env->fip;
arch/x86/kernel/fpu/regset.c
388
fxsave->rdp = env->foo;
arch/x86/kernel/fpu/regset.c
391
fxsave->fip = env->fip;
arch/x86/kernel/fpu/regset.c
392
fxsave->fcs = (env->fcs & 0xffff);
arch/x86/kernel/fpu/regset.c
393
fxsave->foo = env->foo;
arch/x86/kernel/fpu/regset.c
394
fxsave->fos = env->fos;
arch/x86/kernel/fpu/regset.c
406
struct fxregs_state fxsave, *fx;
arch/x86/kernel/fpu/regset.c
419
struct membuf mb = { .p = &fxsave, .left = sizeof(fxsave) };
arch/x86/kernel/fpu/regset.c
423
fx = &fxsave;
arch/x86/kernel/fpu/regset.c
425
fx = &fpu->fpstate->regs.fxsave;
arch/x86/kernel/fpu/regset.c
454
convert_to_fxsr(&fpu->fpstate->regs.fxsave, &env);
arch/x86/kernel/fpu/regset.c
82
return membuf_write(&to, &fpu->fpstate->regs.fxsave,
arch/x86/kernel/fpu/regset.c
83
sizeof(fpu->fpstate->regs.fxsave));
arch/x86/kernel/fpu/signal.c
386
if (__copy_from_user(&fpregs->fxsave, buf_fx,
arch/x86/kernel/fpu/signal.c
387
sizeof(fpregs->fxsave)))
arch/x86/kernel/fpu/signal.c
392
if (fpregs->fxsave.mxcsr & ~mxcsr_feature_mask)
arch/x86/kernel/fpu/signal.c
396
fpregs->fxsave.mxcsr &= mxcsr_feature_mask;
arch/x86/kernel/fpu/signal.c
405
convert_to_fxsr(&fpregs->fxsave, &env);
arch/x86/kernel/fpu/signal.c
424
success = !fxrstor_safe(&fpregs->fxsave);
arch/x86/kernel/fpu/signal.c
73
fxsave(&x86_task_fpu(tsk)->fpstate->regs.fxsave);
arch/x86/kernel/fpu/xstate.c
418
fxsave(&init_fpstate.regs.fxsave);
arch/x86/kvm/x86.c
12606
struct fxregs_state *fxsave;
arch/x86/kvm/x86.c
12613
fxsave = &vcpu->arch.guest_fpu.fpstate->regs.fxsave;
arch/x86/kvm/x86.c
12614
memcpy(fpu->fpr, fxsave->st_space, 128);
arch/x86/kvm/x86.c
12615
fpu->fcw = fxsave->cwd;
arch/x86/kvm/x86.c
12616
fpu->fsw = fxsave->swd;
arch/x86/kvm/x86.c
12617
fpu->ftwx = fxsave->twd;
arch/x86/kvm/x86.c
12618
fpu->last_opcode = fxsave->fop;
arch/x86/kvm/x86.c
12619
fpu->last_ip = fxsave->rip;
arch/x86/kvm/x86.c
12620
fpu->last_dp = fxsave->rdp;
arch/x86/kvm/x86.c
12621
memcpy(fpu->xmm, fxsave->xmm_space, sizeof(fxsave->xmm_space));
arch/x86/kvm/x86.c
12629
struct fxregs_state *fxsave;
arch/x86/kvm/x86.c
12636
fxsave = &vcpu->arch.guest_fpu.fpstate->regs.fxsave;
arch/x86/kvm/x86.c
12638
memcpy(fxsave->st_space, fpu->fpr, 128);
arch/x86/kvm/x86.c
12639
fxsave->cwd = fpu->fcw;
arch/x86/kvm/x86.c
12640
fxsave->swd = fpu->fsw;
arch/x86/kvm/x86.c
12641
fxsave->twd = fpu->ftwx;
arch/x86/kvm/x86.c
12642
fxsave->fop = fpu->last_opcode;
arch/x86/kvm/x86.c
12643
fxsave->rip = fpu->last_ip;
arch/x86/kvm/x86.c
12644
fxsave->rdp = fpu->last_dp;
arch/x86/kvm/x86.c
12645
memcpy(fxsave->xmm_space, fpu->xmm, sizeof(fxsave->xmm_space));
arch/x86/um/os-Linux/mcontext.c
97
const struct _fpstate_64 *fxsave);
arch/x86/um/os-Linux/mcontext.c
98
int um_fxsr_from_i387(struct _fpstate_64 *fxsave,
arch/x86/um/ptrace.c
100
const struct user_fxsr_struct *fxsave);
arch/x86/um/ptrace.c
103
const struct user_fxsr_struct *fxsave)
arch/x86/um/ptrace.c
110
return _um_i387_from_fxsr(to, fxsave);
arch/x86/um/ptrace.c
117
struct user_fxsr_struct *fxsave = (void *)target->thread.regs.regs.fp;
arch/x86/um/ptrace.c
119
return _um_i387_from_fxsr(to, fxsave);
arch/x86/um/ptrace.c
122
int um_fxsr_from_i387(struct user_fxsr_struct *fxsave,
arch/x86/um/ptrace.c
125
int um_fxsr_from_i387(struct user_fxsr_struct *fxsave,
arch/x86/um/ptrace.c
130
fxsave->cwd = (unsigned short)(from->cwd & 0xffff);
arch/x86/um/ptrace.c
131
fxsave->swd = (unsigned short)(from->swd & 0xffff);
arch/x86/um/ptrace.c
132
fxsave->twd = twd_i387_to_fxsr((unsigned short)(from->twd & 0xffff));
arch/x86/um/ptrace.c
133
fxsave->fip = from->fip;
arch/x86/um/ptrace.c
134
fxsave->fop = (unsigned short)((from->fcs & 0xffff0000ul) >> 16);
arch/x86/um/ptrace.c
135
fxsave->fcs = (from->fcs & 0xffff);
arch/x86/um/ptrace.c
136
fxsave->foo = from->foo;
arch/x86/um/ptrace.c
137
fxsave->fos = from->fos;
arch/x86/um/ptrace.c
140
memcpy((void *)fxsave->st_space + i * 16,
arch/x86/um/ptrace.c
152
struct user_fxsr_struct *fxsave = (void *)target->thread.regs.regs.fp;
arch/x86/um/ptrace.c
164
return um_fxsr_from_i387(fxsave, from);
arch/x86/um/ptrace.c
29
twd_fxsr_to_i387(const struct user_fxsr_struct *fxsave)
arch/x86/um/ptrace.c
32
unsigned long twd = (unsigned long) fxsave->twd;
arch/x86/um/ptrace.c
41
st = (struct _fpxreg *) FPREG_ADDR(fxsave, i);
arch/x86/um/ptrace.c
81
const struct user_fxsr_struct *fxsave)
arch/x86/um/ptrace.c
85
membuf_store(&to, (unsigned long)fxsave->cwd | 0xffff0000ul);
arch/x86/um/ptrace.c
86
membuf_store(&to, (unsigned long)fxsave->swd | 0xffff0000ul);
arch/x86/um/ptrace.c
87
membuf_store(&to, twd_fxsr_to_i387(fxsave));
arch/x86/um/ptrace.c
88
membuf_store(&to, fxsave->fip);
arch/x86/um/ptrace.c
89
membuf_store(&to, fxsave->fcs | ((unsigned long)fxsave->fop << 16));
arch/x86/um/ptrace.c
90
membuf_store(&to, fxsave->foo);
arch/x86/um/ptrace.c
91
membuf_store(&to, fxsave->fos);
arch/x86/um/ptrace.c
94
membuf_write(&to, (void *)fxsave->st_space + i * 16, 10);