Lines Matching refs:seg
104 static int segmf_fault_gref_range(struct seg *seg, caddr_t addr, size_t len);
107 segmf_data_zalloc(struct seg *seg) in segmf_data_zalloc() argument
112 seg->s_ops = &segmf_ops; in segmf_data_zalloc()
113 seg->s_data = data; in segmf_data_zalloc()
118 segmf_create(struct seg *seg, void *args) in segmf_create() argument
122 struct as *as = seg->s_as; in segmf_create()
123 pgcnt_t i, npages = seg_pages(seg); in segmf_create()
126 hat_map(as->a_hat, seg->s_base, seg->s_size, HAT_MAP); in segmf_create()
128 data = segmf_data_zalloc(seg); in segmf_create()
138 error = VOP_ADDMAP(VTOCVP(data->vp), 0, as, seg->s_base, seg->s_size, in segmf_create()
143 seg->s_base, seg->s_size, HAT_UNLOAD_UNMAP); in segmf_create()
151 segmf_dup(struct seg *seg, struct seg *newseg) in segmf_dup() argument
153 struct segmf_data *data = seg->s_data; in segmf_dup()
180 segmf_unmap(struct seg *seg, caddr_t addr, size_t len) in segmf_unmap() argument
182 struct segmf_data *data = seg->s_data; in segmf_unmap()
185 if (addr < seg->s_base || addr + len > seg->s_base + seg->s_size || in segmf_unmap()
189 if (addr != seg->s_base || len != seg->s_size) in segmf_unmap()
192 hat_unload(seg->s_as->a_hat, addr, len, in segmf_unmap()
195 off = (offset_t)seg_page(seg, addr); in segmf_unmap()
199 (void) VOP_DELMAP(VTOCVP(data->vp), off, seg->s_as, addr, len, in segmf_unmap()
202 seg_free(seg); in segmf_unmap()
207 segmf_free(struct seg *seg) in segmf_free() argument
209 struct segmf_data *data = seg->s_data; in segmf_free()
210 pgcnt_t npages = seg_pages(seg); in segmf_free()
221 segmf_faultpage(struct hat *hat, struct seg *seg, caddr_t addr, in segmf_faultpage() argument
224 struct segmf_data *data = seg->s_data; in segmf_faultpage()
232 idx = seg_page(seg, addr); in segmf_faultpage()
300 segmf_softunlock(struct hat *hat, struct seg *seg, caddr_t addr, size_t len) in segmf_softunlock() argument
302 struct segmf_data *data = seg->s_data; in segmf_softunlock()
312 struct as *as = seg->s_as; in segmf_softunlock()
326 segmf_fault_range(struct hat *hat, struct seg *seg, caddr_t addr, size_t len, in segmf_fault_range() argument
329 struct segmf_data *data = seg->s_data; in segmf_fault_range()
339 error = segmf_faultpage(hat, seg, a, type, data->prot); in segmf_fault_range()
351 segmf_softunlock(hat, seg, addr, done); in segmf_fault_range()
362 segmf_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t len, in segmf_fault() argument
370 segmf_faulta(struct seg *seg, caddr_t addr) in segmf_faulta() argument
377 segmf_setprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot) in segmf_setprot() argument
384 segmf_checkprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot) in segmf_checkprot() argument
391 segmf_kluster(struct seg *seg, caddr_t addr, ssize_t delta) in segmf_kluster() argument
398 segmf_sync(struct seg *seg, caddr_t addr, size_t len, int attr, uint_t flags) in segmf_sync() argument
409 segmf_incore(struct seg *seg, caddr_t addr, size_t len, char *vec) in segmf_incore() argument
421 segmf_lockop(struct seg *seg, caddr_t addr, in segmf_lockop() argument
428 segmf_getprot(struct seg *seg, caddr_t addr, size_t len, uint_t *protv) in segmf_getprot() argument
430 struct segmf_data *data = seg->s_data; in segmf_getprot()
431 pgcnt_t pgno = seg_page(seg, addr + len) - seg_page(seg, addr) + 1; in segmf_getprot()
443 segmf_getoffset(struct seg *seg, caddr_t addr) in segmf_getoffset() argument
445 return (addr - seg->s_base); in segmf_getoffset()
450 segmf_gettype(struct seg *seg, caddr_t addr) in segmf_gettype() argument
457 segmf_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp) in segmf_getvp() argument
459 struct segmf_data *data = seg->s_data; in segmf_getvp()
467 segmf_advise(struct seg *seg, caddr_t addr, size_t len, uint_t behav) in segmf_advise() argument
474 segmf_dump(struct seg *seg) in segmf_dump() argument
479 segmf_pagelock(struct seg *seg, caddr_t addr, size_t len, in segmf_pagelock() argument
487 segmf_setpagesize(struct seg *seg, caddr_t addr, size_t len, uint_t szc) in segmf_setpagesize() argument
493 segmf_getmemid(struct seg *seg, caddr_t addr, memid_t *memid) in segmf_getmemid() argument
495 struct segmf_data *data = seg->s_data; in segmf_getmemid()
498 memid->val[1] = (uintptr_t)seg_page(seg, addr); in segmf_getmemid()
504 segmf_getpolicy(struct seg *seg, caddr_t addr) in segmf_getpolicy() argument
511 segmf_capable(struct seg *seg, segcapability_t capability) in segmf_capable() argument
524 segmf_add_mfns(struct seg *seg, caddr_t addr, mfn_t mfn, in segmf_add_mfns() argument
527 struct segmf_data *data = seg->s_data; in segmf_add_mfns()
533 if (seg->s_ops != &segmf_ops) in segmf_add_mfns()
557 base = seg_page(seg, addr); in segmf_add_mfns()
564 fc = segmf_fault_range(seg->s_as->a_hat, seg, addr, in segmf_add_mfns()
580 segmf_add_grefs(struct seg *seg, caddr_t addr, uint_t flags, in segmf_add_grefs() argument
590 if (seg->s_ops != &segmf_ops) in segmf_add_grefs()
604 data = seg->s_data; in segmf_add_grefs()
605 idx = seg_page(seg, addr); in segmf_add_grefs()
629 fc = segmf_fault_gref_range(seg, addr, cnt); in segmf_add_grefs()
643 segmf_release_grefs(struct seg *seg, caddr_t addr, uint_t cnt) in segmf_release_grefs() argument
658 idx = seg_page(seg, addr); in segmf_release_grefs()
659 data = seg->s_data; in segmf_release_grefs()
696 segmf_add_gref_pte(struct seg *seg, caddr_t addr, uint64_t pte_ma) in segmf_add_gref_pte() argument
701 idx = seg_page(seg, addr); in segmf_add_gref_pte()
702 data = seg->s_data; in segmf_add_gref_pte()
709 segmf_fault_gref_range(struct seg *seg, caddr_t addr, size_t cnt) in segmf_fault_gref_range() argument
723 data = seg->s_data; in segmf_fault_gref_range()
724 idx = seg_page(seg, addr); in segmf_fault_gref_range()
769 (size_t (*)(struct seg *))NULL, /* swapout */