Home
last modified time | relevance | path

Searched refs:fpu (Results 1 – 25 of 149) sorted by relevance

123456

/Linux-v5.4/arch/x86/include/asm/trace/
Dfpu.h11 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;
30 __entry->fpu,
38 TP_PROTO(struct fpu *fpu),
39 TP_ARGS(fpu)
43 TP_PROTO(struct fpu *fpu),
[all …]
/Linux-v5.4/arch/x86/kernel/fpu/
Dcore.c44 DEFINE_PER_CPU(struct fpu *, fpu_fpregs_owner_ctx);
101 copy_fpregs_to_fpstate(&current->thread.fpu); in kernel_fpu_begin()
121 void fpu__save(struct fpu *fpu) in fpu__save() argument
123 WARN_ON_FPU(fpu != &current->thread.fpu); in fpu__save()
126 trace_x86_fpu_before_save(fpu); in fpu__save()
129 if (!copy_fpregs_to_fpstate(fpu)) { in fpu__save()
130 copy_kernel_to_fpregs(&fpu->state); in fpu__save()
134 trace_x86_fpu_after_save(fpu); in fpu__save()
169 struct fpu *dst_fpu = &dst->thread.fpu; in fpu__copy()
170 struct fpu *src_fpu = &src->thread.fpu; in fpu__copy()
[all …]
Dregset.c33 struct fpu *fpu = &target->thread.fpu; in xfpregs_get() local
38 fpu__prepare_read(fpu); in xfpregs_get()
39 fpstate_sanitize_xstate(fpu); in xfpregs_get()
42 &fpu->state.fxsave, 0, -1); in xfpregs_get()
49 struct fpu *fpu = &target->thread.fpu; in xfpregs_set() local
55 fpu__prepare_write(fpu); in xfpregs_set()
56 fpstate_sanitize_xstate(fpu); in xfpregs_set()
59 &fpu->state.fxsave, 0, -1); in xfpregs_set()
64 fpu->state.fxsave.mxcsr &= mxcsr_feature_mask; in xfpregs_set()
71 fpu->state.xsave.header.xfeatures |= XFEATURE_MASK_FPSSE; in xfpregs_set()
[all …]
Dsignal.c61 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()
278 struct fpu *fpu = &tsk->thread.fpu; in __fpu__restore_sig() local
288 fpu__clear(fpu); in __fpu__restore_sig()
310 trace_x86_fpu_xstate_check_failed(fpu); in __fpu__restore_sig()
325 __fpu_invalidate_fpregs_state(fpu); in __fpu__restore_sig()
363 ret = copy_user_to_xstate(&fpu->state.xsave, buf_fx); in __fpu__restore_sig()
365 ret = __copy_from_user(&fpu->state.xsave, buf_fx, state_size); in __fpu__restore_sig()
368 ret = validate_xstate_header(&fpu->state.xsave.header); in __fpu__restore_sig()
373 sanitize_restored_xstate(&fpu->state, envp, xfeatures, fx_only); in __fpu__restore_sig()
[all …]
Dinit.c38 fpstate_init_soft(&current->thread.fpu.state.soft); in fpu__init_cpu_generic()
166 task_size -= sizeof(((struct task_struct *)0)->thread.fpu.state); in fpu__init_task_struct_size()
181 CHECK_MEMBER_AT_END_OF(struct fpu, state); in fpu__init_task_struct_size()
182 CHECK_MEMBER_AT_END_OF(struct thread_struct, fpu); in fpu__init_task_struct_size()
/Linux-v5.4/arch/x86/include/asm/fpu/
Dinternal.h28 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);
32 extern void fpu__drop(struct fpu *fpu);
34 extern void fpu__clear(struct fpu *fpu);
35 extern int fpu__exception_code(struct fpu *fpu, int trap_nr);
103 extern void fpstate_sanitize_xstate(struct fpu *fpu);
198 static inline void copy_fxregs_to_kernel(struct fpu *fpu) in copy_fxregs_to_kernel() argument
201 asm volatile( "fxsave %[fx]" : [fx] "=m" (fpu->state.fxsave)); in copy_fxregs_to_kernel()
203 asm volatile("fxsaveq %[fx]" : [fx] "=m" (fpu->state.fxsave)); in copy_fxregs_to_kernel()
[all …]
/Linux-v5.4/arch/mips/kernel/
Dasm-offsets.c140 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.fpr[8]); in output_thread_fpu_defines()
[all …]
Dptrace.c353 fcr31 = child->thread.fpu.fcr31; in ptrace_setfcr31()
355 child->thread.fpu.fcr31 = (value & ~mask) | (fcr31 & mask); in ptrace_setfcr31()
375 __put_user(child->thread.fpu.fcr31, data + 64); in ptrace_getfpregs()
417 &target->thread.fpu, in fpr_get_fpa()
437 fpr_val = get_fpr64(&target->thread.fpu.fpr[i], 0); in fpr_get_msa()
462 if (sizeof(target->thread.fpu.fpr[0]) == sizeof(elf_fpreg_t)) in fpr_get()
470 &target->thread.fpu.fcr31, in fpr_get()
492 &target->thread.fpu, in fpr_set_fpa()
517 set_fpr64(&target->thread.fpu.fpr[i], 0, fpr_val); in fpr_set_msa()
552 if (sizeof(target->thread.fpu.fpr[0]) == sizeof(elf_fpreg_t)) in fpr_set()
[all …]
Dptrace32.c118 tmp = child->thread.fpu.fcr31; in compat_arch_ptrace()
216 memset(&child->thread.fpu, ~0, in compat_arch_ptrace()
217 sizeof(child->thread.fpu)); in compat_arch_ptrace()
218 child->thread.fpu.fcr31 = 0; in compat_arch_ptrace()
234 child->thread.fpu.fcr31 = data; in compat_arch_ptrace()
/Linux-v5.4/arch/s390/include/asm/fpu/
Dinternal.h41 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->vxrs, (freg_t *)&fpregs->fprs); in fpregs_load()
58 memcpy(fpu->fprs, (freg_t *)&fpregs->fprs, in fpregs_load()
/Linux-v5.4/arch/sparc/kernel/
Dsigutil_64.c15 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->si_float_regs[0], in restore_fpu_state()
[all …]
Dsigutil_32.c15 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(&current->thread.float_regs[0], &fpu->si_float_regs[0], in restore_fpu_state()
73 err |= __get_user(current->thread.fsr, &fpu->si_fsr); in restore_fpu_state()
[all …]
/Linux-v5.4/arch/m68k/kernel/
Dprocess.c196 int dump_fpu (struct pt_regs *regs, struct user_m68kfp_struct *fpu) in dump_fpu() argument
201 memcpy(fpu->fpcntl, current->thread.fpcntl, 12); in dump_fpu()
202 memcpy(fpu->fpregs, current->thread.fp, 96); in dump_fpu()
207 fpu->fpregs[i] = ((fpu->fpregs[i] & 0xffff0000) << 15) | in dump_fpu()
208 ((fpu->fpregs[i] & 0x0000ffff) << 16); in dump_fpu()
226 : "m" (fpu->fpcntl[0]), in dump_fpu()
227 "m" (fpu->fpcntl[1]), in dump_fpu()
228 "m" (fpu->fpcntl[2]), in dump_fpu()
229 "m" (fpu->fpregs[0]) in dump_fpu()
234 : "m" (fpu->fpcntl[0]) in dump_fpu()
[all …]
Dsetup_mm.c400 const char *cpu, *mmu, *fpu; in show_cpuinfo() local
430 fpu = "none(soft float)"; in show_cpuinfo()
433 fpu = "68881"; in show_cpuinfo()
435 fpu = "68882"; in show_cpuinfo()
437 fpu = "68040"; in show_cpuinfo()
439 fpu = "68060"; in show_cpuinfo()
441 fpu = "Sun FPA"; in show_cpuinfo()
443 fpu = "ColdFire"; in show_cpuinfo()
445 fpu = "none"; in show_cpuinfo()
473 cpu, mmu, fpu, in show_cpuinfo()
/Linux-v5.4/arch/nds32/kernel/
Dfpu.c46 : "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()
176 load_fpu(&current->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, &current->thread.fpu); in handle_fpu_exception()
219 fpcsr = current->thread.fpu.fpcsr; in handle_fpu_exception()
221 current->thread.fpu.fpcsr &= ~(redo_except); in handle_fpu_exception()
Dsys_nds32.c61 current->thread.fpu.UDF_IEX_trap = init_fpuregs.UDF_IEX_trap; in SYSCALL_DEFINE2()
65 old_udf_iex = current->thread.fpu.UDF_IEX_trap; in SYSCALL_DEFINE2()
70 current->thread.fpu.UDF_IEX_trap &= ~act; in SYSCALL_DEFINE2()
73 current->thread.fpu.UDF_IEX_trap |= act; in SYSCALL_DEFINE2()
Dprocess.c189 p->thread.fpu = current->thread.fpu; in copy_thread()
219 int dump_fpu(struct pt_regs *regs, elf_fpregset_t * fpu) in dump_fpu() argument
228 memcpy(fpu, &tsk->thread.fpu, sizeof(*fpu)); in dump_fpu()
DMakefile17 obj-$(CONFIG_FPU) += fpu.o
24 CFLAGS_fpu.o += -mext-fpu-sp -mext-fpu-dp
/Linux-v5.4/arch/s390/kernel/
Dprocess.c78 dst->thread.fpu.regs = dst->thread.fpu.fprs; in arch_dup_task_struct()
157 current->thread.fpu.fpc = 0; in execve_tail()
167 fpregs->fpc = current->thread.fpu.fpc; in dump_fpu()
171 current->thread.fpu.vxrs); in dump_fpu()
173 memcpy(&fpregs->fprs, current->thread.fpu.fprs, in dump_fpu()
Dptrace.c249 tmp = child->thread.fpu.fpc; in __peek_user()
260 ((addr_t) child->thread.fpu.vxrs + 2*offset); in __peek_user()
263 ((addr_t) child->thread.fpu.fprs + offset); in __peek_user()
394 child->thread.fpu.fpc = data >> (BITS_PER_LONG - 32); in __poke_user()
404 child->thread.fpu.vxrs + 2*offset) = data; in __poke_user()
407 child->thread.fpu.fprs + offset) = data; in __poke_user()
626 tmp = child->thread.fpu.fpc; in __peek_user_compat()
636 ((addr_t) child->thread.fpu.vxrs + 2*offset); in __peek_user_compat()
639 ((addr_t) child->thread.fpu.fprs + offset); in __peek_user_compat()
751 child->thread.fpu.fpc = data; in __poke_user_compat()
[all …]
/Linux-v5.4/arch/m68k/math-emu/
Dfp_movem.S74 printf PDECODE,"->" | fpu -> cpu
76 1: printf PDECODE,"<-" | fpu <- cpu
132 swap %d1 | get fpu register list
141 | move register from memory into fpu
161 | move register from fpu into memory
218 printf PDECODE,"->" | fpu -> cpu
220 1: printf PDECODE,"<-" | fpu <- cpu
319 swap %d1 | get fpu register list
325 | move register from memory into fpu
336 | move register from fpu into memory
/Linux-v5.4/include/linux/
Delfcore.h45 …ine int elf_core_copy_task_fpregs(struct task_struct *t, struct pt_regs *regs, elf_fpregset_t *fpu) in elf_core_copy_task_fpregs() argument
48 return ELF_CORE_COPY_FPREGS(t, fpu); in elf_core_copy_task_fpregs()
50 return dump_fpu(regs, fpu); in elf_core_copy_task_fpregs()
/Linux-v5.4/arch/sh/math-emu/
Dmath.c477 static void denormal_to_double(struct sh_fpu_soft_struct *fpu, int n) in denormal_to_double() argument
480 unsigned long x = fpu->fpul; in denormal_to_double()
493 fpu->fp_regs[n] = du; in denormal_to_double()
494 fpu->fp_regs[n+1] = dl; in denormal_to_double()
577 static void fpu_init(struct sh_fpu_soft_struct *fpu) in fpu_init() argument
581 fpu->fpscr = FPSCR_INIT; in fpu_init()
582 fpu->fpul = 0; in fpu_init()
585 fpu->fp_regs[i] = 0; in fpu_init()
586 fpu->xfp_regs[i]= 0; in fpu_init()
598 struct sh_fpu_soft_struct *fpu = &(tsk->thread.xstate->softfpu); in do_fpu_inst() local
[all …]
/Linux-v5.4/arch/mips/kvm/
Dmips.c648 struct mips_fpu_struct *fpu = &vcpu->arch.fpu; in kvm_mips_get_reg() local
678 v = get_fpr32(&fpu->fpr[idx], 0); in kvm_mips_get_reg()
680 v = get_fpr32(&fpu->fpr[idx & ~1], idx & 1); in kvm_mips_get_reg()
689 v = get_fpr64(&fpu->fpr[idx], 0); in kvm_mips_get_reg()
699 v = fpu->fcr31; in kvm_mips_get_reg()
712 vs[0] = get_fpr64(&fpu->fpr[idx], 0); in kvm_mips_get_reg()
713 vs[1] = get_fpr64(&fpu->fpr[idx], 1); in kvm_mips_get_reg()
716 vs[0] = get_fpr64(&fpu->fpr[idx], 1); in kvm_mips_get_reg()
717 vs[1] = get_fpr64(&fpu->fpr[idx], 0); in kvm_mips_get_reg()
728 v = fpu->msacsr; in kvm_mips_get_reg()
[all …]
/Linux-v5.4/arch/mips/include/asm/
Dfpu.h169 tsk->thread.fpu.fcr31 = in lose_fpu_inatomic()
213 memset(&target->thread.fpu.fpr, ~0, sizeof(target->thread.fpu.fpr)); in init_fp_ctx()
248 return tsk->thread.fpu.fpr; in get_fpu_regs()

123456