| /linux/arch/x86/um/ |
| H A D | ptrace.c | 29 twd_fxsr_to_i387(const struct user_fxsr_struct *fxsave) in twd_fxsr_to_i387() argument 32 unsigned long twd = (unsigned long) fxsave->twd; in twd_fxsr_to_i387() 41 st = (struct _fpxreg *) FPREG_ADDR(fxsave, i); in twd_fxsr_to_i387() 81 const struct user_fxsr_struct *fxsave) in _um_i387_from_fxsr() argument 85 membuf_store(&to, (unsigned long)fxsave->cwd | 0xffff0000ul); in _um_i387_from_fxsr() 86 membuf_store(&to, (unsigned long)fxsave->swd | 0xffff0000ul); in _um_i387_from_fxsr() 87 membuf_store(&to, twd_fxsr_to_i387(fxsave)); in _um_i387_from_fxsr() 88 membuf_store(&to, fxsave->fip); in _um_i387_from_fxsr() 89 membuf_store(&to, fxsave->fcs | ((unsigned long)fxsave->fop << 16)); in _um_i387_from_fxsr() 90 membuf_store(&to, fxsave->foo); in _um_i387_from_fxsr() [all …]
|
| /linux/arch/x86/kernel/fpu/ |
| H A D | regset.c | 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 [all …]
|
| H A D | core.c | 150 fxsave(&fpu->fpstate->regs.fxsave); in save_fpregs_to_fpstate() 210 fxrstor(&fpstate->regs.fxsave); in restore_fpregs_from_fpstate() 426 memcpy(&ustate->fxsave, &kstate->regs.fxsave, in fpu_copy_guest_fpstate_to_uabi() 427 sizeof(ustate->fxsave)); in fpu_copy_guest_fpstate_to_uabi() 443 if (ustate->fxsave.mxcsr & ~mxcsr_feature_mask) in fpu_copy_uabi_to_guest_fpstate() 445 memcpy(&kstate->regs.fxsave, &ustate->fxsave, sizeof(ustate->fxsave)); in fpu_copy_uabi_to_guest_fpstate() 539 fpstate->regs.fxsave.cwd = 0x37f; in fpstate_init_fxstate() 540 fpstate->regs.fxsave.mxcsr = MXCSR_DEFAULT; in fpstate_init_fxstate() 797 fxrstor(&init_fpstate.regs.fxsave); in restore_fpregs_from_init_fpstate() 955 cwd = fpu->fpstate->regs.fxsave.cwd; in fpu__exception_code() [all …]
|
| H A D | signal.c | 73 fxsave(&x86_task_fpu(tsk)->fpstate->regs.fxsave); in save_fsave_header() 386 if (__copy_from_user(&fpregs->fxsave, buf_fx, in __fpu_restore_sig() 387 sizeof(fpregs->fxsave))) in __fpu_restore_sig() 392 if (fpregs->fxsave.mxcsr & ~mxcsr_feature_mask) in __fpu_restore_sig() 396 fpregs->fxsave.mxcsr &= mxcsr_feature_mask; in __fpu_restore_sig() 405 convert_to_fxsr(&fpregs->fxsave, &env); in __fpu_restore_sig() 424 success = !fxrstor_safe(&fpregs->fxsave); in __fpu_restore_sig()
|
| H A D | legacy.h | 58 return user_insn(fxsave %[fx], [fx] "=m" (*fx), "m" (*fx)); in fxsave_to_user_sigframe() 103 static inline void fxsave(struct fxregs_state *fx) in fxsave() function
|
| H A D | xstate.c | 418 fxsave(&init_fpstate.regs.fxsave); in setup_init_fpu_buf()
|
| /linux/arch/x86/include/asm/fpu/ |
| H A D | signal.h | 23 extern void convert_to_fxsr(struct fxregs_state *fxsave,
|
| H A D | types.h | 371 struct fxregs_state fxsave; member
|
| /linux/arch/x86/um/os-Linux/ |
| H A D | mcontext.c | 97 const struct _fpstate_64 *fxsave); 98 int um_fxsr_from_i387(struct _fpstate_64 *fxsave,
|
| /linux/arch/x86/hyperv/ |
| H A D | hv_vtl.c | 280 fxsave(&vtl0->fx_state); in mshv_vtl_return_call()
|
| /linux/arch/x86/kvm/ |
| H A D | x86.c | 12606 struct fxregs_state *fxsave; in kvm_arch_vcpu_ioctl_get_fpu() local 12613 fxsave = &vcpu->arch.guest_fpu.fpstate->regs.fxsave; in kvm_arch_vcpu_ioctl_get_fpu() 12614 memcpy(fpu->fpr, fxsave->st_space, 128); in kvm_arch_vcpu_ioctl_get_fpu() 12615 fpu->fcw = fxsave->cwd; in kvm_arch_vcpu_ioctl_get_fpu() 12616 fpu->fsw = fxsave->swd; in kvm_arch_vcpu_ioctl_get_fpu() 12617 fpu->ftwx = fxsave->twd; in kvm_arch_vcpu_ioctl_get_fpu() 12618 fpu->last_opcode = fxsave->fop; in kvm_arch_vcpu_ioctl_get_fpu() 12619 fpu->last_ip = fxsave->rip; in kvm_arch_vcpu_ioctl_get_fpu() 12620 fpu->last_dp = fxsave->rdp; in kvm_arch_vcpu_ioctl_get_fpu() 12621 memcpy(fpu->xmm, fxsave->xmm_space, sizeof(fxsave->xmm_space)); in kvm_arch_vcpu_ioctl_get_fpu() [all …]
|
| /linux/arch/x86/lib/ |
| H A D | x86-opcode-map.txt | 1339 0: fxsave | RDFSBASE Ry (F3),(11B)
|
| /linux/tools/arch/x86/lib/ |
| H A D | x86-opcode-map.txt | 1339 0: fxsave | RDFSBASE Ry (F3),(11B)
|
| /linux/Documentation/virt/kvm/ |
| H A D | api.rst | 789 __u8 ftwx; /* in fxsave format */ 827 __u8 ftwx; /* in fxsave format */
|