Lines Matching refs:svd2
1027 struct segvn_data *svd2 = seg2->s_data; in segvn_concat() local
1029 struct anon_map *amp2 = svd2->amp; in segvn_concat()
1031 struct vpage *vpage2 = svd2->vpage, *nvpage = NULL; in segvn_concat()
1040 HAT_IS_REGION_COOKIE_VALID(svd2->rcookie)) { in segvn_concat()
1045 #define incompat(x) (svd1->x != svd2->x) in segvn_concat()
1047 (!svd1->pageadvice && !svd2->pageadvice && incompat(advice)) || in segvn_concat()
1048 (!svd1->pageprot && !svd2->pageprot && incompat(prot)) || in segvn_concat()
1051 (svd2->softlockcnt > 0) || svd1->softlockcnt_send > 0) in segvn_concat()
1059 svd1->offset + seg1->s_size != svd2->offset) { in segvn_concat()
1066 if (svd1->tr_state != SEGVN_TR_OFF || svd2->tr_state != SEGVN_TR_OFF) { in segvn_concat()
1083 svd2->anon_index) { in segvn_concat()
1118 VPP_SETPROT(vp, svd2->prot); in segvn_concat()
1119 VPP_SETADVICE(vp, svd2->advice); in segvn_concat()
1123 if (svd2->pageswap && (!svd1->pageswap && svd1->swresv)) { in segvn_concat()
1126 ASSERT(!(svd2->flags & MAP_NORESERVE)); in segvn_concat()
1133 if (svd1->pageswap && (!svd2->pageswap && svd2->swresv)) { in segvn_concat()
1134 ASSERT(svd2->swresv == seg2->s_size); in segvn_concat()
1136 ASSERT(!(svd2->flags & MAP_NORESERVE)); in segvn_concat()
1145 (svd1->pageswap == 0 && svd2->pageswap == 0)); in segvn_concat()
1158 svd2->amp = NULL; in segvn_concat()
1193 if (anon_copy_ptr(amp2->ahp, svd2->anon_index, in segvn_concat()
1221 svd2->amp = NULL; /* needed for seg_free */ in segvn_concat()
1237 svd2->vpage = NULL; in segvn_concat()
1240 if (svd2->pageprot) { in segvn_concat()
1243 if (svd2->pageadvice) { in segvn_concat()
1246 if (svd2->pageswap) { in segvn_concat()
1253 svd1->swresv += svd2->swresv; in segvn_concat()
1254 svd2->swresv = 0; /* so seg_free doesn't release swap space */ in segvn_concat()
1388 struct segvn_data *svd2 = (struct segvn_data *)seg2->s_data; in segvn_extend_next() local
1399 if (HAT_IS_REGION_COOKIE_VALID(svd2->rcookie)) { in segvn_extend_next()
1405 if (svd2->vp != a->vp || svd2->maxprot != a->maxprot || in segvn_extend_next()
1406 (!svd2->pageprot && (svd2->prot != a->prot)) || in segvn_extend_next()
1407 svd2->type != a->type || svd2->flags != a->flags || in segvn_extend_next()
1408 seg2->s_szc != a->szc || svd2->softlockcnt_sbase > 0) in segvn_extend_next()
1411 if (svd2->vp != NULL && in segvn_extend_next()
1412 (a->offset & PAGEMASK) + seg1->s_size != svd2->offset) in segvn_extend_next()
1415 if (svd2->tr_state != SEGVN_TR_OFF) { in segvn_extend_next()
1419 amp2 = svd2->amp; in segvn_extend_next()
1435 if (svd2->type == MAP_SHARED) in segvn_extend_next()
1443 newpgs = anon_grow(amp2->ahp, &svd2->anon_index, in segvn_extend_next()
1454 if (svd2->vpage != NULL) { in segvn_extend_next()
1462 svd2->anon_index += seg_pages(seg1); in segvn_extend_next()
1465 bcopy(svd2->vpage, new_vpage + seg_pages(seg1), in segvn_extend_next()
1467 kmem_free(svd2->vpage, vpgtob(seg_pages(seg2))); in segvn_extend_next()
1468 svd2->vpage = new_vpage; in segvn_extend_next()
1474 if (svd2->pageswap && swresv) { in segvn_extend_next()
1475 ASSERT(!(svd2->flags & MAP_NORESERVE)); in segvn_extend_next()
1483 ASSERT(svd2->vpage != NULL || svd2->pageswap == 0); in segvn_extend_next()
1488 svd2->offset -= size; in segvn_extend_next()
1489 svd2->swresv += swresv; in segvn_extend_next()
1490 if (svd2->pageprot && (a->prot & PROT_WRITE) && in segvn_extend_next()
1491 svd2->type == MAP_SHARED && svd2->vp != NULL && in segvn_extend_next()
1492 (svd2->vp->v_flag & VVMEXEC)) { in segvn_extend_next()
1493 ASSERT(vn_is_mapped(svd2->vp, V_WRITE)); in segvn_extend_next()
1494 segvn_inval_trcache(svd2->vp); in segvn_extend_next()