Lines Matching defs:pSeg

59 DECLINLINE(int) rtR0SegVBoxSolCreate(seg_t *pSeg, void *pvArgs)
61 struct as *pAddrSpace = pSeg->s_as;
82 hat_map(pAddrSpace->a_hat, pSeg->s_base, pSeg->s_size, HAT_MAP);
86 pSeg->s_ops = &s_SegVBoxOps;
87 pSeg->s_data = pData;
92 caddr_t virtAddr = pSeg->s_base;
93 pgcnt_t cPages = (pSeg->s_size + cbPageSize - 1) >> uPageShift;
124 static int rtR0SegVBoxSolUnmap(seg_t *pSeg, caddr_t virtAddr, size_t cb)
126 PSEGVBOX_DATA pData = pSeg->s_data;
129 AssertReleaseMsg(virtAddr >= pSeg->s_base, ("virtAddr=%p s_base=%p\n", virtAddr, pSeg->s_base));
130 AssertReleaseMsg(virtAddr + cb <= pSeg->s_base + pSeg->s_size, ("virtAddr=%p cb=%llu s_base=%p s_size=%llu\n", virtAddr,
131 cb, pSeg->s_base, pSeg->s_size));
136 if ( virtAddr != pSeg->s_base
137 || cb != pSeg->s_size)
142 hat_unload(pSeg->s_as->a_hat, virtAddr, cb, HAT_UNLOAD_UNMAP | HAT_UNLOAD_UNLOCK);
144 seg_free(pSeg);
149 static void rtR0SegVBoxSolFree(seg_t *pSeg)
151 PSEGVBOX_DATA pData = pSeg->s_data;
156 static int rtR0SegVBoxSolFault(struct hat *pHat, seg_t *pSeg, caddr_t virtAddr, size_t cb, enum fault_type FaultType,
168 static int rtR0SegVBoxSolFaultA(seg_t *pSeg, caddr_t virtAddr)
174 static int rtR0SegVBoxSolSetProt(seg_t *pSeg, caddr_t virtAddr, size_t cb, uint_t fPageAccess)
180 static int rtR0SegVBoxSolCheckProt(seg_t *pSeg, caddr_t virtAddr, size_t cb, uint_t fPageAccess)
186 static int rtR0SegVBoxSolKluster(seg_t *pSeg, caddr_t virtAddr, ssize_t Delta)
192 static int rtR0SegVBoxSolSync(seg_t *pSeg, caddr_t virtAddr, size_t cb, int Attr, uint_t fFlags)
198 static size_t rtR0SegVBoxSolInCore(seg_t *pSeg, caddr_t virtAddr, size_t cb, char *pVec)
200 PSEGVBOX_DATA pData = pSeg->s_data;
211 static int rtR0SegVBoxSolLockOp(seg_t *pSeg, caddr_t virtAddr, size_t cb, int Attr, int Op, ulong_t *pLockMap, size_t off)
217 static int rtR0SegVBoxSolGetProt(seg_t *pSeg, caddr_t virtAddr, size_t cb, uint_t *pafPageAccess)
219 PSEGVBOX_DATA pData = pSeg->s_data;
220 size_t iPage = seg_page(pSeg, virtAddr + cb) - seg_page(pSeg, virtAddr) + 1;
233 static u_offset_t rtR0SegVBoxSolGetOffset(seg_t *pSeg, caddr_t virtAddr)
235 return ((uintptr_t)virtAddr - (uintptr_t)pSeg->s_base);
239 static int rtR0SegVBoxSolGetType(seg_t *pSeg, caddr_t virtAddr)
245 static int rtR0SegVBoxSolGetVp(seg_t *pSeg, caddr_t virtAddr, vnode_t **ppVnode)
252 static int rtR0SegVBoxSolAdvise(seg_t *pSeg, caddr_t virtAddr, size_t cb, uint_t Behav /* wut? */)
258 static void rtR0SegVBoxSolDump(seg_t *pSeg)
264 static int rtR0SegVBoxSolPageLock(seg_t *pSeg, caddr_t virtAddr, size_t cb, page_t ***pppPage, enum lock_type LockType, enum seg_rw ReadWrite)
270 static int rtR0SegVBoxSolSetPageSize(seg_t *pSeg, caddr_t virtAddr, size_t cb, uint_t SizeCode)
276 static int rtR0SegVBoxSolGetMemId(seg_t *pSeg, caddr_t virtAddr, memid_t *pMemId)
282 static lgrp_mem_policy_info_t *rtR0SegVBoxSolGetPolicy(seg_t *pSeg, caddr_t virtAddr)
288 static int rtR0SegVBoxSolCapable(seg_t *pSeg, segcapability_t Capab)