Lines Matching refs:lt
529 ptrace_set_siginfo(struct proc *t, struct lwp **lt, struct ptrace_methods *ptm, in ptrace_set_siginfo() argument
701 ptrace_lwpinfo(struct proc *t, struct lwp **lt, void *addr, size_t data) in ptrace_lwpinfo() argument
714 lwp_delref(*lt); in ptrace_lwpinfo()
717 *lt = lwp_find_first(t); in ptrace_lwpinfo()
719 *lt = lwp_find(t, tmp); in ptrace_lwpinfo()
720 if (*lt == NULL) { in ptrace_lwpinfo()
724 *lt = LIST_NEXT(*lt, l_sibling); in ptrace_lwpinfo()
727 while (*lt != NULL && (!lwp_alive(*lt) || in ptrace_lwpinfo()
728 ((*lt)->l_flag & LW_SYSTEM) != 0)) in ptrace_lwpinfo()
729 *lt = LIST_NEXT(*lt, l_sibling); in ptrace_lwpinfo()
733 if (*lt) { in ptrace_lwpinfo()
734 lwp_addref(*lt); in ptrace_lwpinfo()
735 pl.pl_lwpid = (*lt)->l_lid; in ptrace_lwpinfo()
737 if ((*lt)->l_flag & LW_WSUSPEND) in ptrace_lwpinfo()
745 else if ((*lt)->l_lid == t->p_sigctx.ps_lwp in ptrace_lwpinfo()
762 ptrace_lwpstatus(struct proc *t, struct ptrace_methods *ptm, struct lwp **lt, in ptrace_lwpstatus() argument
779 lwp_delref(*lt); in ptrace_lwpstatus()
783 *lt = lwp_find_first(t); in ptrace_lwpstatus()
785 *lt = lwp_find(t, tmp); in ptrace_lwpstatus()
786 if (*lt == NULL) { in ptrace_lwpstatus()
790 *lt = LIST_NEXT(*lt, l_sibling); in ptrace_lwpstatus()
793 while (*lt != NULL && (!lwp_alive(*lt) || in ptrace_lwpstatus()
794 ((*lt)->l_flag & LW_SYSTEM) != 0)) in ptrace_lwpstatus()
795 *lt = LIST_NEXT(*lt, l_sibling); in ptrace_lwpstatus()
797 if (*lt == NULL) { in ptrace_lwpstatus()
802 lwp_addref(*lt); in ptrace_lwpstatus()
805 pls.pl_lwpid = (*lt)->l_lid; in ptrace_lwpstatus()
807 if ((error = ptrace_update_lwp(t, lt, pls.pl_lwpid)) != 0) in ptrace_lwpstatus()
811 l = *lt; in ptrace_lwpstatus()
829 ptrace_startstop(struct proc *t, struct lwp **lt, int rq, void *addr, in ptrace_startstop() argument
834 if ((error = ptrace_update_lwp(t, lt, data)) != 0) in ptrace_startstop()
837 DPRINTF(("%s: lwp=%d request=%d\n", __func__, (*lt)->l_lid, rq)); in ptrace_startstop()
838 lwp_lock(*lt); in ptrace_startstop()
840 (*lt)->l_flag |= LW_DBGSUSPEND; in ptrace_startstop()
842 (*lt)->l_flag &= ~LW_DBGSUSPEND; in ptrace_startstop()
843 if ((*lt)->l_flag != LSSUSPENDED) in ptrace_startstop()
844 (*lt)->l_stat = LSSTOP; in ptrace_startstop()
846 lwp_unlock(*lt); in ptrace_startstop()
869 ptrace_regs(struct lwp *l, struct lwp **lt, int rq, struct ptrace_methods *ptm, in ptrace_regs() argument
877 t = (*lt)->l_proc; /* traced */ in ptrace_regs()
879 if ((error = ptrace_update_lwp(t, lt, data)) != 0) in ptrace_regs()
892 if (!process_validregs(*lt)) in ptrace_regs()
901 if (!process_validfpregs(*lt)) in ptrace_regs()
910 if (!process_validdbregs(*lt)) in ptrace_regs()
936 error = (*func)(l, *lt, &uio); in ptrace_regs()
943 ptrace_sendsig(struct lwp *l, int req, struct proc *t, struct lwp *lt, int signo, int resume_all) in ptrace_sendsig() argument
967 lwp_unstop(lt); in ptrace_sendsig()
984 lt->l_lid, signo, resume_all)); in ptrace_sendsig()
990 ptrace_dumpcore(struct lwp *lt, char *path, size_t len) in ptrace_dumpcore() argument
1005 DPRINTF(("%s: lwp=%d\n", __func__, lt->l_lid)); in ptrace_dumpcore()
1006 MODULE_HOOK_CALL(coredump_hook, (lt, path), 0, error); in ptrace_dumpcore()
1014 ptrace_doio(struct lwp *l, struct proc *t, struct lwp *lt, in ptrace_doio() argument
1072 error = process_domem(l, lt, &uio); in ptrace_doio()
1086 struct lwp *lt = NULL; in do_ptrace() local
1120 if ((lt = lwp_find_first(t)) == NULL) { in do_ptrace()
1127 KASSERT(lt != NULL); in do_ptrace()
1128 lwp_addref(lt); in do_ptrace()
1171 if ((error = ptrace_doio(l, t, lt, &piod, addr, true)) != 0) in do_ptrace()
1193 if ((error = ptrace_doio(l, t, lt, &piod, addr, false)) != 0) in do_ptrace()
1204 error = ptrace_dumpcore(lt, addr, data); in do_ptrace()
1266 lwp_delref2 (lt); in do_ptrace()
1267 lt = lwp_find(t, tmp); in do_ptrace()
1268 if (lt == NULL) { in do_ptrace()
1272 lwp_addref(lt); in do_ptrace()
1299 if (lt->l_flag & in do_ptrace()
1320 if (lt->l_flag & (LW_WSUSPEND | LW_DBGSUSPEND)) { in do_ptrace()
1342 error = process_set_pc(lt, addr); in do_ptrace()
1360 error = process_sstep(lt, in do_ptrace()
1361 ISSET(lt->l_pflag, LP_SINGLESTEP) || req == PT_STEP); in do_ptrace()
1385 CLR(lt->l_pflag, LP_SINGLESTEP); in do_ptrace()
1388 error = ptrace_sendsig(l, req, t, lt, signo, resume_all); in do_ptrace()
1406 if ((error = ptrace_update_lwp(t, <, data)) != 0) in do_ptrace()
1410 SET(lt->l_pflag, LP_SINGLESTEP); in do_ptrace()
1412 CLR(lt->l_pflag, LP_SINGLESTEP); in do_ptrace()
1452 error = ptrace_lwpinfo(t, <, addr, data); in do_ptrace()
1456 error = ptrace_set_siginfo(t, <, ptm, addr, data); in do_ptrace()
1465 error = ptrace_startstop(t, <, req, addr, data); in do_ptrace()
1469 error = ptrace_lwpstatus(t, ptm, <, addr, data, false); in do_ptrace()
1473 error = ptrace_lwpstatus(t, ptm, <, addr, data, true); in do_ptrace()
1491 error = ptrace_regs(l, <, req, ptm, addr, data); in do_ptrace()
1497 error = ptrace_machdep_dorequest(l, <, req, addr, data); in do_ptrace()
1507 if (lt != NULL) in do_ptrace()
1508 lwp_delref(lt); in do_ptrace()