Home
last modified time | relevance | path

Searched refs:fpstate (Results 1 – 22 of 22) sorted by relevance

/linux/arch/x86/kernel/fpu/
H A Dcore.c47 struct fpstate init_fpstate __ro_after_init;
123 if (fpu->fpstate->regs.xsave.header.xfeatures & AVX512_TRACKING_MASK) in update_avx_timestamp()
128 * Save the FPU register state in fpu->fpstate->regs. The register state is
144 os_xsave(fpu->fpstate); in save_fpregs_to_fpstate()
150 fxsave(&fpu->fpstate->regs.fxsave); in save_fpregs_to_fpstate()
158 asm volatile("fnsave %[fp]; fwait" : [fp] "=m" (fpu->fpstate->regs.fsave)); in save_fpregs_to_fpstate()
159 frstor(&fpu->fpstate->regs.fsave); in save_fpregs_to_fpstate()
162 void restore_fpregs_from_fpstate(struct fpstate *fpstate, u64 mask) in restore_fpregs_from_fpstate() argument
175 : : [addr] "m" (*fpstate)); in restore_fpregs_from_fpstate()
244 struct fpstate *fpstate; fpu_alloc_guest_fpstate() local
284 struct fpstate *fpstate = gfpu->fpstate; fpu_free_guest_fpstate() local
322 struct fpstate *fpstate = guest_fpu->fpstate; fpu_update_guest_xfd() local
363 struct fpstate *fpstate = x86_task_fpu(current)->fpstate; fpu_sync_guest_vmexit_xfd_state() local
537 fpstate_init_fxstate(struct fpstate * fpstate) fpstate_init_fxstate() argument
546 fpstate_init_fstate(struct fpstate * fpstate) fpstate_init_fstate() argument
559 fpstate_init_user(struct fpstate * fpstate) fpstate_init_user() argument
574 __fpstate_reset(struct fpstate * fpstate) __fpstate_reset() argument
[all...]
H A Dsignal.c32 void __user *fpstate = fxbuf; in check_xstate_in_sigframe() local
41 fx_sw->xstate_size > x86_task_fpu(current)->fpstate->user_size || in check_xstate_in_sigframe()
51 if (__get_user(magic2, (__u32 __user *)(fpstate + fx_sw->xstate_size))) in check_xstate_in_sigframe()
72 struct xregs_state *xsave = &x86_task_fpu(tsk)->fpstate->regs.xsave; in save_fsave_header()
78 fxsave(&x86_task_fpu(tsk)->fpstate->regs.fxsave); in save_fsave_header()
106 struct fpstate *fpstate) in save_sw_bytes() argument
109 sw_bytes->extended_size = fpstate->user_size + FP_XSTATE_MAGIC2_SIZE; in save_sw_bytes()
110 sw_bytes->xfeatures = fpstate->user_xfeatures; in save_sw_bytes()
111 sw_bytes->xstate_size = fpstate->user_size; in save_sw_bytes()
118 struct fpstate *fpstate) in save_xstate_epilog() argument
[all …]
/linux/arch/m68k/kernel/
H A Dsignal.c335 unsigned char fpstate[FPCONTEXT_SIZE]; in rt_restore_fpu_state() local
352 if (__get_user(*(long *)fpstate, (long __user *)&uc->uc_fpstate)) in rt_restore_fpu_state()
354 if (CPU_IS_060 ? fpstate[2] : fpstate[0]) { in rt_restore_fpu_state()
356 context_size = fpstate[1]; in rt_restore_fpu_state()
359 (fpstate[0] != fpu_version)) in rt_restore_fpu_state()
374 if (!(fpstate[3] == 0x00 || in rt_restore_fpu_state()
375 fpstate[3] == 0x60 || in rt_restore_fpu_state()
376 fpstate[3] == 0xe0)) in rt_restore_fpu_state()
379 if (!(fpstate[3] == 0x00 || in rt_restore_fpu_state()
380 fpstate[3] == 0x05 || in rt_restore_fpu_state()
[all …]
H A Dprocess.c185 asm volatile ("fsave %0" : : "m" (p->thread.fpstate[0]) : "memory"); in copy_thread()
187 if (!CPU_IS_060 ? p->thread.fpstate[0] : p->thread.fpstate[2]) { in copy_thread()
210 asm volatile ("frestore %0" : : "m" (p->thread.fpstate[0])); in copy_thread()
H A Dasm-offsets.c40 DEFINE(THREAD_FPSTATE, offsetof(struct thread_struct, fpstate)); in main()
/linux/arch/x86/include/asm/fpu/
H A Dtypes.h377 struct fpstate { struct
499 struct fpstate *fpstate; member
507 struct fpstate *__task_fpstate;
531 struct fpstate __fpstate;
561 struct fpstate *fpstate; member
H A Dsignal.h36 extern void restore_fpregs_from_fpstate(struct fpstate *fpstate, u64 mask);
/linux/arch/x86/um/
H A Dsignal.c24 struct _fpstate_64 fpstate; member
85 from_fp64 = ((void __user *)sc.fpstate) + in copy_sc_from_user()
88 from_fp64 = (void __user *)sc.fpstate; in copy_sc_from_user()
101 (void __user *)sc.fpstate); in copy_sc_from_user()
158 sc.fpstate = (unsigned long)to_fp; in copy_sc_to_user()
172 __put_user(X86_FXSR_MAGIC, &to_fp->fpstate.magic); in copy_sc_to_user()
193 if (host_fp_size <= sizeof(to_fp64->fpstate)) in copy_sc_to_user()
200 &to_fp64->fpstate.sw_reserved.extended_size); in copy_sc_to_user()
203 &to_fp64->fpstate.sw_reserved.extended_size); in copy_sc_to_user()
205 __put_user(host_fp_size, &to_fp64->fpstate.sw_reserved.xstate_size); in copy_sc_to_user()
[all …]
/linux/arch/x86/include/uapi/asm/
H A Dsigcontext.h193 struct _fpstate fpstate; member
230 __u32 fpstate; /* Zero when no FPU/extended context */ member
273 __u64 fpstate; /* Zero when no FPU/extended context */ member
320 struct _fpstate __user *fpstate; member
380 struct _fpstate __user *fpstate; /* Zero when no FPU context */ member
/linux/tools/testing/selftests/x86/
H A Dcorrupt_xstate_header.c36 uint8_t *fpstate = (uint8_t *)uc->uc_mcontext.fpregs; in sigusr1() local
37 uint64_t *xfeatures = (uint64_t *)(fpstate + 512); in sigusr1()
/linux/arch/x86/include/asm/trace/
H A Dfpu.h25 __entry->xfeatures = fpu->fpstate->regs.xsave.header.xfeatures;
26 __entry->xcomp_bv = fpu->fpstate->regs.xsave.header.xcomp_bv;
/linux/arch/x86/kernel/
H A Dsignal_64.c95 return fpu__restore_sig((void __user *)sc.fpstate, 0); in restore_sigcontext()
99 __unsafe_setup_sigcontext(struct sigcontext __user *sc, void __user *fpstate, in __unsafe_setup_sigcontext() argument
128 unsafe_put_user(fpstate, (unsigned long __user *)&sc->fpstate, Efault); in __unsafe_setup_sigcontext()
/linux/arch/x86/include/asm/
H A Dsighandling.h20 void __user **fpstate);
/linux/arch/arm/kernel/
H A Dptrace.c301 return copy_to_user(ufp, &thread->fpstate.iwmmxt, IWMMXT_SIZE) in ptrace_getwmmxregs()
315 return copy_from_user(&thread->fpstate.iwmmxt, ufp, IWMMXT_SIZE) in ptrace_setwmmxregs()
576 return membuf_write(&to, &task_thread_info(target)->fpstate, in fpa_get()
588 &thread->fpstate, in fpa_set()
H A Dasm-offsets.c55 DEFINE(TI_FPSTATE, offsetof(struct thread_info, fpstate)); in main()
67 DEFINE(TI_IWMMXT_STATE, offsetof(struct thread_info, fpstate.iwmmxt)); in main()
H A Dprocess.c226 memset(&thread->fpstate, 0, sizeof(union fp_state)); in flush_thread()
/linux/arch/arm/nwfpe/
H A Dfpa11.h13 #define GET_FPA11() ((FPA11 *)(&current_thread_info()->fpstate))
H A Dfpmodule.c53 nwfpe_init_fpa(&thread->fpstate); in nwfpe_notify()
/linux/arch/arm/include/asm/
H A Dthread_info.h71 union fp_state fpstate __attribute__((aligned(8))); member
/linux/arch/x86/kvm/
H A Dx86.c3857 KVM_BUG_ON(!vcpu->arch.guest_fpu.fpstate->in_use, vcpu->kvm); in is_xstate_managed_msr()
4613 msr_info->data = vcpu->arch.guest_fpu.fpstate->xfd; in kvm_get_msr_common()
5836 xstate->xsave.header.xfeatures &= ~vcpu->arch.guest_fpu.fpstate->xfd; in kvm_vcpu_ioctl_x86_get_xsave2()
11908 if (KVM_BUG_ON(vcpu->arch.guest_fpu.fpstate->in_use, vcpu->kvm))
11919 if (KVM_BUG_ON(!vcpu->arch.guest_fpu.fpstate->in_use, vcpu->kvm))
12652 fxsave = &vcpu->arch.guest_fpu.fpstate->regs.fxsave; in kvm_arch_vcpu_ioctl_set_guest_debug()
12675 fxsave = &vcpu->arch.guest_fpu.fpstate->regs.fxsave; in kvm_arch_vcpu_ioctl_set_guest_debug()
12919 struct fpstate *fpstate = vcpu->arch.guest_fpu.fpstate; in kvm_arch_vcpu_create()
12982 struct fpstate *fpstate = vcpu->arch.guest_fpu.fpstate; kvm_xstate_reset() local
[all...]
/linux/arch/x86/kvm/svm/
H A Dsev.c1027 xsave = &vcpu->arch.guest_fpu.fpstate->regs.xsave; in __sev_launch_update_vmsa()
1101 * Mark vcpu->arch.guest_fpu->fpstate as scratch so it won't in sev_launch_measure()
/linux/arch/x86/kvm/vmx/
H A Dvmx.c5365 return vcpu->arch.guest_fpu.fpstate->xfd && in vmx_handle_page_fault()