/linux-6.6.21/arch/powerpc/include/asm/ |
D | kvm_fpu.h | 14 extern void fps_fres(u64 *fpscr, u32 *dst, u32 *src1); 15 extern void fps_frsqrte(u64 *fpscr, u32 *dst, u32 *src1); 16 extern void fps_fsqrts(u64 *fpscr, u32 *dst, u32 *src1); 18 extern void fps_fadds(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2); 19 extern void fps_fdivs(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2); 20 extern void fps_fmuls(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2); 21 extern void fps_fsubs(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2); 23 extern void fps_fmadds(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2, 25 extern void fps_fmsubs(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2, 27 extern void fps_fnmadds(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2, [all …]
|
/linux-6.6.21/arch/arm/vfp/ |
D | vfpsingle.c | 69 #define vfp_single_normaliseround(sd,vsd,fpscr,except,func) __vfp_single_normaliseround(sd,vsd,fpsc… argument 70 u32 __vfp_single_normaliseround(int sd, struct vfp_single *vs, u32 fpscr, u32 exceptions) in __vfp_single_normaliseround() argument 72 u32 vfp_single_normaliseround(int sd, struct vfp_single *vs, u32 fpscr, u32 exceptions, const char … in __vfp_single_normaliseround() 134 rmode = fpscr & FPSCR_RMODE_MASK; in __vfp_single_normaliseround() 216 struct vfp_single *vsm, u32 fpscr) in vfp_propagate_nan() argument 226 if (fpscr & FPSCR_DEFAULT_NAN) in vfp_propagate_nan() 259 static u32 vfp_single_fabs(int sd, int unused, s32 m, u32 fpscr) in vfp_single_fabs() argument 265 static u32 vfp_single_fcpy(int sd, int unused, s32 m, u32 fpscr) in vfp_single_fcpy() argument 271 static u32 vfp_single_fneg(int sd, int unused, s32 m, u32 fpscr) in vfp_single_fneg() argument 316 static u32 vfp_single_fsqrt(int sd, int unused, s32 m, u32 fpscr) in vfp_single_fsqrt() argument [all …]
|
D | vfpdouble.c | 70 u32 vfp_double_normaliseround(int dd, struct vfp_double *vd, u32 fpscr, u32 exceptions, const char … in vfp_double_normaliseround() argument 129 rmode = fpscr & FPSCR_RMODE_MASK; in vfp_double_normaliseround() 208 struct vfp_double *vdm, u32 fpscr) in vfp_propagate_nan() argument 218 if (fpscr & FPSCR_DEFAULT_NAN) in vfp_propagate_nan() 250 static u32 vfp_double_fabs(int dd, int unused, int dm, u32 fpscr) in vfp_double_fabs() argument 256 static u32 vfp_double_fcpy(int dd, int unused, int dm, u32 fpscr) in vfp_double_fcpy() argument 262 static u32 vfp_double_fneg(int dd, int unused, int dm, u32 fpscr) in vfp_double_fneg() argument 268 static u32 vfp_double_fsqrt(int dd, int unused, int dm, u32 fpscr) in vfp_double_fsqrt() argument 279 ret = vfp_propagate_nan(vdp, &vdm, NULL, fpscr); in vfp_double_fsqrt() 349 return vfp_double_normaliseround(dd, &vdd, fpscr, 0, "fsqrt"); in vfp_double_fsqrt() [all …]
|
D | vfpmodule.c | 112 vfp->hard.fpscr = FPSCR_ROUND_NEAREST; in vfp_thread_flush() 243 static void vfp_raise_exceptions(u32 exceptions, u32 inst, u32 fpscr, struct pt_regs *regs) in vfp_raise_exceptions() argument 261 fpscr &= ~(FPSCR_N|FPSCR_Z|FPSCR_C|FPSCR_V); in vfp_raise_exceptions() 263 fpscr |= exceptions; in vfp_raise_exceptions() 265 fmxr(FPSCR, fpscr); in vfp_raise_exceptions() 268 if (exceptions & stat && fpscr & en) \ in vfp_raise_exceptions() 287 static u32 vfp_emulate_instruction(u32 inst, u32 fpscr, struct pt_regs *regs) in vfp_emulate_instruction() argument 291 pr_debug("VFP: emulate: INST=0x%08x SCR=0x%08x\n", inst, fpscr); in vfp_emulate_instruction() 299 exceptions = vfp_single_cpdo(inst, fpscr); in vfp_emulate_instruction() 301 exceptions = vfp_double_cpdo(inst, fpscr); in vfp_emulate_instruction() [all …]
|
D | vfpinstr.h | 97 u32 vfp_single_cpdo(u32 inst, u32 fpscr); 98 u32 vfp_single_cprt(u32 inst, u32 fpscr, struct pt_regs *regs); 100 u32 vfp_double_cpdo(u32 inst, u32 fpscr);
|
D | vfp.h | 245 #define vfp_single_normaliseround(sd,vsd,fpscr,except,func) __vfp_single_normaliseround(sd,vsd,fpsc… argument 246 u32 __vfp_single_normaliseround(int sd, struct vfp_single *vs, u32 fpscr, u32 exceptions); 248 u32 vfp_single_normaliseround(int sd, struct vfp_single *vs, u32 fpscr, u32 exceptions, const char … 343 u32 vfp_double_normaliseround(int dd, struct vfp_double *vd, u32 fpscr, u32 exceptions, const char … 373 u32 (* const fn)(int dd, int dn, int dm, u32 fpscr);
|
/linux-6.6.21/arch/powerpc/math-emu/ |
D | math.c | 170 u32 fpscr; in record_exception() local 172 fpscr = __FPU_FPSCR; in record_exception() 175 fpscr |= FPSCR_FX; in record_exception() 177 fpscr |= FPSCR_OX; in record_exception() 179 fpscr |= FPSCR_UX; in record_exception() 181 fpscr |= FPSCR_ZX; in record_exception() 183 fpscr |= FPSCR_XX; in record_exception() 185 fpscr |= FPSCR_VX; in record_exception() 187 fpscr |= FPSCR_VXSNAN; in record_exception() 189 fpscr |= FPSCR_VXISI; in record_exception() [all …]
|
D | mtfsf.c | 13 u32 fpscr; in mtfsf() local 30 fpscr = ((__FPU_FPSCR & ~mask) | (frB[1] & mask)) & in mtfsf() 33 if (fpscr & (FPSCR_VXSNAN | FPSCR_VXISI | FPSCR_VXIDI | in mtfsf() 36 fpscr |= FPSCR_VX; in mtfsf() 42 if (fpscr & (fpscr >> 22) & 0xf8) in mtfsf() 43 fpscr |= FPSCR_FEX; in mtfsf() 45 __FPU_FPSCR = fpscr; in mtfsf()
|
D | fctiwz.c | 15 u32 fpscr; in fctiwz() local 18 fpscr = __FPU_FPSCR; in fctiwz() 26 __FPU_FPSCR = fpscr; in fctiwz()
|
/linux-6.6.21/arch/sh/kernel/cpu/sh4/ |
D | fpu.c | 230 if ((tsk->thread.xstate->hardfpu.fpscr & FPSCR_CAUSE_ERROR)) in ieee_fpe_handler() 242 int fpscr; in ieee_fpe_handler() local 250 fpscr = tsk->thread.xstate->hardfpu.fpscr; in ieee_fpe_handler() 251 prec = fpscr & FPSCR_DBL_PRECISION; in ieee_fpe_handler() 253 if ((fpscr & FPSCR_CAUSE_ERROR) in ieee_fpe_handler() 266 } else if ((fpscr & FPSCR_CAUSE_ERROR) in ieee_fpe_handler() 280 int fpscr; in ieee_fpe_handler() local 288 fpscr = tsk->thread.xstate->hardfpu.fpscr; in ieee_fpe_handler() 289 prec = fpscr & FPSCR_DBL_PRECISION; in ieee_fpe_handler() 291 if ((fpscr & FPSCR_CAUSE_ERROR) in ieee_fpe_handler() [all …]
|
/linux-6.6.21/arch/powerpc/kvm/ |
D | book3s_paired_singles.c | 493 void (*func)(u64 *fpscr, in kvmppc_ps_three_in() argument 513 func(&vcpu->arch.fp.fpscr, &ps0_out, &ps0_in1, &ps0_in2, &ps0_in3); in kvmppc_ps_three_in() 530 func(&vcpu->arch.fp.fpscr, &qpr[reg_out], &ps1_in1, &ps1_in2, &ps1_in3); in kvmppc_ps_three_in() 541 void (*func)(u64 *fpscr, in kvmppc_ps_two_in() argument 562 func(&vcpu->arch.fp.fpscr, &ps0_out, &ps0_in1, &ps0_in2); in kvmppc_ps_two_in() 578 func(&vcpu->arch.fp.fpscr, &ps1_out, &ps1_in1, &ps1_in2); in kvmppc_ps_two_in() 604 func(&vcpu->arch.fp.fpscr, &ps0_out, &ps0_in); in kvmppc_ps_one_in() 613 func(&vcpu->arch.fp.fpscr, &qpr[reg_out], &ps1_in); in kvmppc_ps_one_in() 1101 fpd_fadds(&vcpu->arch.fp.fpscr, &cr, fpr_d, fpr_a, fpr_b); in kvmppc_emulate_paired_single() 1105 fpd_fsubs(&vcpu->arch.fp.fpscr, &cr, fpr_d, fpr_a, fpr_b); in kvmppc_emulate_paired_single() [all …]
|
/linux-6.6.21/arch/sh/kernel/cpu/sh2a/ |
D | fpu.c | 456 if ((tsk->thread.xstate->hardfpu.fpscr & FPSCR_FPU_ERROR)) { in ieee_fpe_handler() 467 int fpscr; in ieee_fpe_handler() local 475 fpscr = tsk->thread.xstate->hardfpu.fpscr; in ieee_fpe_handler() 476 prec = fpscr & (1 << 19); in ieee_fpe_handler() 478 if ((fpscr & FPSCR_FPU_ERROR) in ieee_fpe_handler() 494 } else if ((fpscr & FPSCR_FPU_ERROR) in ieee_fpe_handler() 510 int fpscr; in ieee_fpe_handler() local 518 fpscr = tsk->thread.xstate->hardfpu.fpscr; in ieee_fpe_handler() 519 prec = fpscr & (1 << 19); in ieee_fpe_handler() 521 if ((fpscr & FPSCR_FPU_ERROR) in ieee_fpe_handler() [all …]
|
/linux-6.6.21/arch/arm64/kernel/ |
D | signal32.c | 28 compat_ulong_t fpscr; member 98 compat_ulong_t fpscr, fpexc; in compat_preserve_vfp_context() local 126 fpscr = (fpsimd->fpsr & VFP_FPSCR_STAT_MASK) | in compat_preserve_vfp_context() 128 __put_user_error(fpscr, &frame->ufp.fpscr, err); in compat_preserve_vfp_context() 147 compat_ulong_t fpscr; in compat_restore_vfp_context() local 168 __get_user_error(fpscr, &frame->ufp.fpscr, err); in compat_restore_vfp_context() 169 fpsimd.fpsr = fpscr & VFP_FPSCR_STAT_MASK; in compat_restore_vfp_context() 170 fpsimd.fpcr = fpscr & VFP_FPSCR_CTRL_MASK; in compat_restore_vfp_context()
|
/linux-6.6.21/arch/powerpc/kernel/ptrace/ |
D | ptrace-vsx.c | 32 buf[32] = target->thread.fp_state.fpscr; in fpr_get() 60 buf[32] = target->thread.fp_state.fpscr; in fpr_set() 69 target->thread.fp_state.fpscr = buf[32]; in fpr_set()
|
D | ptrace-novsx.c | 25 BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) != in fpr_get() 54 BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) != in fpr_set()
|
D | ptrace-fpu.c | 27 *data = child->thread.fp_state.fpscr; in ptrace_get_fpr() 53 child->thread.fp_state.fpscr = data; in ptrace_put_fpr()
|
/linux-6.6.21/arch/sh/kernel/cpu/ |
D | fpu.c | 32 fp->fpscr = FPSCR_INIT; in init_fpu() 36 fp->fpscr = FPSCR_INIT; in init_fpu()
|
/linux-6.6.21/arch/sh/include/asm/ |
D | processor_32.h | 69 unsigned long fpscr; member 79 unsigned long fpscr; member
|
D | user.h | 34 unsigned long fpscr; member
|
/linux-6.6.21/arch/powerpc/kernel/ |
D | signal.h | 58 unsafe_put_user(__t->thread.fp_state.fpscr, &buf[i], label); \ 78 unsafe_get_user(__t->thread.fp_state.fpscr, &buf[i], label); \ 99 unsafe_put_user(__t->thread.ckfp_state.fpscr, &buf[i], label); \ 119 unsafe_get_user(__t->thread.ckfp_state.fpscr, &buf[i], failed); \
|
D | signal.c | 38 buf[i] = task->thread.fp_state.fpscr; in copy_fpr_to_user() 52 task->thread.fp_state.fpscr = buf[i]; in copy_fpr_from_user() 92 buf[i] = task->thread.ckfp_state.fpscr; in copy_ckfpr_to_user() 106 task->thread.ckfp_state.fpscr = buf[i]; in copy_ckfpr_from_user()
|
D | traps.c | 1168 static inline int __parse_fpscr(unsigned long fpscr) in __parse_fpscr() argument 1173 if ((fpscr & FPSCR_VE) && (fpscr & FPSCR_VX)) in __parse_fpscr() 1177 else if ((fpscr & FPSCR_OE) && (fpscr & FPSCR_OX)) in __parse_fpscr() 1181 else if ((fpscr & FPSCR_UE) && (fpscr & FPSCR_UX)) in __parse_fpscr() 1185 else if ((fpscr & FPSCR_ZE) && (fpscr & FPSCR_ZX)) in __parse_fpscr() 1189 else if ((fpscr & FPSCR_XE) && (fpscr & FPSCR_XX)) in __parse_fpscr() 1203 code = __parse_fpscr(current->thread.fp_state.fpscr); in parse_fpe() 1464 code = __parse_fpscr(current->thread.fp_state.fpscr); in emulate_math()
|
/linux-6.6.21/arch/arm/kernel/ |
D | ptrace.c | 617 const size_t user_fpscr_offset = offsetof(struct user_vfp, fpscr); in vfp_get() 623 return membuf_store(&to, vfp->fpscr); in vfp_get() 640 const size_t user_fpscr_offset = offsetof(struct user_vfp, fpscr); in vfp_set() 657 &new_vfp.fpscr, in vfp_set() 659 user_fpscr_offset + sizeof(new_vfp.fpscr)); in vfp_set()
|
/linux-6.6.21/arch/arm/include/asm/ |
D | user.h | 87 unsigned long fpscr; member
|
D | fpstate.h | 33 __u32 fpscr; member
|