| /arch/x86/kernel/fpu/ |
| A D | core.c | 221 static void __fpstate_reset(struct fpstate *fpstate); 243 struct fpstate *fpstate; in fpu_alloc_guest_fpstate() local 259 gfpu->fpstate = fpstate; in fpu_alloc_guest_fpstate() 283 struct fpstate *fpstate = gfpu->fpstate; in fpu_free_guest_fpstate() local 288 if (WARN_ON_ONCE(!fpstate->is_valloc || !fpstate->is_guest || fpstate->in_use)) in fpu_free_guest_fpstate() 343 struct fpstate *fpstate = x86_task_fpu(current)->fpstate; in fpu_sync_guest_vmexit_xfd_state() local 356 struct fpstate *guest_fps = guest_fpu->fpstate; in fpu_swap_kvm_fpstate() 358 struct fpstate *cur_fps = fpu->fpstate; in fpu_swap_kvm_fpstate() 398 struct fpstate *kstate = gfpu->fpstate; in fpu_copy_guest_fpstate_to_uabi() 417 struct fpstate *kstate = gfpu->fpstate; in fpu_copy_uabi_to_guest_fpstate() [all …]
|
| A D | xstate.h | 46 extern void __copy_xstate_to_uabi_buf(struct membuf to, struct fpstate *fpstate, 177 extern void xfd_validate_state(struct fpstate *fpstate, u64 mask, bool rstor); 189 static inline void xfd_update_state(struct fpstate *fpstate) in xfd_update_state() argument 192 u64 xfd = fpstate->xfd; in xfd_update_state() 203 static inline void xfd_update_state(struct fpstate *fpstate) { } in xfd_update_state() argument 216 static inline void os_xsave(struct fpstate *fpstate) in os_xsave() argument 237 static inline void os_xrstor(struct fpstate *fpstate, u64 mask) in os_xrstor() argument 247 static inline void os_xrstor_supervisor(struct fpstate *fpstate) in os_xrstor_supervisor() argument 302 struct fpstate *fpstate = x86_task_fpu(current)->fpstate; in xsave_to_user_sigframe() local 349 static inline int os_xrstor_safe(struct fpstate *fpstate, u64 mask) in os_xrstor_safe() argument [all …]
|
| A D | signal.c | 30 void __user *fpstate = fxbuf; in check_xstate_in_sigframe() local 46 if (__get_user(magic2, (__u32 __user *)(fpstate + x86_task_fpu(current)->fpstate->user_size))) in check_xstate_in_sigframe() 101 struct fpstate *fpstate) in save_sw_bytes() argument 113 struct fpstate *fpstate) in save_xstate_epilog() argument 178 struct fpstate *fpstate = x86_task_fpu(tsk)->fpstate; in copy_fpstate_to_sigframe() local 274 xfd_update_state(fpu->fpstate); in restore_fpregs_from_user() 315 os_xrstor_supervisor(fpu->fpstate); in restore_fpregs_from_user() 374 os_xsave(fpu->fpstate); in __fpu_restore_sig() 381 fpregs = &fpu->fpstate->regs; in __fpu_restore_sig() 434 static inline unsigned int xstate_sigframe_size(struct fpstate *fpstate) in xstate_sigframe_size() argument [all …]
|
| A D | xstate.c | 431 struct fpstate *fpstate) in validate_user_xstate_header() argument 1144 void __copy_xstate_to_uabi_buf(struct membuf to, struct fpstate *fpstate, in __copy_xstate_to_uabi_buf() argument 1317 static int copy_uabi_to_xstate(struct fpstate *fpstate, const void *kbuf, in copy_uabi_to_xstate() argument 1495 static bool xstate_op_valid(struct fpstate *fpstate, u64 mask, bool rstor) in xstate_op_valid() argument 1499 if (fpstate->xfd == xfd) in xstate_op_valid() 1506 if (fpstate->xfd == x86_task_fpu(current)->fpstate->xfd) in xstate_op_valid() 1541 void xfd_validate_state(struct fpstate *fpstate, u64 mask, bool rstor) in xfd_validate_state() argument 1561 if (fpu->fpstate && fpu->fpstate != &fpu->__fpstate) in arch_initcall() 1562 vfree(fpu->fpstate); in arch_initcall() 1601 curfps = guest_fpu ? guest_fpu->fpstate : fpu->fpstate; in fpstate_realloc() [all …]
|
| 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() 121 memset(&fpu->fpstate->regs.fxsave.xmm_space[8*4], 0, 8 * 16); in xfpregs_set() 125 fpu->fpstate->regs.xsave.header.xfeatures |= XFEATURE_MASK_FPSSE; in xfpregs_set() 218 struct xregs_state *xsave = &fpu->fpstate->regs.xsave; in ssp_set() 414 return membuf_write(&to, &fpu->fpstate->regs.fsave, in fpregs_get() 425 fx = &fpu->fpstate->regs.fxsave; in fpregs_get() 454 convert_to_fxsr(&fpu->fpstate->regs.fxsave, &env); in fpregs_set() 456 memcpy(&fpu->fpstate->regs.fsave, &env, sizeof(env)); in fpregs_set() [all …]
|
| A D | internal.h | 5 extern struct fpstate init_fpstate; 25 extern void fpstate_init_user(struct fpstate *fpstate);
|
| A D | context.h | 74 restore_fpregs_from_fpstate(fpu->fpstate, XFEATURE_MASK_FPSTATE); in fpregs_restore_userregs()
|
| /arch/m68k/kernel/ |
| A D | signal.c | 354 if (CPU_IS_060 ? fpstate[2] : fpstate[0]) { in rt_restore_fpu_state() 356 context_size = fpstate[1]; 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() 381 fpstate[3] == 0xe5)) in rt_restore_fpu_state() 420 : : "m" (*fpstate)); in rt_restore_fpu_state() 510 if (CPU_IS_060 ? fpstate[2] : fpstate[0]) { in rt_save_fpu_state() 513 context_size = fpstate[1]; in rt_save_fpu_state() 514 fpu_version = fpstate[0]; in rt_save_fpu_state() [all …]
|
| A D | process.c | 185 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()
|
| /arch/x86/include/asm/fpu/ |
| A D | types.h | 377 struct fpstate { struct 499 struct fpstate *fpstate; member 507 struct fpstate *__task_fpstate; 531 struct fpstate __fpstate; 561 struct fpstate *fpstate; member
|
| A D | api.h | 140 extern void fpstate_clear_xstate_component(struct fpstate *fpstate, unsigned int xfeature); 167 gfpu->fpstate->is_confidential = true; in fpstate_set_confidential() 172 return gfpu->fpstate->is_confidential; in fpstate_is_confidential()
|
| A D | signal.h | 36 extern void restore_fpregs_from_fpstate(struct fpstate *fpstate, u64 mask);
|
| /arch/x86/um/ |
| A D | signal.c | 24 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() 207 __put_user(FP_XSTATE_MAGIC1, &to_fp64->fpstate.sw_reserved.magic1); in copy_sc_to_user() [all …]
|
| /arch/x86/include/uapi/asm/ |
| A D | sigcontext.h | 193 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
|
| /arch/x86/include/asm/trace/ |
| A D | fpu.h | 25 __entry->xfeatures = fpu->fpstate->regs.xsave.header.xfeatures; 26 __entry->xcomp_bv = fpu->fpstate->regs.xsave.header.xcomp_bv;
|
| /arch/x86/kernel/ |
| A D | signal.c | 95 void __user **fpstate) in get_sigframe() argument 133 *fpstate = (void __user *)sp; in get_sigframe() 163 if (!copy_fpstate_to_sigframe(*fpstate, (void __user *)buf_fx, math_size, pkru)) { in get_sigframe()
|
| A D | signal_32.c | 146 return fpu__restore_sig(compat_ptr(sc.fpstate), 1); in ia32_restore_sigcontext() 212 void __user *fpstate, in __unsafe_setup_sigcontext32() argument 242 unsafe_put_user(ptr_to_compat(fpstate), &sc->fpstate, Efault); in __unsafe_setup_sigcontext32()
|
| A D | signal_64.c | 95 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()
|
| /arch/x86/include/asm/ |
| A D | sighandling.h | 20 void __user **fpstate);
|
| /arch/arm/nwfpe/ |
| A D | fpa11.h | 13 #define GET_FPA11() ((FPA11 *)(¤t_thread_info()->fpstate))
|
| A D | fpmodule.c | 53 nwfpe_init_fpa(&thread->fpstate); in nwfpe_notify()
|
| /arch/arm/kernel/ |
| A D | asm-offsets.c | 53 DEFINE(TI_FPSTATE, offsetof(struct thread_info, fpstate)); in main() 65 DEFINE(TI_IWMMXT_STATE, offsetof(struct thread_info, fpstate.iwmmxt)); in main()
|
| A D | ptrace.c | 301 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()
|
| /arch/m68k/include/asm/ |
| A D | processor.h | 129 unsigned char fpstate[FPSTATESIZE]; /* floating point state */ member
|
| /arch/arm/include/asm/ |
| A D | thread_info.h | 71 union fp_state fpstate __attribute__((aligned(8))); member
|