/kernel/linux/linux-5.10/arch/x86/kernel/fpu/ |
H A D | core.c | 9 #include <asm/fpu/internal.h> 10 #include <asm/fpu/regset.h> 11 #include <asm/fpu/signal.h> 12 #include <asm/fpu/types.h> 20 #include <asm/trace/fpu.h> 34 DEFINE_PER_CPU(struct fpu *, fpu_fpregs_owner_ctx); 80 int copy_fpregs_to_fpstate(struct fpu *fpu) in copy_fpregs_to_fpstate() argument 83 copy_xregs_to_kernel(&fpu->state.xsave); in copy_fpregs_to_fpstate() 89 if (fpu in copy_fpregs_to_fpstate() 152 fpu__save(struct fpu *fpu) fpu__save() argument 245 fpu__initialize(struct fpu *fpu) fpu__initialize() argument 268 fpu__prepare_read(struct fpu *fpu) fpu__prepare_read() argument 286 fpu__prepare_write(struct fpu *fpu) fpu__prepare_write() argument 307 fpu__drop(struct fpu *fpu) fpu__drop() argument 347 fpu__clear(struct fpu *fpu, bool user_only) fpu__clear() argument 373 fpu__clear_user_states(struct fpu *fpu) fpu__clear_user_states() argument 378 fpu__clear_all(struct fpu *fpu) fpu__clear_all() argument 403 struct fpu *fpu = ¤t->thread.fpu; fpregs_assert_state_consistent() local 415 struct fpu *fpu = ¤t->thread.fpu; fpregs_mark_activate() local 427 fpu__exception_code(struct fpu *fpu, int trap_nr) fpu__exception_code() argument [all...] |
H A D | regset.c | 5 #include <asm/fpu/internal.h> 6 #include <asm/fpu/signal.h> 7 #include <asm/fpu/regset.h> 8 #include <asm/fpu/xstate.h> 32 struct fpu *fpu = &target->thread.fpu; in xfpregs_get() local 37 fpu__prepare_read(fpu); in xfpregs_get() 38 fpstate_sanitize_xstate(fpu); in xfpregs_get() 40 return membuf_write(&to, &fpu in xfpregs_get() 47 struct fpu *fpu = &target->thread.fpu; xfpregs_set() local 77 struct fpu *fpu = &target->thread.fpu; xstateregs_get() local 110 struct fpu *fpu = &target->thread.fpu; xstateregs_set() local 291 struct fpu *fpu = &target->thread.fpu; fpregs_get() local 319 struct fpu *fpu = &target->thread.fpu; fpregs_set() local [all...] |
H A D | signal.c | 10 #include <asm/fpu/internal.h> 11 #include <asm/fpu/signal.h> 12 #include <asm/fpu/regset.h> 13 #include <asm/fpu/xstate.h> 16 #include <asm/trace/fpu.h> 61 struct xregs_state *xsave = &tsk->thread.fpu.state.xsave; in save_fsave_header() 67 copy_fxregs_to_kernel(&tsk->thread.fpu); in save_fsave_header() 144 * Save the fpu, extended register state to the user signal frame. 155 * task's fpu->state and then copy it to the user frame pointed to by the 286 struct fpu *fp in __fpu__restore_sig() local [all...] |
/kernel/linux/linux-5.10/arch/x86/include/asm/trace/ |
H A D | fpu.h | 11 TP_PROTO(struct fpu *fpu), 12 TP_ARGS(fpu), 15 __field(struct fpu *, fpu) 22 __entry->fpu = fpu; 25 __entry->xfeatures = fpu->state.xsave.header.xfeatures; 26 __entry->xcomp_bv = fpu->state.xsave.header.xcomp_bv; 29 TP_printk("x86/fpu [all...] |
/kernel/linux/linux-6.6/arch/x86/include/asm/trace/ |
H A D | fpu.h | 11 TP_PROTO(struct fpu *fpu), 12 TP_ARGS(fpu), 15 __field(struct fpu *, fpu) 22 __entry->fpu = fpu; 25 __entry->xfeatures = fpu->fpstate->regs.xsave.header.xfeatures; 26 __entry->xcomp_bv = fpu->fpstate->regs.xsave.header.xcomp_bv; 29 TP_printk("x86/fpu [all...] |
/kernel/linux/linux-6.6/arch/x86/kernel/fpu/ |
H A D | core.c | 9 #include <asm/fpu/api.h> 10 #include <asm/fpu/regset.h> 11 #include <asm/fpu/sched.h> 12 #include <asm/fpu/signal.h> 13 #include <asm/fpu/types.h> 29 #include <asm/trace/fpu.h> 52 DEFINE_PER_CPU(struct fpu *, fpu_fpregs_owner_ctx); 92 static void update_avx_timestamp(struct fpu *fpu) in update_avx_timestamp() argument 97 if (fpu in update_avx_timestamp() 115 save_fpregs_to_fpstate(struct fpu *fpu) save_fpregs_to_fpstate() argument 333 struct fpu *fpu = ¤t->thread.fpu; fpu_swap_kvm_fpstate() local 459 fpu_sync_fpstate(struct fpu *fpu) fpu_sync_fpstate() argument 529 fpstate_reset(struct fpu *fpu) fpstate_reset() argument 676 fpu__drop(struct fpu *fpu) fpu__drop() argument 714 struct fpu *fpu = ¤t->thread.fpu; fpu_reset_fpregs() local 741 fpu__clear_user_states(struct fpu *fpu) fpu__clear_user_states() argument 817 struct fpu *fpu = ¤t->thread.fpu; fpregs_assert_state_consistent() local 829 struct fpu *fpu = ¤t->thread.fpu; fpregs_mark_activate() local 840 fpu__exception_code(struct fpu *fpu, int trap_nr) fpu__exception_code() argument [all...] |
H A D | context.h | 5 #include <asm/fpu/xstate.h> 6 #include <asm/trace/fpu.h> 12 * valid if the fpu->last_cpu matches the CPU, and the fpu_fpregs_owner_ctx 31 static inline void __fpu_invalidate_fpregs_state(struct fpu *fpu) in __fpu_invalidate_fpregs_state() argument 33 fpu->last_cpu = -1; in __fpu_invalidate_fpregs_state() 36 static inline int fpregs_state_valid(struct fpu *fpu, unsigned int cpu) in fpregs_state_valid() argument 38 return fpu == this_cpu_read(fpu_fpregs_owner_ctx) && cpu == fpu in fpregs_state_valid() 41 fpregs_deactivate(struct fpu *fpu) fpregs_deactivate() argument 47 fpregs_activate(struct fpu *fpu) fpregs_activate() argument 56 struct fpu *fpu = ¤t->thread.fpu; fpregs_restore_userregs() local [all...] |
H A D | regset.c | 8 #include <asm/fpu/api.h> 9 #include <asm/fpu/signal.h> 10 #include <asm/fpu/regset.h> 46 static void sync_fpstate(struct fpu *fpu) in sync_fpstate() argument 48 if (fpu == ¤t->thread.fpu) in sync_fpstate() 49 fpu_sync_fpstate(fpu); in sync_fpstate() 60 static void fpu_force_restore(struct fpu *fpu) in fpu_force_restore() argument 74 struct fpu *fpu = &target->thread.fpu; xfpregs_get() local 94 struct fpu *fpu = &target->thread.fpu; xfpregs_set() local 146 struct fpu *fpu = &target->thread.fpu; xstateregs_set() local 190 struct fpu *fpu = &target->thread.fpu; ssp_get() local 216 struct fpu *fpu = &target->thread.fpu; ssp_set() local 403 struct fpu *fpu = &target->thread.fpu; fpregs_get() local 435 struct fpu *fpu = &target->thread.fpu; fpregs_set() local [all...] |
H A D | signal.c | 10 #include <asm/fpu/signal.h> 11 #include <asm/fpu/regset.h> 12 #include <asm/fpu/xstate.h> 16 #include <asm/trace/fpu.h> 41 fx_sw->xstate_size > current->thread.fpu.fpstate->user_size || in check_xstate_in_sigframe() 57 trace_x86_fpu_xstate_check_failed(¤t->thread.fpu); in check_xstate_in_sigframe() 72 struct xregs_state *xsave = &tsk->thread.fpu.fpstate->regs.xsave; in save_fsave_header() 78 fxsave(&tsk->thread.fpu.fpstate->regs.fxsave); in save_fsave_header() 170 * Save the fpu, extended register state to the user signal frame. 191 struct fpstate *fpstate = tsk->thread.fpu in copy_fpstate_to_sigframe() 279 struct fpu *fpu = ¤t->thread.fpu; restore_fpregs_from_user() local 339 struct fpu *fpu = &tsk->thread.fpu; __fpu_restore_sig() local 459 struct fpu *fpu = ¤t->thread.fpu; fpu__restore_sig() local [all...] |
/kernel/linux/linux-5.10/arch/mips/kernel/ |
H A D | asm-offsets.c | 140 OFFSET(THREAD_FPU, task_struct, thread.fpu); in output_thread_fpu_defines() 142 OFFSET(THREAD_FPR0, task_struct, thread.fpu.fpr[0]); in output_thread_fpu_defines() 143 OFFSET(THREAD_FPR1, task_struct, thread.fpu.fpr[1]); in output_thread_fpu_defines() 144 OFFSET(THREAD_FPR2, task_struct, thread.fpu.fpr[2]); in output_thread_fpu_defines() 145 OFFSET(THREAD_FPR3, task_struct, thread.fpu.fpr[3]); in output_thread_fpu_defines() 146 OFFSET(THREAD_FPR4, task_struct, thread.fpu.fpr[4]); in output_thread_fpu_defines() 147 OFFSET(THREAD_FPR5, task_struct, thread.fpu.fpr[5]); in output_thread_fpu_defines() 148 OFFSET(THREAD_FPR6, task_struct, thread.fpu.fpr[6]); in output_thread_fpu_defines() 149 OFFSET(THREAD_FPR7, task_struct, thread.fpu.fpr[7]); in output_thread_fpu_defines() 150 OFFSET(THREAD_FPR8, task_struct, thread.fpu in output_thread_fpu_defines() [all...] |
/kernel/linux/linux-6.6/arch/mips/kernel/ |
H A D | asm-offsets.c | 143 OFFSET(THREAD_FPU, task_struct, thread.fpu); in output_thread_fpu_defines() 145 OFFSET(THREAD_FPR0, task_struct, thread.fpu.fpr[0]); in output_thread_fpu_defines() 146 OFFSET(THREAD_FPR1, task_struct, thread.fpu.fpr[1]); in output_thread_fpu_defines() 147 OFFSET(THREAD_FPR2, task_struct, thread.fpu.fpr[2]); in output_thread_fpu_defines() 148 OFFSET(THREAD_FPR3, task_struct, thread.fpu.fpr[3]); in output_thread_fpu_defines() 149 OFFSET(THREAD_FPR4, task_struct, thread.fpu.fpr[4]); in output_thread_fpu_defines() 150 OFFSET(THREAD_FPR5, task_struct, thread.fpu.fpr[5]); in output_thread_fpu_defines() 151 OFFSET(THREAD_FPR6, task_struct, thread.fpu.fpr[6]); in output_thread_fpu_defines() 152 OFFSET(THREAD_FPR7, task_struct, thread.fpu.fpr[7]); in output_thread_fpu_defines() 153 OFFSET(THREAD_FPR8, task_struct, thread.fpu in output_thread_fpu_defines() [all...] |
/kernel/linux/linux-5.10/arch/x86/include/asm/fpu/ |
H A D | internal.h | 20 #include <asm/fpu/api.h> 21 #include <asm/fpu/xstate.h> 22 #include <asm/fpu/xcr.h> 24 #include <asm/trace/fpu.h> 29 extern void fpu__prepare_read(struct fpu *fpu); 30 extern void fpu__prepare_write(struct fpu *fpu); 31 extern void fpu__save(struct fpu *fpu); 200 copy_fxregs_to_kernel(struct fpu *fpu) copy_fxregs_to_kernel() argument 467 __fpu_invalidate_fpregs_state(struct fpu *fpu) __fpu_invalidate_fpregs_state() argument 472 fpregs_state_valid(struct fpu *fpu, unsigned int cpu) fpregs_state_valid() argument 481 fpregs_deactivate(struct fpu *fpu) fpregs_deactivate() argument 487 fpregs_activate(struct fpu *fpu) fpregs_activate() argument 498 struct fpu *fpu = ¤t->thread.fpu; __fpregs_load_activate() local [all...] |
/kernel/linux/linux-5.10/arch/loongarch/kvm/ |
H A D | fpu.c | 9 #include <asm/fpu.h> 13 void __kvm_save_fpu(struct loongarch_fpu *fpu); 14 void __kvm_restore_fpu(struct loongarch_fpu *fpu); 18 return __kvm_save_fpu(&cpu->arch.fpu); in kvm_save_fpu() 24 return __kvm_restore_fpu(&cpu->arch.fpu); in kvm_restore_fpu() 29 void __kvm_save_lsx(struct loongarch_fpu *fpu); 30 void __kvm_restore_lsx(struct loongarch_fpu *fpu); 31 void __kvm_restore_lsx_upper(struct loongarch_fpu *fpu); 35 return __kvm_save_lsx(&cpu->arch.fpu); in kvm_save_lsx() 41 return __kvm_restore_lsx(&cpu->arch.fpu); in kvm_restore_lsx() [all...] |
/kernel/linux/linux-5.10/arch/s390/include/asm/fpu/ |
H A D | internal.h | 14 #include <asm/fpu/types.h> 41 static inline void fpregs_store(_s390_fp_regs *fpregs, struct fpu *fpu) in fpregs_store() argument 44 fpregs->fpc = fpu->fpc; in fpregs_store() 46 convert_vx_to_fp((freg_t *)&fpregs->fprs, fpu->vxrs); in fpregs_store() 48 memcpy((freg_t *)&fpregs->fprs, fpu->fprs, in fpregs_store() 52 static inline void fpregs_load(_s390_fp_regs *fpregs, struct fpu *fpu) in fpregs_load() argument 54 fpu->fpc = fpregs->fpc; in fpregs_load() 56 convert_fp_to_vx(fpu in fpregs_load() [all...] |
/kernel/linux/linux-6.6/arch/s390/include/asm/fpu/ |
H A D | internal.h | 14 #include <asm/fpu/types.h> 41 static inline void fpregs_store(_s390_fp_regs *fpregs, struct fpu *fpu) in fpregs_store() argument 44 fpregs->fpc = fpu->fpc; in fpregs_store() 46 convert_vx_to_fp((freg_t *)&fpregs->fprs, fpu->vxrs); in fpregs_store() 48 memcpy((freg_t *)&fpregs->fprs, fpu->fprs, in fpregs_store() 52 static inline void fpregs_load(_s390_fp_regs *fpregs, struct fpu *fpu) in fpregs_load() argument 54 fpu->fpc = fpregs->fpc; in fpregs_load() 56 convert_fp_to_vx(fpu in fpregs_load() [all...] |
/kernel/linux/linux-5.10/arch/loongarch/include/asm/ |
H A D | fpu.h | 32 extern void _save_lsx(struct loongarch_fpu *fpu); 33 extern void _restore_lsx(struct loongarch_fpu *fpu); 35 extern void _restore_lsx_upper(struct loongarch_fpu *fpu); 37 extern void _save_lasx(struct loongarch_fpu *fpu); 38 extern void _restore_lasx(struct loongarch_fpu *fpu); 40 extern void _restore_lasx_upper(struct loongarch_fpu *fpu); 120 _restore_fp(¤t->thread.fpu); in own_fpu_inatomic() 136 _save_fp(&tsk->thread.fpu); in lose_fpu_inatomic() 164 unsigned int fcsr = current->thread.fpu.fcsr; in init_fpu() 174 _save_fp(&tsk->thread.fpu); in save_fp() [all...] |
/kernel/linux/linux-6.6/arch/loongarch/include/asm/ |
H A D | fpu.h | 31 extern void _save_lsx(struct loongarch_fpu *fpu); 32 extern void _restore_lsx(struct loongarch_fpu *fpu); 34 extern void _restore_lsx_upper(struct loongarch_fpu *fpu); 36 extern void _save_lasx(struct loongarch_fpu *fpu); 37 extern void _restore_lasx(struct loongarch_fpu *fpu); 39 extern void _restore_lasx_upper(struct loongarch_fpu *fpu); 113 _restore_fp(¤t->thread.fpu); in own_fpu_inatomic() 129 _save_fp(&tsk->thread.fpu); in lose_fpu_inatomic() 157 unsigned int fcsr = current->thread.fpu.fcsr; in init_fpu() 167 _save_fp(&tsk->thread.fpu); in save_fp() [all...] |
/kernel/linux/linux-5.10/arch/sparc/kernel/ |
H A D | sigutil_64.c | 15 int save_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) in save_fpu_state() argument 23 err |= copy_to_user(&fpu->si_float_regs[0], fpregs, in save_fpu_state() 26 err |= copy_to_user(&fpu->si_float_regs[32], fpregs+16, in save_fpu_state() 28 err |= __put_user(current_thread_info()->xfsr[0], &fpu->si_fsr); in save_fpu_state() 29 err |= __put_user(current_thread_info()->gsr[0], &fpu->si_gsr); in save_fpu_state() 30 err |= __put_user(fprs, &fpu->si_fprs); in save_fpu_state() 35 int restore_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) in restore_fpu_state() argument 41 if (((unsigned long) fpu) & 7) in restore_fpu_state() 44 err = get_user(fprs, &fpu->si_fprs); in restore_fpu_state() 48 err |= copy_from_user(fpregs, &fpu in restore_fpu_state() [all...] |
H A D | sigutil_32.c | 15 int save_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) in save_fpu_state() argument 35 err |= __copy_to_user(&fpu->si_float_regs[0], in save_fpu_state() 38 err |= __put_user(current->thread.fsr, &fpu->si_fsr); in save_fpu_state() 39 err |= __put_user(current->thread.fpqdepth, &fpu->si_fpqdepth); in save_fpu_state() 41 err |= __copy_to_user(&fpu->si_fpqueue[0], in save_fpu_state() 49 int restore_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) in restore_fpu_state() argument 53 if (((unsigned long) fpu) & 3) in restore_fpu_state() 68 if (!access_ok(fpu, sizeof(*fpu))) in restore_fpu_state() 71 err = __copy_from_user(¤t->thread.float_regs[0], &fpu in restore_fpu_state() [all...] |
/kernel/linux/linux-6.6/arch/sparc/kernel/ |
H A D | sigutil_64.c | 15 int save_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) in save_fpu_state() argument 23 err |= copy_to_user(&fpu->si_float_regs[0], fpregs, in save_fpu_state() 26 err |= copy_to_user(&fpu->si_float_regs[32], fpregs+16, in save_fpu_state() 28 err |= __put_user(current_thread_info()->xfsr[0], &fpu->si_fsr); in save_fpu_state() 29 err |= __put_user(current_thread_info()->gsr[0], &fpu->si_gsr); in save_fpu_state() 30 err |= __put_user(fprs, &fpu->si_fprs); in save_fpu_state() 35 int restore_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) in restore_fpu_state() argument 41 if (((unsigned long) fpu) & 7) in restore_fpu_state() 44 err = get_user(fprs, &fpu->si_fprs); in restore_fpu_state() 48 err |= copy_from_user(fpregs, &fpu in restore_fpu_state() [all...] |
H A D | sigutil_32.c | 15 int save_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) in save_fpu_state() argument 35 err |= __copy_to_user(&fpu->si_float_regs[0], in save_fpu_state() 38 err |= __put_user(current->thread.fsr, &fpu->si_fsr); in save_fpu_state() 39 err |= __put_user(current->thread.fpqdepth, &fpu->si_fpqdepth); in save_fpu_state() 41 err |= __copy_to_user(&fpu->si_fpqueue[0], in save_fpu_state() 49 int restore_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) in restore_fpu_state() argument 53 if (((unsigned long) fpu) & 3) in restore_fpu_state() 68 if (!access_ok(fpu, sizeof(*fpu))) in restore_fpu_state() 71 err = __copy_from_user(¤t->thread.float_regs[0], &fpu in restore_fpu_state() [all...] |
/kernel/linux/linux-6.6/arch/x86/include/asm/fpu/ |
H A D | api.h | 15 #include <asm/fpu/types.h> 53 * Use fpregs_lock() while editing CPU's FPU registers or fpu->fpstate. 55 * fpu->fpstate.regs and set TIF_NEED_FPU_LOAD leaving CPU's FPU registers in 88 * restore all the fpu state to the registers early if needed, and lock them from 115 extern int fpu__exception_code(struct fpu *fpu, int trap_nr); 116 extern void fpu_sync_fpstate(struct fpu *fpu); 132 DECLARE_PER_CPU(struct fpu *, fpu_fpregs_owner_ctx); 136 extern void fpstate_free(struct fpu *fp 138 fpstate_free(struct fpu *fpu) fpstate_free() argument [all...] |
H A D | sched.h | 8 #include <asm/fpu/types.h> 10 #include <asm/trace/fpu.h> 12 extern void save_fpregs_to_fpstate(struct fpu *fpu); 13 extern void fpu__drop(struct fpu *fpu); 40 static inline void switch_fpu_prepare(struct fpu *old_fpu, int cpu) in switch_fpu_prepare()
|
/kernel/linux/linux-5.10/arch/nds32/kernel/ |
H A D | fpu.c | 11 #include <asm/fpu.h> 46 : "r" (&tsk->thread.fpu) in save_fpu() 59 : "r" (&tsk->thread.fpu) in save_fpu() 68 : "r" (&tsk->thread.fpu) in save_fpu() 79 : "r"(&tsk->thread.fpu) in save_fpu() 171 /* Other processes fpu state, save away */ in do_fpu_context_switch() 176 load_fpu(¤t->thread.fpu); in do_fpu_context_switch() 181 current->thread.fpu.UDF_IEX_trap = init_fpuregs.UDF_IEX_trap; in do_fpu_context_switch() 215 fpcsr = current->thread.fpu.fpcsr; in handle_fpu_exception() 218 si_signo = do_fpuemu(regs, ¤t->thread.fpu); in handle_fpu_exception() [all...] |
/kernel/linux/linux-5.10/arch/loongarch/kernel/ |
H A D | kfpu.c | 8 #include <asm/fpu.h> 36 _save_lasx(¤t->thread.fpu); in kernel_fpu_begin() 41 _save_lsx(¤t->thread.fpu); in kernel_fpu_begin() 45 _save_fp(¤t->thread.fpu); in kernel_fpu_begin() 61 _restore_lasx(¤t->thread.fpu); in kernel_fpu_end() 66 _restore_lsx(¤t->thread.fpu); in kernel_fpu_end() 70 _restore_fp(¤t->thread.fpu); in kernel_fpu_end()
|