Lines Matching refs:rp
174 dtrace_user_probe(struct regs *rp, caddr_t addr, processorid_t cpuid)
180 if (USERMODE(rp->r_cs) || (rp->r_ps & PS_VM)) {
193 if (rp->r_trapno == T_DTRACE_RET) {
225 rp->r_pc = npc;
236 (void) (*dtrace_return_probe_ptr)(rp);
238 rp->r_pc = npc;
240 } else if (rp->r_trapno == T_BPTFLT) {
254 (*dtrace_pid_probe_ptr)(rp) == 0) {
260 if (dtrace_linear_pc(rp, p, &linearpc) != 0) {
261 trap(rp, addr, cpuid);
275 if (rp->r_pc > 0 && fuword8(linearpc - 1, &instr) == 0 &&
277 (instr != 3 || (rp->r_pc >= 2 &&
279 rp->r_pc--;
283 trap(rp, addr, cpuid);
286 trap(rp, addr, cpuid);
294 struct regs *rp = lwptoregs(ttolwp(t));
305 if (rp->r_pc < t->t_dtrace_scrpc ||
306 rp->r_pc > t->t_dtrace_astpc + isz) {
308 } else if (rp->r_pc == t->t_dtrace_scrpc ||
309 rp->r_pc == t->t_dtrace_astpc) {
310 rp->r_pc = t->t_dtrace_pc;
319 struct regs *rp = lwptoregs(ttolwp(t));
328 if (rp->r_pc < t->t_dtrace_scrpc ||
329 rp->r_pc > t->t_dtrace_astpc + isz) {
341 if (t->t_dtrace_astpc - rp->r_pc <
350 rp->r_pc == t->t_dtrace_scrpc + isz) {
353 rp->r_rax = t->t_dtrace_regv;
356 rp->r_rcx = t->t_dtrace_regv;
359 rp->r_r8 = t->t_dtrace_regv;
362 rp->r_r9 = t->t_dtrace_regv;
367 rp->r_pc = t->t_dtrace_npc;
377 ASSERT(rp->r_pc < t->t_dtrace_astpc);
378 rp->r_pc += t->t_dtrace_astpc - t->t_dtrace_scrpc;