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