fxsave 153 arch/x86/include/asm/fpu/internal.h return user_insn(fxsave %[fx], [fx] "=m" (*fx), "m" (*fx)); fxsave 201 arch/x86/include/asm/fpu/internal.h asm volatile( "fxsave %[fx]" : [fx] "=m" (fpu->state.fxsave)); fxsave 203 arch/x86/include/asm/fpu/internal.h asm volatile("fxsaveq %[fx]" : [fx] "=m" (fpu->state.fxsave)); fxsave 451 arch/x86/include/asm/fpu/internal.h copy_kernel_to_fxregs(&fpstate->fxsave); fxsave 25 arch/x86/include/asm/fpu/signal.h extern void convert_to_fxsr(struct fxregs_state *fxsave, fxsave 270 arch/x86/include/asm/fpu/types.h struct fxregs_state fxsave; fxsave 161 arch/x86/kernel/fpu/core.c fpstate_init_fxstate(&state->fxsave); fxsave 304 arch/x86/kernel/fpu/core.c copy_kernel_to_fxregs(&init_fpstate.fxsave); fxsave 396 arch/x86/kernel/fpu/core.c cwd = fpu->state.fxsave.cwd; fxsave 397 arch/x86/kernel/fpu/core.c swd = fpu->state.fxsave.swd; fxsave 414 arch/x86/kernel/fpu/core.c mxcsr = fpu->state.fxsave.mxcsr; fxsave 42 arch/x86/kernel/fpu/regset.c &fpu->state.fxsave, 0, -1); fxsave 59 arch/x86/kernel/fpu/regset.c &fpu->state.fxsave, 0, -1); fxsave 64 arch/x86/kernel/fpu/regset.c fpu->state.fxsave.mxcsr &= mxcsr_feature_mask; fxsave 186 arch/x86/kernel/fpu/regset.c static inline u32 twd_fxsr_to_i387(struct fxregs_state *fxsave) fxsave 189 arch/x86/kernel/fpu/regset.c u32 tos = (fxsave->swd >> 11) & 7; fxsave 190 arch/x86/kernel/fpu/regset.c u32 twd = (unsigned long) fxsave->twd; fxsave 197 arch/x86/kernel/fpu/regset.c st = FPREG_ADDR(fxsave, (i - tos) & 7); fxsave 234 arch/x86/kernel/fpu/regset.c struct fxregs_state *fxsave = &tsk->thread.fpu.state.fxsave; fxsave 236 arch/x86/kernel/fpu/regset.c struct _fpxreg *from = (struct _fpxreg *) &fxsave->st_space[0]; fxsave 239 arch/x86/kernel/fpu/regset.c env->cwd = fxsave->cwd | 0xffff0000u; fxsave 240 arch/x86/kernel/fpu/regset.c env->swd = fxsave->swd | 0xffff0000u; fxsave 241 arch/x86/kernel/fpu/regset.c env->twd = twd_fxsr_to_i387(fxsave); fxsave 244 arch/x86/kernel/fpu/regset.c env->fip = fxsave->rip; fxsave 245 arch/x86/kernel/fpu/regset.c env->foo = fxsave->rdp; fxsave 258 arch/x86/kernel/fpu/regset.c env->fip = fxsave->fip; fxsave 259 arch/x86/kernel/fpu/regset.c env->fcs = (u16) fxsave->fcs | ((u32) fxsave->fop << 16); fxsave 260 arch/x86/kernel/fpu/regset.c env->foo = fxsave->foo; fxsave 261 arch/x86/kernel/fpu/regset.c env->fos = fxsave->fos; fxsave 268 arch/x86/kernel/fpu/regset.c void convert_to_fxsr(struct fxregs_state *fxsave, fxsave 273 arch/x86/kernel/fpu/regset.c struct _fpxreg *to = (struct _fpxreg *) &fxsave->st_space[0]; fxsave 276 arch/x86/kernel/fpu/regset.c fxsave->cwd = env->cwd; fxsave 277 arch/x86/kernel/fpu/regset.c fxsave->swd = env->swd; fxsave 278 arch/x86/kernel/fpu/regset.c fxsave->twd = twd_i387_to_fxsr(env->twd); fxsave 279 arch/x86/kernel/fpu/regset.c fxsave->fop = (u16) ((u32) env->fcs >> 16); fxsave 281 arch/x86/kernel/fpu/regset.c fxsave->rip = env->fip; fxsave 282 arch/x86/kernel/fpu/regset.c fxsave->rdp = env->foo; fxsave 285 arch/x86/kernel/fpu/regset.c fxsave->fip = env->fip; fxsave 286 arch/x86/kernel/fpu/regset.c fxsave->fcs = (env->fcs & 0xffff); fxsave 287 arch/x86/kernel/fpu/regset.c fxsave->foo = env->foo; fxsave 288 arch/x86/kernel/fpu/regset.c fxsave->fos = env->fos; fxsave 348 arch/x86/kernel/fpu/regset.c convert_to_fxsr(&target->thread.fpu.state.fxsave, &env); fxsave 246 arch/x86/kernel/fpu/signal.c convert_to_fxsr(&state->fxsave, ia32_env); fxsave 382 arch/x86/kernel/fpu/signal.c ret = __copy_from_user(&fpu->state.fxsave, buf_fx, state_size); fxsave 396 arch/x86/kernel/fpu/signal.c ret = copy_kernel_to_fxregs_err(&fpu->state.fxsave); fxsave 148 arch/x86/kernel/fpu/xstate.c struct fxregs_state *fx = &fpu->state.fxsave; fxsave 4042 arch/x86/kvm/x86.c &vcpu->arch.guest_fpu->state.fxsave, fxsave 4072 arch/x86/kvm/x86.c memcpy(&vcpu->arch.guest_fpu->state.fxsave, fxsave 9046 arch/x86/kvm/x86.c struct fxregs_state *fxsave; fxsave 9050 arch/x86/kvm/x86.c fxsave = &vcpu->arch.guest_fpu->state.fxsave; fxsave 9051 arch/x86/kvm/x86.c memcpy(fpu->fpr, fxsave->st_space, 128); fxsave 9052 arch/x86/kvm/x86.c fpu->fcw = fxsave->cwd; fxsave 9053 arch/x86/kvm/x86.c fpu->fsw = fxsave->swd; fxsave 9054 arch/x86/kvm/x86.c fpu->ftwx = fxsave->twd; fxsave 9055 arch/x86/kvm/x86.c fpu->last_opcode = fxsave->fop; fxsave 9056 arch/x86/kvm/x86.c fpu->last_ip = fxsave->rip; fxsave 9057 arch/x86/kvm/x86.c fpu->last_dp = fxsave->rdp; fxsave 9058 arch/x86/kvm/x86.c memcpy(fpu->xmm, fxsave->xmm_space, sizeof(fxsave->xmm_space)); fxsave 9066 arch/x86/kvm/x86.c struct fxregs_state *fxsave; fxsave 9070 arch/x86/kvm/x86.c fxsave = &vcpu->arch.guest_fpu->state.fxsave; fxsave 9072 arch/x86/kvm/x86.c memcpy(fxsave->st_space, fpu->fpr, 128); fxsave 9073 arch/x86/kvm/x86.c fxsave->cwd = fpu->fcw; fxsave 9074 arch/x86/kvm/x86.c fxsave->swd = fpu->fsw; fxsave 9075 arch/x86/kvm/x86.c fxsave->twd = fpu->ftwx; fxsave 9076 arch/x86/kvm/x86.c fxsave->fop = fpu->last_opcode; fxsave 9077 arch/x86/kvm/x86.c fxsave->rip = fpu->last_ip; fxsave 9078 arch/x86/kvm/x86.c fxsave->rdp = fpu->last_dp; fxsave 9079 arch/x86/kvm/x86.c memcpy(fxsave->xmm_space, fpu->xmm, sizeof(fxsave->xmm_space)); fxsave 37 arch/x86/um/signal.c static inline unsigned long twd_fxsr_to_i387(struct user_fxsr_struct *fxsave) fxsave 40 arch/x86/um/signal.c unsigned long twd = (unsigned long) fxsave->twd; fxsave 49 arch/x86/um/signal.c st = (struct _fpxreg *) FPREG_ADDR(fxsave, i); fxsave 83 arch/x86/um/signal.c struct user_fxsr_struct *fxsave) fxsave 90 arch/x86/um/signal.c env[0] = (unsigned long)fxsave->cwd | 0xffff0000ul; fxsave 91 arch/x86/um/signal.c env[1] = (unsigned long)fxsave->swd | 0xffff0000ul; fxsave 92 arch/x86/um/signal.c env[2] = twd_fxsr_to_i387(fxsave); fxsave 93 arch/x86/um/signal.c env[3] = fxsave->fip; fxsave 94 arch/x86/um/signal.c env[4] = fxsave->fcs | ((unsigned long)fxsave->fop << 16); fxsave 95 arch/x86/um/signal.c env[5] = fxsave->foo; fxsave 96 arch/x86/um/signal.c env[6] = fxsave->fos; fxsave 102 arch/x86/um/signal.c from = (struct _fpxreg *) &fxsave->st_space[0]; fxsave 115 arch/x86/um/signal.c static int convert_fxsr_from_user(struct user_fxsr_struct *fxsave, fxsave 126 arch/x86/um/signal.c fxsave->cwd = (unsigned short)(env[0] & 0xffff); fxsave 127 arch/x86/um/signal.c fxsave->swd = (unsigned short)(env[1] & 0xffff); fxsave 128 arch/x86/um/signal.c fxsave->twd = twd_i387_to_fxsr((unsigned short)(env[2] & 0xffff)); fxsave 129 arch/x86/um/signal.c fxsave->fip = env[3]; fxsave 130 arch/x86/um/signal.c fxsave->fop = (unsigned short)((env[4] & 0xffff0000ul) >> 16); fxsave 131 arch/x86/um/signal.c fxsave->fcs = (env[4] & 0xffff); fxsave 132 arch/x86/um/signal.c fxsave->foo = env[5]; fxsave 133 arch/x86/um/signal.c fxsave->fos = env[6]; fxsave 135 arch/x86/um/signal.c to = (struct _fpxreg *) &fxsave->st_space[0];