/illumos-gate/usr/src/lib/libc/sparc/threads/ |
H A D | machdep.c | 38 setup_top_frame(void *stk, size_t stksize, ulwp_t *ulwp) argument 64 ulwp_t *ulwp, caddr_t stk, size_t stksize) 75 if ((stack = (uintptr_t)setup_top_frame(stk, stksize, ulwp)) == NULL) 82 ucp->uc_mcontext.gregs[REG_O0] = (greg_t)ulwp; 85 ucp->uc_mcontext.gregs[REG_G7] = (greg_t)ulwp; 118 _fpinherit(ulwp_t *ulwp) argument 132 _getfsr(&ulwp->ul_fpuenv.fsr); 133 ulwp->ul_fpuenv.fpu_en = 1; 135 ulwp->ul_fpuenv.fpu_en = 0; 140 getgregs(ulwp_t *ulwp, gregset_ argument 63 setup_context(ucontext_t *ucp, void *(*func)(ulwp_t *), ulwp_t *ulwp, caddr_t stk, size_t stksize) argument 164 setgregs(ulwp_t *ulwp, gregset_t rs) argument [all...] |
/illumos-gate/usr/src/lib/libc/amd64/threads/ |
H A D | machdep.c | 37 setup_top_frame(void *stk, size_t stksize, ulwp_t *ulwp) argument 69 ulwp_t *ulwp, caddr_t stk, size_t stksize) 77 ucp->uc_mcontext.gregs[REG_FSBASE] = (greg_t)ulwp; 87 if ((stack = setup_top_frame(stk, stksize, ulwp)) == NULL) 92 ucp->uc_mcontext.gregs[REG_RDI] = (greg_t)ulwp; 123 _fpinherit(ulwp_t *ulwp) argument 125 ulwp->ul_fpuenv.ftag = 0xffffffff; 129 getgregs(ulwp_t *ulwp, gregset_t rs) argument 133 if (getlwpstatus(ulwp->ul_lwpid, &status) == 0) { 155 setgregs(ulwp_t *ulwp, gregset_ argument 68 setup_context(ucontext_t *ucp, void *(*func)(ulwp_t *), ulwp_t *ulwp, caddr_t stk, size_t stksize) argument [all...] |
/illumos-gate/usr/src/lib/libc/port/threads/ |
H A D | cancel.c | 40 ulwp_t *ulwp; local 43 if ((ulwp = find_lwp(tid)) == NULL) 46 if (ulwp->ul_cancel_pending) { 50 ulwp_unlock(ulwp, udp); 51 } else if (ulwp == self) { 63 } else if (ulwp->ul_cancel_disabled) { 66 * just set the thread's ulwp->ul_cancel_pending flag. 71 ulwp->ul_cancel_pending = 1; 72 ulwp_unlock(ulwp, udp); 78 ulwp_unlock(ulwp, ud [all...] |
H A D | sema.c | 137 ulwp_t *ulwp; local 168 if ((ulwp = dequeue(qp, &more)) != NULL) { 170 lwpid = ulwp->ul_lwpid; 255 ulwp_t *ulwp; local 263 if ((ulwp = dequeue(qp, &more)) != NULL) { 265 lwpid = ulwp->ul_lwpid; 322 ulwp_t *ulwp; local 330 if ((ulwp = dequeue(qp, &more)) != NULL) { 332 lwpid = ulwp->ul_lwpid;
|
H A D | tls.c | 433 tls_free(ulwp_t *ulwp) argument 441 if ((tlsent = ulwp->ul_tlsent) == NULL || 442 (ntlsent = ulwp->ul_ntlsent) == 0) 452 lfree(ulwp->ul_tlsent, ntlsent * sizeof (tls_t)); 453 ulwp->ul_tlsent = NULL; 454 ulwp->ul_ntlsent = 0;
|
H A D | tsd.c | 444 tsd_free(ulwp_t *ulwp) argument 450 if ((stsd = ulwp->ul_stsd) != NULL) 452 ulwp->ul_stsd = NULL;
|
H A D | pthread.c | 52 ulwp_t *ulwp; local 55 if ((ulwp = find_lwp(tid)) == NULL) { 58 ulwp->ul_ptinherit = inherit; 59 ulwp_unlock(ulwp, curthread->ul_uberdata); 68 ulwp_t *ulwp; local 72 if ((ulwp = find_lwp(tid)) == NULL) { 75 if (policy == ulwp->ul_policy && 77 ulwp->ul_epri != 0) { 82 if (prio > ulwp->ul_epri) 85 ulwp 159 ulwp_t *ulwp = find_lwp(tid); local 224 ulwp_t *ulwp; local [all...] |
H A D | rwlock.c | 120 rwl_free(ulwp_t *ulwp) argument 124 if ((nlocks = ulwp->ul_rdlockcnt) != 0) 125 lfree(ulwp->ul_readlock.array, nlocks * sizeof (readlock_t)); 126 ulwp->ul_rdlockcnt = 0; 127 ulwp->ul_readlock.single.rd_rwlock = NULL; 128 ulwp->ul_readlock.single.rd_count = 0; 380 ulwp_t *ulwp; local 437 ulwp = *ulwpp; 438 ASSERT(ulwp->ul_wchan == rwlp); 439 if (ulwp 582 ulwp_t *ulwp; local [all...] |
H A D | synch.c | 508 ulwp_t *ulwp; local 529 for (prev = NULL, ulwp = qrp->qr_head; ulwp != NULL; 530 prev = ulwp, ulwp = ulwp->ul_link) { 532 if (ulwp->ul_writer) 534 ASSERT(ulwp->ul_qtype == qtype); 535 ASSERT(ulwp->ul_wchan != NULL); 536 ASSERT(ulwp 611 enqueue(queue_head_t *qp, ulwp_t *ulwp, int force_fifo) argument 717 ulwp_t *ulwp; local 748 ulwp_t *ulwp = *ulwpp; local 784 ulwp_t *ulwp; local 829 ulwp_t *ulwp = *ulwpp; local 885 ulwp_t *ulwp; local 918 ulwp_t *ulwp; local 1250 ulwp_t *ulwp; local 1402 ulwp_t *ulwp; local 1619 ulwp_t *ulwp; local 1645 ulwp_t *ulwp; local 3092 heldlock_free(ulwp_t *ulwp) argument 3707 ulwp_t *ulwp; local 3837 ulwp_t *ulwp; local 3948 record_spin_locks(ulwp_t *ulwp) argument [all...] |
H A D | thr.c | 175 hash_in_unlocked(ulwp_t *ulwp, int ix, uberdata_t *udp) argument 177 ulwp->ul_hash = udp->thr_hash_table[ix].hash_bucket; 178 udp->thr_hash_table[ix].hash_bucket = ulwp; 179 ulwp->ul_ix = ix; 183 hash_in(ulwp_t *ulwp, uberdata_t *udp) argument 185 int ix = TIDHASH(ulwp->ul_lwpid, udp); 189 hash_in_unlocked(ulwp, ix, udp); 197 hash_out_unlocked(ulwp_t *ulwp, int ix, uberdata_t *udp) argument 202 ulwp != *ulwpp; 205 *ulwpp = ulwp 211 hash_out(ulwp_t *ulwp, uberdata_t *udp) argument 229 ulwp_clean(ulwp_t *ulwp) argument 255 dead_and_buried(ulwp_t *ulwp) argument 277 ulwp_t *ulwp; local 322 ulwp_t *ulwp; local 427 ulwp_t *ulwp; local 464 ulwp_free(ulwp_t *ulwp) argument 501 ulwp_t *ulwp; local 522 ulwp_broadcast(ulwp_t *ulwp) argument 540 ulwp_t *ulwp = NULL; local 568 ulwp_t *ulwp; local 892 ulwp_t *ulwp; local 988 ulwp_t *ulwp; local 1092 ulwp_t *ulwp; local 1603 mark_dead_and_buried(ulwp_t *ulwp) argument 1624 ulwp_t *ulwp; local 1756 _thrp_stksegment(ulwp_t *ulwp, stack_t *stk) argument 1772 force_continue(ulwp_t *ulwp) argument 1813 safe_suspend(ulwp_t *ulwp, uchar_t whystopped, int *link_dropped) argument 1918 ulwp_t *ulwp; local 2034 ulwp_t *ulwp; local 2065 ulwp_t *ulwp; local 2101 ulwp_t *ulwp; local 2393 ulwp_t *ulwp; local 2438 ulwp_t *ulwp; local 2544 ulwp_t *ulwp; local 2582 ulwp_t *ulwp; local 2665 ulwp_t *ulwp; local 2736 ulwp_t *ulwp; local 2783 ulwp_t *ulwp; local 2831 _resume(ulwp_t *ulwp, caddr_t sp, int dontsave) argument [all...] |
/illumos-gate/usr/src/cmd/mdb/common/modules/libc/ |
H A D | findstack_subr.c | 185 stacks_ulwp_walk(uintptr_t addr, ulwp_t *ulwp, void *ignored) argument 189 sulwp->sulwp_id = ulwp->ul_lwpid; 193 mdb_warn("found multiple LWPs with ID %d!", ulwp->ul_lwpid); 226 ulwp_t ulwp; local 238 if (mdb_walk("ulwp", 240 mdb_warn("couldn't walk 'ulwp'"); 255 if (mdb_vread(&ulwp, sizeof (ulwp), sulwp->sulwp_addr) == -1) { 261 fsip->fsi_tstate = ulwp.ul_sleepq != NULL; 262 fsip->fsi_sobj_ops = (uintptr_t)(ulwp [all...] |
H A D | libc.c | 447 ulwp_t ulwp; local 452 if (mdb_vread(&ulwp, sizeof (ulwp), addr) != sizeof (ulwp) && 453 (bzero(&ulwp, sizeof (ulwp)), 454 mdb_vread(&ulwp, REPLACEMENT_SIZE, addr)) != REPLACEMENT_SIZE) { 455 mdb_warn("failed to read ulwp at 0x%p", addr); 464 prt_addr(ulwp.ul_self, 1), 465 prt_addr(ulwp 936 ulwp_t ulwp; local 960 whatis_walk_ulwp(uintptr_t addr, const ulwp_t *ulwp, mdb_whatis_t *w) argument 1042 tid2ulwp_walk(uintptr_t addr, ulwp_t *ulwp, tid2ulwp_walk_t *t2u) argument [all...] |
/illumos-gate/usr/src/lib/libc/i386/threads/ |
H A D | machdep.c | 49 setup_top_frame(void *stk, size_t stksize, ulwp_t *ulwp) argument 80 frame.arg = (uint32_t)ulwp; 89 ulwp_t *ulwp, caddr_t stk, size_t stksize) 126 ucp->uc_mcontext.gregs[ESP] = (greg_t)ulwp; 133 if ((stack = setup_top_frame(stk, stksize, ulwp)) == NULL) 168 _fpinherit(ulwp_t *ulwp) argument 170 ulwp->ul_fpuenv.ftag = 0xffffffff; 174 getgregs(ulwp_t *ulwp, gregset_t rs) argument 178 if (getlwpstatus(ulwp->ul_lwpid, &status) == 0) { 196 setgregs(ulwp_t *ulwp, gregset_ argument 88 setup_context(ucontext_t *ucp, void *(*func)(ulwp_t *), ulwp_t *ulwp, caddr_t stk, size_t stksize) argument [all...] |
/illumos-gate/usr/src/cmd/mdb/common/modules/libumem/ |
H A D | libumem.c | 154 umastat_lwp_cache(uintptr_t addr, const umem_cache_t *cp, ulwp_t *ulwp) argument 166 &nbufs, (uintptr_t)ulwp->ul_self) == -1) { 171 mdb_printf("%3d ", ulwp->ul_tmem.tm_size ? 172 (nbufs * cp->cache_bufsize * 100) / ulwp->ul_tmem.tm_size : 0); 179 umastat_lwp(uintptr_t addr, const ulwp_t *ulwp, void *ignored) argument 184 mdb_printf((dfp++)->fmt, ulwp->ul_lwpid); 185 mdb_printf((dfp++)->fmt, ulwp->ul_tmem.tm_size); 192 mdb_printf((dfp++)->fmt, (ulwp->ul_tmem.tm_size * 100) / size); 195 (mdb_walk_cb_t)umastat_lwp_cache, (void *)ulwp) == -1) { 377 if (mdb_walk("ulwp", (mdb_walk_cb_ [all...] |
/illumos-gate/usr/src/lib/libc_db/common/ |
H A D | thread_db.c | 1009 * Read the ulwp struct. 1012 ulwp_t ulwp; local 1015 &ulwp, sizeof (ulwp)) != PS_OK && 1016 ((void) memset(&ulwp, 0, sizeof (ulwp)), 1018 &ulwp, REPLACEMENT_SIZE)) != PS_OK) { 1022 next_lwp_addr = (psaddr_t)ulwp.ul_forw; 1024 ts_state = ulwp.ul_dead? TD_THR_ZOMBIE : 1025 ulwp 1036 ulwp32_t ulwp; local 1301 td_thr2to(td_thragent_t *ta_p, psaddr_t ts_addr, ulwp_t *ulwp, td_thrinfo_t *ti_p) argument 1345 td_thr2to32(td_thragent_t *ta_p, psaddr_t ts_addr, ulwp32_t *ulwp, td_thrinfo_t *ti_p) argument 1418 ulwp_t ulwp; local 1428 ulwp32_t ulwp; local 1509 ulwp_t *ulwp = (ulwp_t *)th_p->th_unique; local 1514 ulwp32_t *ulwp = (ulwp32_t *)th_p->th_unique; local 1677 ulwp_t *ulwp = (ulwp_t *)th_p->th_unique; local 1698 ulwp32_t *ulwp = (ulwp32_t *)th_p->th_unique; local 1796 ulwp_t *ulwp = (ulwp_t *)th_p->th_unique; local 1805 ulwp32_t *ulwp = (ulwp32_t *)th_p->th_unique; local 2163 ulwp_t *ulwp = (ulwp_t *)th_p->th_unique; local 2186 ulwp32_t *ulwp = (ulwp32_t *)th_p->th_unique; local 2277 ulwp_t *ulwp = (ulwp_t *)th_p->th_unique; local 2312 ulwp32_t *ulwp = (ulwp32_t *)th_p->th_unique; local 2452 ulwp_t *ulwp = (ulwp_t *)th_p->th_unique; local 2459 ulwp32_t *ulwp = (ulwp32_t *)th_p->th_unique; local 3004 ulwp_t *ulwp = (ulwp_t *)th_p->th_unique; local 3013 ulwp32_t *ulwp = (ulwp32_t *)th_p->th_unique; local [all...] |
/illumos-gate/usr/src/lib/libc/inc/ |
H A D | thr_uberdata.h | 366 struct ulwp *qr_head; 367 struct ulwp *qr_tail; 443 extern void enqueue(queue_head_t *, struct ulwp *, int); 444 extern struct ulwp *dequeue(queue_head_t *, int *); 445 extern struct ulwp **queue_slot(queue_head_t *, struct ulwp **, int *); 446 extern struct ulwp *queue_waiter(queue_head_t *); 449 struct ulwp **, struct ulwp *); 538 typedef struct ulwp { struct [all...] |