Lines Matching refs:fpu
27 extern void fpu__initialize(struct fpu *fpu);
28 extern void fpu__prepare_read(struct fpu *fpu);
29 extern void fpu__prepare_write(struct fpu *fpu);
30 extern void fpu__save(struct fpu *fpu);
31 extern void fpu__restore(struct fpu *fpu);
33 extern void fpu__drop(struct fpu *fpu);
34 extern int fpu__copy(struct fpu *dst_fpu, struct fpu *src_fpu);
35 extern void fpu__clear(struct fpu *fpu);
36 extern int fpu__exception_code(struct fpu *fpu, int trap_nr);
104 extern void fpstate_sanitize_xstate(struct fpu *fpu);
180 static inline void copy_fxregs_to_kernel(struct fpu *fpu) in copy_fxregs_to_kernel() argument
183 asm volatile( "fxsave %[fx]" : [fx] "=m" (fpu->state.fxsave)); in copy_fxregs_to_kernel()
185 asm volatile("fxsaveq %[fx]" : [fx] "=m" (fpu->state.fxsave)); in copy_fxregs_to_kernel()
209 : "=m" (fpu->state.fxsave) in copy_fxregs_to_kernel()
210 : [fx] "R" (&fpu->state.fxsave)); in copy_fxregs_to_kernel()
410 static inline int copy_fpregs_to_fpstate(struct fpu *fpu) in copy_fpregs_to_fpstate() argument
413 copy_xregs_to_kernel(&fpu->state.xsave); in copy_fpregs_to_fpstate()
418 copy_fxregs_to_kernel(fpu); in copy_fpregs_to_fpstate()
426 asm volatile("fnsave %[fp]; fwait" : [fp] "=m" (fpu->state.fsave)); in copy_fpregs_to_fpstate()
467 DECLARE_PER_CPU(struct fpu *, fpu_fpregs_owner_ctx);
491 static inline void __fpu_invalidate_fpregs_state(struct fpu *fpu) in __fpu_invalidate_fpregs_state() argument
493 fpu->last_cpu = -1; in __fpu_invalidate_fpregs_state()
496 static inline int fpregs_state_valid(struct fpu *fpu, unsigned int cpu) in fpregs_state_valid() argument
498 return fpu == this_cpu_read_stable(fpu_fpregs_owner_ctx) && cpu == fpu->last_cpu; in fpregs_state_valid()
505 static inline void fpregs_deactivate(struct fpu *fpu) in fpregs_deactivate() argument
508 trace_x86_fpu_regs_deactivated(fpu); in fpregs_deactivate()
511 static inline void fpregs_activate(struct fpu *fpu) in fpregs_activate() argument
513 this_cpu_write(fpu_fpregs_owner_ctx, fpu); in fpregs_activate()
514 trace_x86_fpu_regs_activated(fpu); in fpregs_activate()
529 switch_fpu_prepare(struct fpu *old_fpu, int cpu) in switch_fpu_prepare()
551 static inline void switch_fpu_finish(struct fpu *new_fpu, int cpu) in switch_fpu_finish()
573 struct fpu *fpu = ¤t->thread.fpu; in user_fpu_begin() local
576 fpregs_activate(fpu); in user_fpu_begin()