Lines Matching refs:mdescp

185 	machine_descrip_t *mdescp;  in md_obs_list_look_up_by_gen()  local
188 mdescp = obs_machine_descrip_list; in md_obs_list_look_up_by_gen()
190 while (mdescp != NULL) { in md_obs_list_look_up_by_gen()
191 if (mdescp->gen == gen) { in md_obs_list_look_up_by_gen()
193 return (mdescp); in md_obs_list_look_up_by_gen()
195 mdescp = mdescp->next; in md_obs_list_look_up_by_gen()
199 return (mdescp); in md_obs_list_look_up_by_gen()
203 md_obs_list_remove(machine_descrip_t *mdescp) in md_obs_list_remove() argument
211 if (obs_machine_descrip_list == mdescp) { in md_obs_list_remove()
212 obs_machine_descrip_list = mdescp->next; in md_obs_list_remove()
215 if (lmdescp->next == mdescp) { in md_obs_list_remove()
216 lmdescp->next = mdescp->next; in md_obs_list_remove()
217 mdescp->next = NULL; in md_obs_list_remove()
228 md_obs_list_add(machine_descrip_t *mdescp) in md_obs_list_add() argument
232 mdescp->next = obs_machine_descrip_list; in md_obs_list_add()
233 obs_machine_descrip_list = mdescp; in md_obs_list_add()
245 machine_descrip_t *mdescp; in new_mach_descrip() local
247 mdescp = (machine_descrip_t *)(*curr_mach_descrip_memops->meta_allocp) in new_mach_descrip()
249 if (mdescp != NULL) { in new_mach_descrip()
250 bzero(mdescp, sizeof (*mdescp)); in new_mach_descrip()
251 mdescp->memops = curr_mach_descrip_memops; in new_mach_descrip()
252 mutex_init(&mdescp->lock, NULL, MUTEX_DRIVER, NULL); in new_mach_descrip()
255 return (mdescp); in new_mach_descrip()
263 destroy_machine_descrip(machine_descrip_t *mdescp) in destroy_machine_descrip() argument
267 ASSERT((mdescp != NULL)); in destroy_machine_descrip()
269 mdesc_memopsp = mdescp->memops; in destroy_machine_descrip()
270 if (mdescp->memops == NULL) in destroy_machine_descrip()
273 (*mdesc_memopsp->buf_freep)(mdescp->va, mdescp->space); in destroy_machine_descrip()
274 mutex_destroy(&mdescp->lock); in destroy_machine_descrip()
275 (*mdesc_memopsp->meta_freep)(mdescp, sizeof (*mdescp)); in destroy_machine_descrip()
605 machine_descrip_t *mdescp; in md_fini_handle() local
628 mdescp = md_obs_list_look_up_by_gen(mdp->gen); in md_fini_handle()
629 if (mdescp == NULL) in md_fini_handle()
632 mutex_enter(&mdescp->lock); in md_fini_handle()
633 mdescp->refcnt--; in md_fini_handle()
634 if (mdescp->refcnt == 0) { in md_fini_handle()
635 md_obs_list_remove(mdescp); in md_fini_handle()
636 mutex_exit(&mdescp->lock); in md_fini_handle()
637 destroy_machine_descrip(mdescp); in md_fini_handle()
640 mutex_exit(&mdescp->lock); in md_fini_handle()