Lines Matching refs:tlsm

51 tls_modinfo_alloc(tls_metadata_t *tlsm, ulong_t moduleid)  in tls_modinfo_alloc()  argument
53 tls_t *tls_modinfo = &tlsm->tls_modinfo; in tls_modinfo_alloc()
89 tls_metadata_t *tlsm; in __tls_static_mods() local
107 tlsm = &__uberdata.tls_metadata; in __tls_static_mods()
109 (void) memcpy(tlsm, in __tls_static_mods()
110 &oldself->ul_uberdata->tls_metadata, sizeof (*tlsm)); in __tls_static_mods()
111 ASSERT(tlsm->static_tls.tls_data == NULL); in __tls_static_mods()
119 tlsm->static_tls.tls_data = data = lmalloc(statictlssize); in __tls_static_mods()
121 tlsm->static_tls.tls_size = statictlssize; in __tls_static_mods()
146 modinfo = tls_modinfo_alloc(tlsm, max_modid); in __tls_static_mods()
157 tlsm, sizeof (*tlsm)); in __tls_static_mods()
168 tls_metadata_t *tlsm = &curthread->ul_uberdata->tls_metadata; in __tls_mod_add() local
172 lmutex_lock(&tlsm->tls_lock); in __tls_mod_add()
175 modinfo = tls_modinfo_alloc(tlsm, moduleid); in __tls_mod_add()
177 lmutex_unlock(&tlsm->tls_lock); in __tls_mod_add()
186 tls_metadata_t *tlsm = &curthread->ul_uberdata->tls_metadata; in __tls_mod_remove() local
190 lmutex_lock(&tlsm->tls_lock); in __tls_mod_remove()
191 ASSERT(tlsm->tls_modinfo.tls_data != NULL && in __tls_mod_remove()
192 moduleid < tlsm->tls_modinfo.tls_size); in __tls_mod_remove()
193 modinfo = tlsm->tls_modinfo.tls_data; in __tls_mod_remove()
195 lmutex_unlock(&tlsm->tls_lock); in __tls_mod_remove()
219 tls_metadata_t *tlsm = &self->ul_uberdata->tls_metadata; in slow_tls_get_addr() local
232 lmutex_lock(&tlsm->tls_lock); in slow_tls_get_addr()
236 ASSERT(moduleid < tlsm->tls_modinfo.tls_size); in slow_tls_get_addr()
237 tlsent = lmalloc(tlsm->tls_modinfo.tls_size * sizeof (tls_t)); in slow_tls_get_addr()
245 self->ul_ntlsent = tlsm->tls_modinfo.tls_size; in slow_tls_get_addr()
249 tlsp = (TLS_modinfo *)tlsm->tls_modinfo.tls_data + moduleid; in slow_tls_get_addr()
270 lmutex_unlock(&tlsm->tls_lock); in slow_tls_get_addr()
320 tls_metadata_t *tlsm = &self->ul_uberdata->tls_metadata; in tls_setup() local
325 if (tlsm->static_tls.tls_size == 0) /* no static TLS */ in tls_setup()
329 (void) memcpy((caddr_t)self - tlsm->static_tls.tls_size, in tls_setup()
330 tlsm->static_tls.tls_data, tlsm->static_tls.tls_size); in tls_setup()
333 lmutex_lock(&tlsm->tls_lock); in tls_setup()
334 nmods = tlsm->tls_modinfo.tls_size; in tls_setup()
342 tlsp = (TLS_modinfo *)tlsm->tls_modinfo.tls_data + moduleid; in tls_setup()
357 lmutex_unlock(&tlsm->tls_lock); in tls_setup()
361 lmutex_lock(&tlsm->tls_lock); in tls_setup()
364 lmutex_unlock(&tlsm->tls_lock); in tls_setup()
375 tls_metadata_t *tlsm = &self->ul_uberdata->tls_metadata; in tls_exit() local
381 if (tlsm->static_tls.tls_size == 0 && self->ul_ntlsent == 0) in tls_exit()
387 lmutex_lock(&tlsm->tls_lock); in tls_exit()
388 nmods = tlsm->tls_modinfo.tls_size; in tls_exit()
396 tlsp = (TLS_modinfo *)tlsm->tls_modinfo.tls_data + moduleid; in tls_exit()
415 lmutex_unlock(&tlsm->tls_lock); in tls_exit()
420 lmutex_lock(&tlsm->tls_lock); in tls_exit()
423 lmutex_unlock(&tlsm->tls_lock); in tls_exit()