Lines Matching refs:seg
61 page_valid(struct seg *seg, caddr_t addr) in page_valid() argument
72 if (seg->s_ops == &segvn_ops && in page_valid()
73 SEGOP_GETVP(seg, addr, &vp) == 0 && in page_valid()
77 u_offset_t offset = SEGOP_GETOFFSET(seg, addr); in page_valid()
87 if (seg->s_ops == &segspt_shmops && in page_valid()
88 addr >= seg->s_base + spt_realsize(seg)) in page_valid()
96 if (seg->s_ops == &segdev_ops && in page_valid()
97 ((SEGOP_GETTYPE(seg, addr) & (MAP_SHARED | MAP_PRIVATE)) == 0)) in page_valid()
106 if (seg->s_ops == &segvn_ops && in page_valid()
107 (svd = (struct segvn_data *)seg->s_data) != NULL && in page_valid()
118 (void) SEGOP_INCORE(seg, addr, PAGESIZE, &incore); in page_valid()
186 struct seg *seg; in urw() local
204 if ((seg = as_segat(as, page)) == NULL || in urw()
205 !page_valid(seg, page)) { in urw()
209 SEGOP_GETPROT(seg, page, 0, &prot); in urw()
214 err = SEGOP_SETPROT(seg, page, PAGESIZE, prot | prot_rw); in urw()
239 else if (seg->s_ops == &segvn_ops) in urw()
244 if (SEGOP_FAULT(as->a_hat, seg, page, PAGESIZE, F_SOFTLOCK, rw)) { in urw()
246 (void) SEGOP_SETPROT(seg, page, PAGESIZE, prot); in urw()
268 if (seg->s_ops == &segdev_ops) { in urw()
274 if (segdev_copyto(seg, addr, buf, vaddr, len)) in urw()
277 if (segdev_copyfrom(seg, addr, vaddr, buf, len)) in urw()
303 (void) SEGOP_FAULT(as->a_hat, seg, page, PAGESIZE, F_SOFTUNLOCK, rw); in urw()
306 (void) SEGOP_SETPROT(seg, page, PAGESIZE, prot); in urw()