• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/arch/mips/math-emu/

Lines Matching refs:xcp

181 			(xcp->cp0_status & FR_BIT) || !(x & 1) ? \
184 #define SITOREG(si,x) (ctx->fpr[x & ~((xcp->cp0_status & FR_BIT) == 0)] = \
185 (xcp->cp0_status & FR_BIT) || !(x & 1) ? \
190 ctx->fpr[x & ~((xcp->cp0_status & FR_BIT) == 0)])
191 #define DITOREG(di,x) (ctx->fpr[x & ~((xcp->cp0_status & FR_BIT) == 0)] \
204 static int cop1Emulate(struct pt_regs *xcp, struct mips_fpu_struct *ctx)
210 if (get_user(ir, (mips_instruction __user *) xcp->cp0_epc)) {
215 if ((xcp->cp0_cause & CAUSEF_BD) && !isBranchInstr(&ir))
216 xcp->cp0_cause &= ~CAUSEF_BD;
218 if (xcp->cp0_cause & CAUSEF_BD) {
231 emulpc = (void *) (xcp->cp0_epc + 4); /* Snapshot emulation target */
233 if (__compute_return_epc(xcp)) {
236 (void *) (xcp->cp0_epc));
245 contpc = (void *) xcp->cp0_epc;
247 xcp->cp0_epc = (unsigned long) emulpc - 4;
249 emulpc = (void *) xcp->cp0_epc;
250 contpc = (void *) (xcp->cp0_epc + 4);
257 u64 __user *va = (u64 __user *) (xcp->regs[MIPSInst_RS(ir)] +
271 u64 __user *va = (u64 __user *) (xcp->regs[MIPSInst_RS(ir)] +
285 u32 __user *va = (u32 __user *) (xcp->regs[MIPSInst_RS(ir)] +
299 u32 __user *va = (u32 __user *) (xcp->regs[MIPSInst_RS(ir)] +
319 DIFROMREG(xcp->regs[MIPSInst_RT(ir)],
326 DITOREG(xcp->regs[MIPSInst_RT(ir)], MIPSInst_RD(ir));
333 SIFROMREG(xcp->regs[MIPSInst_RT(ir)],
340 SITOREG(xcp->regs[MIPSInst_RT(ir)], MIPSInst_RD(ir));
348 return do_dsemulret(xcp);
355 (void *) (xcp->cp0_epc),
364 xcp->regs[MIPSInst_RT(ir)] = value;
375 value = xcp->regs[MIPSInst_RT(ir)];
382 (void *) (xcp->cp0_epc),
399 if (xcp->cp0_cause & CAUSEF_BD)
422 xcp->cp0_cause |= CAUSEF_BD;
427 xcp->cp0_epc += 4;
429 (xcp->cp0_epc +
433 (mips_instruction __user *) xcp->cp0_epc)) {
463 return mips_dsemul(xcp, ir, (unsigned long) contpc);
472 xcp->cp0_epc += 4;
490 if ((sig = fpu_emu(xcp, ctx, ir)))
500 if ((sig = fpux_emu(xcp, ctx, ir)))
512 xcp->regs[MIPSInst_RD(ir)] =
513 xcp->regs[MIPSInst_RS(ir)];
522 xcp->cp0_epc = (unsigned long) contpc;
523 xcp->cp0_cause &= ~CAUSEF_BD;
595 static int fpux_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
612 va = (void __user *) (xcp->regs[MIPSInst_FR(ir)] +
613 xcp->regs[MIPSInst_FT(ir)]);
624 va = (void __user *) (xcp->regs[MIPSInst_FR(ir)] +
625 xcp->regs[MIPSInst_FT(ir)]);
689 va = (void __user *) (xcp->regs[MIPSInst_FR(ir)] +
690 xcp->regs[MIPSInst_FT(ir)]);
701 va = (void __user *) (xcp->regs[MIPSInst_FR(ir)] +
702 xcp->regs[MIPSInst_FT(ir)]);
759 static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
820 if (xcp->regs[MIPSInst_FT(ir)] != 0)
825 if (xcp->regs[MIPSInst_FT(ir)] == 0)
1005 if (xcp->regs[MIPSInst_FT(ir)] != 0)
1010 if (xcp->regs[MIPSInst_FT(ir)] == 0)
1233 int fpu_emulator_cop1Handler(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
1240 oldepc = xcp->cp0_epc;
1242 prevepc = xcp->cp0_epc;
1244 if (get_user(insn, (mips_instruction __user *) xcp->cp0_epc)) {
1249 xcp->cp0_epc += 4; /* skip nops */
1259 sig = cop1Emulate(xcp, ctx);
1270 } while (xcp->cp0_epc > prevepc);
1273 if (sig == SIGILL && xcp->cp0_epc != oldepc)