xcp                52 arch/mips/include/asm/dsemul.h extern bool do_dsemulret(struct pt_regs *xcp);
xcp                54 arch/mips/include/asm/dsemul.h static inline bool do_dsemulret(struct pt_regs *xcp)
xcp               168 arch/mips/include/asm/fpu_emulator.h extern int fpu_emulator_cop1Handler(struct pt_regs *xcp,
xcp               782 arch/mips/math-emu/cp1emu.c static inline int cop1_64bit(struct pt_regs *xcp)
xcp               800 arch/mips/math-emu/cp1emu.c 	if (cop1_64bit(xcp) && !hybrid_fprs())				\
xcp               808 arch/mips/math-emu/cp1emu.c 	if (cop1_64bit(xcp) && !hybrid_fprs()) {			\
xcp               829 arch/mips/math-emu/cp1emu.c 	((di) = get_fpr64(&ctx->fpr[(x) & ~(cop1_64bit(xcp) ^ 1)], 0))
xcp               834 arch/mips/math-emu/cp1emu.c 	fpr = (x) & ~(cop1_64bit(xcp) ^ 1);				\
xcp               848 arch/mips/math-emu/cp1emu.c static inline void cop1_cfc(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
xcp               858 arch/mips/math-emu/cp1emu.c 			 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value);
xcp               868 arch/mips/math-emu/cp1emu.c 			 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value);
xcp               876 arch/mips/math-emu/cp1emu.c 			 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value);
xcp               887 arch/mips/math-emu/cp1emu.c 			 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value);
xcp               899 arch/mips/math-emu/cp1emu.c 		xcp->regs[MIPSInst_RT(ir)] = value;
xcp               905 arch/mips/math-emu/cp1emu.c static inline void cop1_ctc(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
xcp               915 arch/mips/math-emu/cp1emu.c 		value = xcp->regs[MIPSInst_RT(ir)];
xcp               920 arch/mips/math-emu/cp1emu.c 			 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value);
xcp               931 arch/mips/math-emu/cp1emu.c 			 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value);
xcp               942 arch/mips/math-emu/cp1emu.c 			 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value);
xcp               951 arch/mips/math-emu/cp1emu.c 			 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value);
xcp               971 arch/mips/math-emu/cp1emu.c static int cop1Emulate(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
xcp               974 arch/mips/math-emu/cp1emu.c 	unsigned long contpc = xcp->cp0_epc + dec_insn.pc_inc;
xcp               993 arch/mips/math-emu/cp1emu.c 	if (delay_slot(xcp)) {
xcp               995 arch/mips/math-emu/cp1emu.c 			if (!mm_isBranchInstr(xcp, dec_insn, &contpc))
xcp               996 arch/mips/math-emu/cp1emu.c 				clear_delay_slot(xcp);
xcp               998 arch/mips/math-emu/cp1emu.c 			if (!isBranchInstr(xcp, dec_insn, &contpc))
xcp               999 arch/mips/math-emu/cp1emu.c 				clear_delay_slot(xcp);
xcp              1003 arch/mips/math-emu/cp1emu.c 	if (delay_slot(xcp)) {
xcp              1046 arch/mips/math-emu/cp1emu.c 	perf_sw_event(PERF_COUNT_SW_EMULATION_FAULTS, 1, xcp, 0);
xcp              1050 arch/mips/math-emu/cp1emu.c 		dva = (u64 __user *) (xcp->regs[MIPSInst_RS(ir)] +
xcp              1068 arch/mips/math-emu/cp1emu.c 		dva = (u64 __user *) (xcp->regs[MIPSInst_RS(ir)] +
xcp              1085 arch/mips/math-emu/cp1emu.c 		wva = (u32 __user *) (xcp->regs[MIPSInst_RS(ir)] +
xcp              1102 arch/mips/math-emu/cp1emu.c 		wva = (u32 __user *) (xcp->regs[MIPSInst_RS(ir)] +
xcp              1126 arch/mips/math-emu/cp1emu.c 				DIFROMREG(xcp->regs[MIPSInst_RT(ir)],
xcp              1136 arch/mips/math-emu/cp1emu.c 			DITOREG(xcp->regs[MIPSInst_RT(ir)], MIPSInst_RD(ir));
xcp              1145 arch/mips/math-emu/cp1emu.c 				SIFROMHREG(xcp->regs[MIPSInst_RT(ir)],
xcp              1155 arch/mips/math-emu/cp1emu.c 			SITOHREG(xcp->regs[MIPSInst_RT(ir)], MIPSInst_RD(ir));
xcp              1161 arch/mips/math-emu/cp1emu.c 				SIFROMREG(xcp->regs[MIPSInst_RT(ir)],
xcp              1168 arch/mips/math-emu/cp1emu.c 			SITOREG(xcp->regs[MIPSInst_RT(ir)], MIPSInst_RD(ir));
xcp              1173 arch/mips/math-emu/cp1emu.c 			cop1_cfc(xcp, ctx, ir);
xcp              1178 arch/mips/math-emu/cp1emu.c 			cop1_ctc(xcp, ctx, ir);
xcp              1186 arch/mips/math-emu/cp1emu.c 			if (!cpu_has_mips_r6 || delay_slot(xcp))
xcp              1206 arch/mips/math-emu/cp1emu.c 			if (delay_slot(xcp))
xcp              1233 arch/mips/math-emu/cp1emu.c 			set_delay_slot(xcp);
xcp              1245 arch/mips/math-emu/cp1emu.c 				bcpc = xcp->cp0_epc;
xcp              1246 arch/mips/math-emu/cp1emu.c 				xcp->cp0_epc += dec_insn.pc_inc;
xcp              1251 arch/mips/math-emu/cp1emu.c 					contpc = (xcp->cp0_epc + (contpc << 1));
xcp              1271 arch/mips/math-emu/cp1emu.c 						sig = mips_dsemul(xcp, ir,
xcp              1276 arch/mips/math-emu/cp1emu.c 							xcp->cp0_epc = bcpc;
xcp              1284 arch/mips/math-emu/cp1emu.c 					contpc = (xcp->cp0_epc + (contpc << 2));
xcp              1319 arch/mips/math-emu/cp1emu.c 					xcp->cp0_epc = bcpc;
xcp              1327 arch/mips/math-emu/cp1emu.c 				sig = mips_dsemul(xcp, ir, bcpc, contpc);
xcp              1331 arch/mips/math-emu/cp1emu.c 					xcp->cp0_epc = bcpc;
xcp              1339 arch/mips/math-emu/cp1emu.c 				xcp->cp0_epc += dec_insn.pc_inc;
xcp              1353 arch/mips/math-emu/cp1emu.c 			sig = fpu_emu(xcp, ctx, ir);
xcp              1363 arch/mips/math-emu/cp1emu.c 		sig = fpux_emu(xcp, ctx, ir, fault_addr);
xcp              1376 arch/mips/math-emu/cp1emu.c 			xcp->regs[MIPSInst_RD(ir)] =
xcp              1377 arch/mips/math-emu/cp1emu.c 				xcp->regs[MIPSInst_RS(ir)];
xcp              1384 arch/mips/math-emu/cp1emu.c 	xcp->cp0_epc = contpc;
xcp              1385 arch/mips/math-emu/cp1emu.c 	clear_delay_slot(xcp);
xcp              1463 arch/mips/math-emu/cp1emu.c static int fpux_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
xcp              1480 arch/mips/math-emu/cp1emu.c 			va = (void __user *) (xcp->regs[MIPSInst_FR(ir)] +
xcp              1481 arch/mips/math-emu/cp1emu.c 				xcp->regs[MIPSInst_FT(ir)]);
xcp              1498 arch/mips/math-emu/cp1emu.c 			va = (void __user *) (xcp->regs[MIPSInst_FR(ir)] +
xcp              1499 arch/mips/math-emu/cp1emu.c 				xcp->regs[MIPSInst_FT(ir)]);
xcp              1577 arch/mips/math-emu/cp1emu.c 			va = (void __user *) (xcp->regs[MIPSInst_FR(ir)] +
xcp              1578 arch/mips/math-emu/cp1emu.c 				xcp->regs[MIPSInst_FT(ir)]);
xcp              1595 arch/mips/math-emu/cp1emu.c 			va = (void __user *) (xcp->regs[MIPSInst_FR(ir)] +
xcp              1596 arch/mips/math-emu/cp1emu.c 				xcp->regs[MIPSInst_FT(ir)]);
xcp              1658 arch/mips/math-emu/cp1emu.c static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
xcp              1747 arch/mips/math-emu/cp1emu.c 			if (xcp->regs[MIPSInst_FT(ir)] != 0)
xcp              1756 arch/mips/math-emu/cp1emu.c 			if (xcp->regs[MIPSInst_FT(ir)] == 0)
xcp              2119 arch/mips/math-emu/cp1emu.c 			if (xcp->regs[MIPSInst_FT(ir)] != 0)
xcp              2127 arch/mips/math-emu/cp1emu.c 			if (xcp->regs[MIPSInst_FT(ir)] == 0)
xcp              2813 arch/mips/math-emu/cp1emu.c int fpu_emulator_cop1Handler(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
xcp              2829 arch/mips/math-emu/cp1emu.c 	oldepc = xcp->cp0_epc;
xcp              2831 arch/mips/math-emu/cp1emu.c 		prevepc = xcp->cp0_epc;
xcp              2838 arch/mips/math-emu/cp1emu.c 			if ((get_user(instr[0], (u16 __user *)msk_isa16_mode(xcp->cp0_epc))) ||
xcp              2839 arch/mips/math-emu/cp1emu.c 			    (get_user(instr[1], (u16 __user *)msk_isa16_mode(xcp->cp0_epc + 2))) ||
xcp              2840 arch/mips/math-emu/cp1emu.c 			    (get_user(instr[2], (u16 __user *)msk_isa16_mode(xcp->cp0_epc + 4))) ||
xcp              2841 arch/mips/math-emu/cp1emu.c 			    (get_user(instr[3], (u16 __user *)msk_isa16_mode(xcp->cp0_epc + 6)))) {
xcp              2878 arch/mips/math-emu/cp1emu.c 			    (mips_instruction __user *) xcp->cp0_epc)) ||
xcp              2880 arch/mips/math-emu/cp1emu.c 			    (mips_instruction __user *)(xcp->cp0_epc+4)))) {
xcp              2892 arch/mips/math-emu/cp1emu.c 			xcp->cp0_epc += dec_insn.pc_inc;	/* Skip NOPs */
xcp              2898 arch/mips/math-emu/cp1emu.c 			sig = cop1Emulate(xcp, ctx, dec_insn, fault_addr);
xcp              2912 arch/mips/math-emu/cp1emu.c 		if ((xcp->cp0_epc ^ prevepc) & 0x1)
xcp              2916 arch/mips/math-emu/cp1emu.c 	} while (xcp->cp0_epc > prevepc);
xcp              2919 arch/mips/math-emu/cp1emu.c 	if (sig == SIGILL && xcp->cp0_epc != oldepc)
xcp               295 arch/mips/math-emu/dsemul.c bool do_dsemulret(struct pt_regs *xcp)
xcp               304 arch/mips/math-emu/dsemul.c 	xcp->cp0_epc = current->thread.bd_emu_cont_pc;
xcp               305 arch/mips/math-emu/dsemul.c 	pr_debug("dsemulret to 0x%08lx\n", xcp->cp0_epc);