Lines Matching refs:rp

200 fasttrap_anarg(struct regs *rp, int argno)
205 return ((&rp->r_o0)[argno]);
208 struct frame *fr = (struct frame *)(rp->r_sp + STACK_BIAS);
215 struct frame32 *fr = (struct frame32 *)rp->r_sp;
230 fasttrap_usdt_args(fasttrap_probe_t *probe, struct regs *rp,
239 * avoid a call to fasttrap_getreg(), and safely use rp->r_sp
247 struct frame *fr = (struct frame *)(rp->r_sp + STACK_BIAS);
254 argv[i] = fasttrap_getreg(rp, R_O0 + x + inc);
260 struct frame32 *fr = (struct frame32 *)rp->r_sp;
267 argv[i] = fasttrap_getreg(rp, R_O0 + x + inc);
279 fasttrap_return_common(struct regs *rp, uintptr_t pc, pid_t pid,
315 fasttrap_usdt_args(probe, rp, fake_restore,
328 fasttrap_usdt_args(probe, rp, fake_restore,
335 uintptr_t arg0 = fasttrap_getreg(rp, R_I0);
336 uintptr_t arg1 = fasttrap_getreg(rp, R_I1);
337 uintptr_t arg2 = fasttrap_getreg(rp, R_I2);
338 uintptr_t arg3 = fasttrap_getreg(rp, R_I3);
339 uintptr_t arg4 = fasttrap_getreg(rp, R_I4);
349 dtrace_probe(probe->ftp_id, rp->r_o0, rp->r_o1,
350 rp->r_o2, rp->r_o3, rp->r_o4);
366 rp->r_npc - probe->ftp_faddr < probe->ftp_fsize)
380 if (rp->r_npc == rp->r_pc + 4 &&
381 rp->r_npc - probe->ftp_faddr < probe->ftp_fsize)
394 rp->r_o0, rp->r_o1, rp->r_o2, rp->r_o3);
396 uintptr_t arg0 = fasttrap_getreg(rp, R_I0);
397 uintptr_t arg1 = fasttrap_getreg(rp, R_I1);
398 uintptr_t arg2 = fasttrap_getreg(rp, R_I2);
399 uintptr_t arg3 = fasttrap_getreg(rp, R_I3);
414 fasttrap_pid_probe(struct regs *rp)
420 uintptr_t pc = rp->r_pc;
421 uintptr_t npc = rp->r_npc;
499 dtrace_probe(probe->ftp_id, rp->r_o0, rp->r_o1, rp->r_o2,
500 rp->r_o3, rp->r_o4);
528 rp->r_o0 = 1;
529 pc = rp->r_npc;
561 rp->r_g1 = rp->r_sp + imm;
562 pc = rp->r_g7 + FASTTRAP_OFF_SAVE;
594 value = fasttrap_getreg(rp, RS1(tp->ftt_instr)) + imm;
596 value = fasttrap_getreg(rp, RS1(tp->ftt_instr)) +
597 fasttrap_getreg(rp, RS2(tp->ftt_instr));
604 fasttrap_putreg(rp, ((rd & 0x18) == 0x8) ? rd + 16 : rd, value);
606 pc = rp->r_g7 + FASTTRAP_OFF_RESTORE;
631 target = fasttrap_getreg(rp, RS1(tp->ftt_instr)) + imm;
633 target = fasttrap_getreg(rp, RS1(tp->ftt_instr)) +
634 fasttrap_getreg(rp, RS2(tp->ftt_instr));
637 fasttrap_putreg(rp, R_O0, target);
639 pc = rp->r_g7 + FASTTRAP_OFF_RETURN;
653 value = fasttrap_getreg(rp, RS1(tp->ftt_instr)) | imm;
655 value = fasttrap_getreg(rp, RS1(tp->ftt_instr)) |
656 fasttrap_getreg(rp, RS2(tp->ftt_instr));
659 fasttrap_putreg(rp, RD(tp->ftt_instr), value);
660 pc = rp->r_npc;
668 fasttrap_putreg(rp, RD(tp->ftt_instr), (ulong_t)imm32);
670 pc = rp->r_npc;
677 uint_t ccr = rp->r_tstate >> TSTATE_CCR_SHIFT;
728 pc = rp->r_npc;
735 pc = rp->r_npc + 4;
738 pc = rp->r_npc;
802 pc = rp->r_npc;
809 pc = rp->r_npc + 4;
812 pc = rp->r_npc;
833 value = (int64_t)fasttrap_getreg(rp, reg);
855 pc = rp->r_npc;
862 pc = rp->r_npc + 4;
865 pc = rp->r_npc;
884 pc = rp->r_npc;
890 fasttrap_putreg(rp, RD(tp->ftt_instr), rp->r_pc);
891 pc = rp->r_npc;
899 rp->r_o7 = rp->r_pc;
900 pc = rp->r_npc;
905 pc = rp->r_npc;
913 npc = fasttrap_getreg(rp, rs1) + imm;
918 npc = fasttrap_getreg(rp, rs1) +
919 fasttrap_getreg(rp, rs2);
925 fasttrap_putreg(rp, RD(tp->ftt_instr), rp->r_pc);
931 curthread->t_dtrace_scrpc = rp->r_g7;
932 curthread->t_dtrace_astpc = rp->r_g7 + FASTTRAP_OFF_FTRET;
947 if (dtrace_blksuword32(rp->r_g7, &tp->ftt_instr, 1) == -1) {
980 ASSERT(pc != rp->r_g7 + 4);
981 ASSERT(pc != rp->r_g7 + 8);
999 fasttrap_return_common(rp, orig_pc, pid, fake_restore);
1003 ASSERT(curthread->t_dtrace_scrpc == rp->r_g7);
1009 rp->r_pc = pc;
1010 rp->r_npc = npc;
1016 fasttrap_return_probe(struct regs *rp)
1045 rp->r_pc = pc;
1046 rp->r_npc = npc;
1049 fasttrap_return_common(rp, pc, pid, 0);
1386 fasttrap_getreg(struct regs *rp, uint_t reg)
1402 return ((&rp->r_g1)[reg - 1]);
1425 mpcb = (struct machpcb *)((caddr_t)rp - REGOFF);
1428 struct frame *fr = (struct frame *)(rp->r_sp + STACK_BIAS);
1435 if ((long)mpcb->mpcb_spbuf[i] != rp->r_sp)
1447 (struct frame32 *)(uintptr_t)(caddr32_t)rp->r_sp;
1455 if ((long)mpcb->mpcb_spbuf[i] != rp->r_sp)
1486 fasttrap_putreg(struct regs *rp, uint_t reg, ulong_t value)
1496 (&rp->r_g1)[reg - 1] = value;
1524 mpcb = (struct machpcb *)((caddr_t)rp - REGOFF);
1527 struct frame *fr = (struct frame *)(rp->r_sp + STACK_BIAS);
1535 if ((long)mpcb->mpcb_spbuf[i] != rp->r_sp)
1550 mpcb->mpcb_spbuf[mpcb->mpcb_wbcnt] = (caddr_t)rp->r_sp;
1557 (struct frame32 *)(uintptr_t)(caddr32_t)rp->r_sp;
1566 if ((long)mpcb->mpcb_spbuf[i] != rp->r_sp)
1581 mpcb->mpcb_spbuf[mpcb->mpcb_wbcnt] = (caddr_t)rp->r_sp;