Lines Matching refs:fpscr
115 vfp->hard.fpscr = FPSCR_ROUND_NEAREST; in vfp_thread_flush()
252 static void vfp_raise_exceptions(u32 exceptions, u32 inst, u32 fpscr, struct pt_regs *regs) in vfp_raise_exceptions() argument
270 fpscr &= ~(FPSCR_N|FPSCR_Z|FPSCR_C|FPSCR_V); in vfp_raise_exceptions()
272 fpscr |= exceptions; in vfp_raise_exceptions()
274 fmxr(FPSCR, fpscr); in vfp_raise_exceptions()
277 if (exceptions & stat && fpscr & en) \ in vfp_raise_exceptions()
296 static u32 vfp_emulate_instruction(u32 inst, u32 fpscr, struct pt_regs *regs) in vfp_emulate_instruction() argument
300 pr_debug("VFP: emulate: INST=0x%08x SCR=0x%08x\n", inst, fpscr); in vfp_emulate_instruction()
308 exceptions = vfp_single_cpdo(inst, fpscr); in vfp_emulate_instruction()
310 exceptions = vfp_double_cpdo(inst, fpscr); in vfp_emulate_instruction()
334 u32 fpscr, orig_fpscr, fpsid, exceptions; in VFP_bounce() local
354 orig_fpscr = fpscr = fmrx(FPSCR); in VFP_bounce()
360 && (fpscr & FPSCR_IXE)) { in VFP_bounce()
382 vfp_raise_exceptions(VFP_EXCEPTION_ERROR, trigger, fpscr, regs); in VFP_bounce()
396 fpscr &= ~FPSCR_LENGTH_MASK; in VFP_bounce()
397 fpscr |= (len & FPEXC_LENGTH_MASK) << (FPSCR_LENGTH_BIT - FPEXC_LENGTH_BIT); in VFP_bounce()
405 exceptions = vfp_emulate_instruction(trigger, fpscr, regs); in VFP_bounce()
575 ufp->fpscr = hwstate->fpscr; in vfp_preserve_user_clear_hwstate()
591 hwstate->fpscr &= ~(FPSCR_LENGTH_MASK | FPSCR_STRIDE_MASK); in vfp_preserve_user_clear_hwstate()
613 hwstate->fpscr = ufp->fpscr; in vfp_restore_user_hwstate()