Lines Matching refs:P
48 Ppltdest(struct ps_prochandle *P, uintptr_t pltaddr) in Ppltdest() argument
50 map_info_t *mp = Paddr2mptr(P, pltaddr); in Ppltdest()
64 if (P->status.pr_dmodel == PR_MODEL_LP64) { in Ppltdest()
69 if (Pread(P, &r, sizeof (r), r_addr) == sizeof (r) && in Ppltdest()
81 if (Pread(P, &r, sizeof (r), r_addr) == sizeof (r) && in Ppltdest()
94 Pissyscall(struct ps_prochandle *P, uintptr_t addr) in Pissyscall() argument
98 if (P->status.pr_dmodel == PR_MODEL_LP64) { in Pissyscall()
99 if (Pread(P, instr, sizeof (syscall_instr), addr) != in Pissyscall()
107 if (Pread(P, instr, sizeof (int_syscall_instr), addr) != in Pissyscall()
118 Pissyscall_prev(struct ps_prochandle *P, uintptr_t addr, uintptr_t *dst) in Pissyscall_prev() argument
122 if (P->status.pr_dmodel == PR_MODEL_LP64) { in Pissyscall_prev()
123 if (Pissyscall(P, addr - sizeof (syscall_instr))) { in Pissyscall_prev()
131 if ((ret = Pissyscall(P, addr - sizeof (int_syscall_instr))) != 0) { in Pissyscall_prev()
141 Pissyscall_text(struct ps_prochandle *P, const void *buf, size_t buflen) in Pissyscall_text() argument
143 if (P->status.pr_dmodel == PR_MODEL_LP64) { in Pissyscall_text()
163 argcount_ctf(struct ps_prochandle *P, uint32_t pc, uint_t *countp) in argcount_ctf() argument
170 if (Pxlookup_by_addr(P, pc, NULL, 0, &sym, &si) != 0) in argcount_ctf()
173 if ((ctfp = Paddr_to_ctf(P, pc)) == NULL) in argcount_ctf()
201 argcount(struct ps_prochandle *P, uint32_t pc, ssize_t sz) in argcount() argument
211 if (Pread(P, instr, sizeof (instr), (uintptr_t)pc) != sizeof (instr)) in argcount()
259 Pstack_iter32(struct ps_prochandle *P, const prgregset_t regs, in Pstack_iter32() argument
294 init_uclist(&ucl, P); in Pstack_iter32()
305 (sz = Pread(P, &frame, sizeof (frame), (uintptr_t)fp) in Pstack_iter32()
314 if (argcount_ctf(P, ctf_pc, &argc)) { in Pstack_iter32()
317 argc = argcount(P, (uint32_t)frame.pc, in Pstack_iter32()
359 Pread(P, &uc, sizeof (uc), uc_addr) == sizeof (uc)) { in Pstack_iter32()
384 read_args(struct ps_prochandle *P, uintptr_t fp, uintptr_t pc, prgreg_t *args, in read_args() argument
400 if (Pxlookup_by_addr(P, pc, NULL, 0, &sym, &si) != 0) in read_args()
403 if ((ctfp = Paddr_to_ctf(P, pc)) == NULL) in read_args()
452 if (Pread(P, ins, insnsize, sym.st_value) != insnsize) in read_args()
470 if (Pread(P, args, size, (fp - size)) != size) in read_args()
484 if (Pread(P, &args[regargs], size, fp + in read_args()
496 Pstack_iter(struct ps_prochandle *P, const prgregset_t regs, in Pstack_iter() argument
531 if (P->status.pr_dmodel != PR_MODEL_LP64) in Pstack_iter()
532 return (Pstack_iter32(P, regs, func, arg)); in Pstack_iter()
534 init_uclist(&ucl, P); in Pstack_iter()
546 Pread(P, &frame, sizeof (frame), (uintptr_t)fp) == in Pstack_iter()
551 if (Pread(P, &args, 2 * sizeof (prgreg_t), in Pstack_iter()
556 argc = read_args(P, fp, pc, args, in Pstack_iter()
577 if (Pread(P, &uc, sizeof (uc), uc_addr) in Pstack_iter()
595 Psyscall_setup(struct ps_prochandle *P, int nargs, int sysindex, uintptr_t sp) in Psyscall_setup() argument
597 if (P->status.pr_dmodel == PR_MODEL_ILP32) { in Psyscall_setup()
600 P->status.pr_lwp.pr_reg[REG_RAX] = sysindex; in Psyscall_setup()
601 P->status.pr_lwp.pr_reg[REG_RSP] = sp; in Psyscall_setup()
602 P->status.pr_lwp.pr_reg[REG_RIP] = P->sysaddr; in Psyscall_setup()
608 P->status.pr_lwp.pr_reg[REG_RAX] = sysindex; in Psyscall_setup()
609 P->status.pr_lwp.pr_reg[REG_RSP] = sp; in Psyscall_setup()
610 P->status.pr_lwp.pr_reg[REG_RIP] = P->sysaddr; in Psyscall_setup()
617 Psyscall_copyinargs(struct ps_prochandle *P, int nargs, argdes_t *argp, in Psyscall_copyinargs() argument
620 if (P->status.pr_dmodel == PR_MODEL_ILP32) { in Psyscall_copyinargs()
628 arglist[0] = P->status.pr_lwp.pr_reg[REG_RIP]; in Psyscall_copyinargs()
629 if (Pwrite(P, &arglist[0], sizeof (int) * (nargs+1), in Psyscall_copyinargs()
641 (void) Pputareg(P, REG_RDI, adp->arg_value); in Psyscall_copyinargs()
644 (void) Pputareg(P, REG_RSI, adp->arg_value); in Psyscall_copyinargs()
647 (void) Pputareg(P, REG_RDX, adp->arg_value); in Psyscall_copyinargs()
650 (void) Pputareg(P, REG_RCX, adp->arg_value); in Psyscall_copyinargs()
653 (void) Pputareg(P, REG_R8, adp->arg_value); in Psyscall_copyinargs()
656 (void) Pputareg(P, REG_R9, adp->arg_value); in Psyscall_copyinargs()
664 arglist[0] = P->status.pr_lwp.pr_reg[REG_RIP]; in Psyscall_copyinargs()
666 if (Pwrite(P, &arglist[0], in Psyscall_copyinargs()
676 Psyscall_copyoutargs(struct ps_prochandle *P, int nargs, argdes_t *argp, in Psyscall_copyoutargs() argument
679 if (P->status.pr_dmodel == PR_MODEL_ILP32) { in Psyscall_copyoutargs()
684 if (Pread(P, &arglist[0], sizeof (int) * (nargs+1), in Psyscall_copyoutargs()
697 Pread(P, &arglist[0], sizeof (int64_t) * (pusharg + 1), in Psyscall_copyoutargs()
705 P->status.pr_lwp.pr_reg[REG_RDI]; in Psyscall_copyoutargs()
709 P->status.pr_lwp.pr_reg[REG_RSI]; in Psyscall_copyoutargs()
713 P->status.pr_lwp.pr_reg[REG_RDX]; in Psyscall_copyoutargs()
717 P->status.pr_lwp.pr_reg[REG_RCX]; in Psyscall_copyoutargs()
721 P->status.pr_lwp.pr_reg[REG_R8]; in Psyscall_copyoutargs()
725 P->status.pr_lwp.pr_reg[REG_R9]; in Psyscall_copyoutargs()