Lines Matching defs:P
47 Ppltdest(struct ps_prochandle *P, uintptr_t pltaddr)
49 map_info_t *mp = Paddr2mptr(P, pltaddr);
63 if (P->status.pr_dmodel == PR_MODEL_LP64) {
68 if (Pread(P, &r, sizeof (r), r_addr) == sizeof (r) &&
80 if (Pread(P, &r, sizeof (r), r_addr) == sizeof (r) &&
93 Pissyscall(struct ps_prochandle *P, uintptr_t addr)
97 if (P->status.pr_dmodel == PR_MODEL_LP64) {
98 if (Pread(P, instr, sizeof (syscall_instr), addr) !=
106 if (Pread(P, instr, sizeof (int_syscall_instr), addr) !=
117 Pissyscall_prev(struct ps_prochandle *P, uintptr_t addr, uintptr_t *dst)
121 if (P->status.pr_dmodel == PR_MODEL_LP64) {
122 if (Pissyscall(P, addr - sizeof (syscall_instr))) {
130 if ((ret = Pissyscall(P, addr - sizeof (int_syscall_instr))) != 0) {
140 Pissyscall_text(struct ps_prochandle *P, const void *buf, size_t buflen)
142 if (P->status.pr_dmodel == PR_MODEL_LP64) {
178 argcount(struct ps_prochandle *P, uint32_t pc, ssize_t sz)
188 if (Pread(P, instr, sizeof (instr), (uintptr_t)pc) != sizeof (instr))
236 Pstack_iter32(struct ps_prochandle *P, const prgregset_t regs,
271 init_uclist(&ucl, P);
282 (sz = Pread(P, &frame, sizeof (frame), (uintptr_t)fp)
291 argc = argcount(P, (uint32_t)frame.pc, sz);
330 Pread(P, &uc, sizeof (uc), uc_addr) == sizeof (uc)) {
355 read_args(struct ps_prochandle *P, uintptr_t fp, uintptr_t pc, prgreg_t *args,
371 if (Pxlookup_by_addr(P, pc, NULL, 0, &sym, &si) != 0)
374 if ((ctfp = Paddr_to_ctf(P, pc)) == NULL)
423 if (Pread(P, ins, insnsize, sym.st_value) != insnsize)
441 if (Pread(P, args, size, (fp - size)) != size)
455 if (Pread(P, &args[regargs], size, fp +
467 Pstack_iter(struct ps_prochandle *P, const prgregset_t regs,
502 if (P->status.pr_dmodel != PR_MODEL_LP64)
503 return (Pstack_iter32(P, regs, func, arg));
505 init_uclist(&ucl, P);
517 Pread(P, &frame, sizeof (frame), (uintptr_t)fp) ==
522 if (Pread(P, &args, 2 * sizeof (prgreg_t),
527 argc = read_args(P, fp, pc, args,
548 if (Pread(P, &uc, sizeof (uc), uc_addr)
566 Psyscall_setup(struct ps_prochandle *P, int nargs, int sysindex, uintptr_t sp)
568 if (P->status.pr_dmodel == PR_MODEL_ILP32) {
571 P->status.pr_lwp.pr_reg[REG_RAX] = sysindex;
572 P->status.pr_lwp.pr_reg[REG_RSP] = sp;
573 P->status.pr_lwp.pr_reg[REG_RIP] = P->sysaddr;
579 P->status.pr_lwp.pr_reg[REG_RAX] = sysindex;
580 P->status.pr_lwp.pr_reg[REG_RSP] = sp;
581 P->status.pr_lwp.pr_reg[REG_RIP] = P->sysaddr;
588 Psyscall_copyinargs(struct ps_prochandle *P, int nargs, argdes_t *argp,
591 if (P->status.pr_dmodel == PR_MODEL_ILP32) {
599 arglist[0] = P->status.pr_lwp.pr_reg[REG_RIP];
600 if (Pwrite(P, &arglist[0], sizeof (int) * (nargs+1),
612 (void) Pputareg(P, REG_RDI, adp->arg_value);
615 (void) Pputareg(P, REG_RSI, adp->arg_value);
618 (void) Pputareg(P, REG_RDX, adp->arg_value);
621 (void) Pputareg(P, REG_RCX, adp->arg_value);
624 (void) Pputareg(P, REG_R8, adp->arg_value);
627 (void) Pputareg(P, REG_R9, adp->arg_value);
635 arglist[0] = P->status.pr_lwp.pr_reg[REG_RIP];
637 if (Pwrite(P, &arglist[0],
647 Psyscall_copyoutargs(struct ps_prochandle *P, int nargs, argdes_t *argp,
650 if (P->status.pr_dmodel == PR_MODEL_ILP32) {
655 if (Pread(P, &arglist[0], sizeof (int) * (nargs+1),
668 Pread(P, &arglist[0], sizeof (int64_t) * (pusharg + 1),
676 P->status.pr_lwp.pr_reg[REG_RDI];
680 P->status.pr_lwp.pr_reg[REG_RSI];
684 P->status.pr_lwp.pr_reg[REG_RDX];
688 P->status.pr_lwp.pr_reg[REG_RCX];
692 P->status.pr_lwp.pr_reg[REG_R8];
696 P->status.pr_lwp.pr_reg[REG_R9];