Lines Matching refs:scdp

2125 	sf_scd_t *scdp;  in hat_dup()  local
2158 if ((scdp = hat->sfmmu_scdp) != NULL && in hat_dup()
2159 newhat->sfmmu_scdp != scdp) { in hat_dup()
2162 &scdp->scd_region_map, ret); in hat_dup()
2164 sfmmu_join_scd(scdp, newhat); in hat_dup()
2165 ASSERT(newhat->sfmmu_scdp == scdp && in hat_dup()
2166 scdp->scd_refcnt >= 2); in hat_dup()
3334 sf_scd_t *scdp; in sfmmu_tteload_addentry() local
3340 scdp = sfmmup->sfmmu_scdp; in sfmmu_tteload_addentry()
3341 if (rid == SFMMU_INVALID_SHMERID || scdp == NULL || in sfmmu_tteload_addentry()
3342 !SF_RGNMAP_TEST(scdp->scd_hmeregion_map, rid)) { in sfmmu_tteload_addentry()
8302 sf_scd_t *scdp; in ism_tsb_entries() local
8306 scdp = sfmmup->sfmmu_scdp; in ism_tsb_entries()
8315 if (scdp != NULL && rid != SFMMU_INVALID_ISMRID && in ism_tsb_entries()
8316 SF_RGNMAP_TEST(scdp->scd_ismregion_map, rid)) { in ism_tsb_entries()
9651 sf_scd_t *scdp = sfmmup->sfmmu_scdp; in sfmmu_get_ctx() local
9652 sfmmu_t *scsfmmup = scdp->scd_sfmmup; in sfmmu_get_ctx()
10016 sfmmu_set_scd_rttecnt(sf_srd_t *srdp, sf_scd_t *scdp) in sfmmu_set_scd_rttecnt() argument
10026 if ((w = scdp->scd_region_map.bitmap[i]) == 0) { in sfmmu_set_scd_rttecnt()
10047 scdp->scd_rttecnt[rgnp->rgn_pgszc] += in sfmmu_set_scd_rttecnt()
10055 scdp->scd_sfmmup->sfmmu_tsb0_4minflcnt += in sfmmu_set_scd_rttecnt()
11694 sf_scd_t *scdp; in sfmmu_tsbmiss_exception() local
11791 if ((scdp = sfmmup->sfmmu_scdp) != NULL) { in sfmmu_tsbmiss_exception()
11792 shsfmmup = scdp->scd_sfmmup; in sfmmu_tsbmiss_exception()
11806 if (sfmmup->sfmmu_scdp == scdp && in sfmmu_tsbmiss_exception()
11807 shsfmmup == scdp->scd_sfmmup) { in sfmmu_tsbmiss_exception()
11945 sf_scd_t *scdp; in sfmmu_rgntlb_demap() local
11971 scdp = sfmmup->sfmmu_scdp; in sfmmu_rgntlb_demap()
11972 if (SF_RGNMAP_TEST(scdp->scd_hmeregion_map, rid)) { in sfmmu_rgntlb_demap()
12065 sf_scd_t *scdp; in sfmmu_ismtlbcache_demap() local
12108 scdp = sfmmup->sfmmu_scdp; in sfmmu_ismtlbcache_demap()
12110 SF_RGNMAP_TEST(scdp->scd_ismregion_map, in sfmmu_ismtlbcache_demap()
12540 sf_scd_t *scdp; in sfmmu_tsb_pre_relocator() local
12562 scdp = sfmmup->sfmmu_scdp; in sfmmu_tsb_pre_relocator()
12563 ASSERT(scdp != NULL); in sfmmu_tsb_pre_relocator()
12565 mutex_enter(&scdp->scd_mutex); in sfmmu_tsb_pre_relocator()
12566 sfmmup = scdp->scd_sf_list; in sfmmu_tsb_pre_relocator()
12579 mutex_exit(&scdp->scd_mutex); in sfmmu_tsb_pre_relocator()
14094 sf_scd_t *scdp; in hat_leave_region() local
14156 scdp = sfmmup->sfmmu_scdp; in hat_leave_region()
14157 if (scdp != NULL && in hat_leave_region()
14158 SF_RGNMAP_TEST(scdp->scd_ismregion_map, rid)) { in hat_leave_region()
14182 scdp = sfmmup->sfmmu_scdp; in hat_leave_region()
14183 if (scdp != NULL && in hat_leave_region()
14184 SF_RGNMAP_TEST(scdp->scd_hmeregion_map, rid)) { in hat_leave_region()
14218 if (scdp != NULL && sfmmup->sfmmu_scdp == NULL) { in hat_leave_region()
14470 sfmmu_remove_scd(sf_scd_t **headp, sf_scd_t *scdp) in sfmmu_remove_scd() argument
14472 if (scdp->scd_prev != NULL) { in sfmmu_remove_scd()
14473 ASSERT(*headp != scdp); in sfmmu_remove_scd()
14474 scdp->scd_prev->scd_next = scdp->scd_next; in sfmmu_remove_scd()
14476 ASSERT(*headp == scdp); in sfmmu_remove_scd()
14477 *headp = scdp->scd_next; in sfmmu_remove_scd()
14480 if (scdp->scd_next != NULL) { in sfmmu_remove_scd()
14481 scdp->scd_next->scd_prev = scdp->scd_prev; in sfmmu_remove_scd()
14489 sfmmu_add_scd(sf_scd_t **headp, sf_scd_t *scdp) in sfmmu_add_scd() argument
14491 scdp->scd_prev = NULL; in sfmmu_add_scd()
14492 scdp->scd_next = *headp; in sfmmu_add_scd()
14494 (*headp)->scd_prev = scdp; in sfmmu_add_scd()
14496 *headp = scdp; in sfmmu_add_scd()
14500 sfmmu_alloc_scd_tsbs(sf_srd_t *srdp, sf_scd_t *scdp) in sfmmu_alloc_scd_tsbs() argument
14510 sfmmu_t *scsfmmup = scdp->scd_sfmmup; in sfmmu_alloc_scd_tsbs()
14518 if ((w = scdp->scd_region_map.bitmap[i]) == 0) { in sfmmu_alloc_scd_tsbs()
14746 sfmmu_link_scd_to_regions(sf_srd_t *srdp, sf_scd_t *scdp) in sfmmu_link_scd_to_regions() argument
14755 scsfmmup = scdp->scd_sfmmup; in sfmmu_link_scd_to_regions()
14758 if ((w = scdp->scd_region_map.bitmap[i]) == 0) { in sfmmu_link_scd_to_regions()
14787 ism_ment = &scdp->scd_ism_links[rid]; in sfmmu_link_scd_to_regions()
14803 sfmmu_unlink_scd_from_regions(sf_srd_t *srdp, sf_scd_t *scdp) in sfmmu_unlink_scd_from_regions() argument
14812 scsfmmup = scdp->scd_sfmmup; in sfmmu_unlink_scd_from_regions()
14814 if ((w = scdp->scd_region_map.bitmap[i]) == 0) { in sfmmu_unlink_scd_from_regions()
14845 ism_ment = &scdp->scd_ism_links[rid]; in sfmmu_unlink_scd_from_regions()
14846 ASSERT(ism_ment->iment_hat == scdp->scd_sfmmup); in sfmmu_unlink_scd_from_regions()
14912 sfmmu_join_scd(sf_scd_t *scdp, sfmmu_t *sfmmup) in sfmmu_join_scd() argument
14920 ASSERT(scdp != NULL); in sfmmu_join_scd()
14921 ASSERT(scdp->scd_refcnt > 0); in sfmmu_join_scd()
14925 ASSERT(old_scdp != scdp); in sfmmu_join_scd()
14946 mutex_enter(&scdp->scd_mutex); in sfmmu_join_scd()
14947 sfmmu_to_scd_list(&scdp->scd_sf_list, sfmmup); in sfmmu_join_scd()
14948 mutex_exit(&scdp->scd_mutex); in sfmmu_join_scd()
14949 SF_SCD_INCR_REF(scdp); in sfmmu_join_scd()
14960 sfmmup->sfmmu_scdp = scdp; in sfmmu_join_scd()
14967 sfmmup->sfmmu_scdrttecnt[i] = scdp->scd_rttecnt[i]; in sfmmu_join_scd()
14968 ASSERT(sfmmup->sfmmu_ttecnt[i] >= scdp->scd_rttecnt[i]); in sfmmu_join_scd()
14978 scdp->scd_sfmmup->sfmmu_tsb0_4minflcnt); in sfmmu_join_scd()
14979 sfmmup->sfmmu_tsb0_4minflcnt -= scdp->scd_sfmmup->sfmmu_tsb0_4minflcnt; in sfmmu_join_scd()
15030 sf_scd_t *scdp, *new_scdp; in sfmmu_find_scd() local
15037 for (scdp = srdp->srd_scdp; scdp != NULL; in sfmmu_find_scd()
15038 scdp = scdp->scd_next) { in sfmmu_find_scd()
15039 SF_RGNMAP_EQUAL(&scdp->scd_region_map, in sfmmu_find_scd()
15042 SF_SCD_INCR_REF(scdp); in sfmmu_find_scd()
15044 sfmmu_join_scd(scdp, sfmmup); in sfmmu_find_scd()
15045 ASSERT(scdp->scd_refcnt >= 2); in sfmmu_find_scd()
15046 atomic_dec_32((volatile uint32_t *)&scdp->scd_refcnt); in sfmmu_find_scd()
15055 SF_RGNMAP_IS_SUBSET(&scdp->scd_region_map, in sfmmu_find_scd()
15064 ASSERT(scdp == NULL); in sfmmu_find_scd()
15102 sf_scd_t *scdp = sfmmup->sfmmu_scdp; in sfmmu_leave_scd() local
15107 ASSERT(scdp != NULL); in sfmmu_leave_scd()
15115 mutex_enter(&scdp->scd_mutex); in sfmmu_leave_scd()
15116 sfmmu_from_scd_list(&scdp->scd_sf_list, sfmmup); in sfmmu_leave_scd()
15117 mutex_exit(&scdp->scd_mutex); in sfmmu_leave_scd()
15124 scdp->scd_rttecnt[i]); in sfmmu_leave_scd()
15131 SF_SCD_DECR_REF(srdp, scdp); in sfmmu_leave_scd()
15137 ASSERT(scdp->scd_refcnt); in sfmmu_leave_scd()
15184 scdp->scd_rttecnt[i]); in sfmmu_leave_scd()
15193 sfmmup->sfmmu_tsb0_4minflcnt += scdp->scd_sfmmup->sfmmu_tsb0_4minflcnt; in sfmmu_leave_scd()
15210 mutex_enter(&scdp->scd_mutex); in sfmmu_leave_scd()
15211 sfmmu_from_scd_list(&scdp->scd_sf_list, sfmmup); in sfmmu_leave_scd()
15212 mutex_exit(&scdp->scd_mutex); in sfmmu_leave_scd()
15215 SF_SCD_DECR_REF(srdp, scdp); in sfmmu_leave_scd()
15224 sfmmu_destroy_scd(sf_srd_t *srdp, sf_scd_t *scdp, sf_region_map_t *scd_rmap) in sfmmu_destroy_scd() argument
15233 if (sp == scdp) in sfmmu_destroy_scd()
15251 ASSERT(scdp->scd_sf_list == NULL); in sfmmu_destroy_scd()
15255 sfmmu_remove_scd(&srdp->srd_scdp, scdp); in sfmmu_destroy_scd()
15258 sfmmu_unlink_scd_from_regions(srdp, scdp); in sfmmu_destroy_scd()
15261 scsfmmup = scdp->scd_sfmmup; in sfmmu_destroy_scd()
15282 kmem_cache_free(scd_cache, scdp); in sfmmu_destroy_scd()
15295 sf_scd_t *scdp = sfmmup->sfmmu_scdp; in sfmmu_ism_hatflags() local
15301 ASSERT(scdp != NULL); in sfmmu_ism_hatflags()
15317 if (SF_RGNMAP_TEST(scdp->scd_ismregion_map, rid) && in sfmmu_ism_hatflags()
15340 sf_scd_t *scdp = (sf_scd_t *)buf; in sfmmu_scdcache_constructor() local
15343 mutex_init(&scdp->scd_mutex, NULL, MUTEX_DEFAULT, NULL); in sfmmu_scdcache_constructor()
15351 sf_scd_t *scdp = (sf_scd_t *)buf; in sfmmu_scdcache_destructor() local
15353 mutex_destroy(&scdp->scd_mutex); in sfmmu_scdcache_destructor()