Lines Matching defs:pMemFreeBSD

108     PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)pMem;
111 switch (pMemFreeBSD->Core.enmType)
117 (vm_offset_t)pMemFreeBSD->Core.pv,
118 (vm_offset_t)pMemFreeBSD->Core.pv + pMemFreeBSD->Core.cb);
126 if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS)
127 pMap = &((struct proc *)pMemFreeBSD->Core.u.Lock.R0Process)->p_vmspace->vm_map;
130 (vm_offset_t)pMemFreeBSD->Core.pv,
131 (vm_offset_t)pMemFreeBSD->Core.pv + pMemFreeBSD->Core.cb,
140 if (pMemFreeBSD->Core.u.ResVirt.R0Process != NIL_RTR0PROCESS)
141 pMap = &((struct proc *)pMemFreeBSD->Core.u.ResVirt.R0Process)->p_vmspace->vm_map;
143 (vm_offset_t)pMemFreeBSD->Core.pv,
144 (vm_offset_t)pMemFreeBSD->Core.pv + pMemFreeBSD->Core.cb);
153 if (pMemFreeBSD->Core.u.Mapping.R0Process != NIL_RTR0PROCESS)
154 pMap = &((struct proc *)pMemFreeBSD->Core.u.Mapping.R0Process)->p_vmspace->vm_map;
156 (vm_offset_t)pMemFreeBSD->Core.pv,
157 (vm_offset_t)pMemFreeBSD->Core.pv + pMemFreeBSD->Core.cb);
166 VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
168 VM_OBJECT_LOCK(pMemFreeBSD->pObject);
170 vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0);
174 for (vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0);
184 VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
186 VM_OBJECT_UNLOCK(pMemFreeBSD->pObject);
188 vm_object_deallocate(pMemFreeBSD->pObject);
193 AssertMsgFailed(("enmType=%d\n", pMemFreeBSD->Core.enmType));
319 static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFREEBSD pMemFreeBSD, bool fExecutable,
323 size_t cPages = atop(pMemFreeBSD->Core.cb);
326 pMemFreeBSD->pObject = vm_object_allocate(OBJT_PHYS, cPages);
330 rc = vm_map_find(kernel_map, pMemFreeBSD->pObject, 0,
331 &MapAddress, pMemFreeBSD->Core.cb, 0, VMFS_ANY_SPACE,
334 rc = vm_map_find(kernel_map, pMemFreeBSD->pObject, 0,
335 &MapAddress, pMemFreeBSD->Core.cb, VMFS_ANY_SPACE,
341 rc = rtR0MemObjFreeBSDPhysAllocHelper(pMemFreeBSD->pObject, cPages,
346 vm_map_wire(kernel_map, MapAddress, MapAddress + pMemFreeBSD->Core.cb,
350 pMemFreeBSD->Core.pv = (void *)MapAddress;
354 vm_map_remove(kernel_map, MapAddress, MapAddress + pMemFreeBSD->Core.cb);
359 vm_object_deallocate(pMemFreeBSD->pObject);
362 rtR0MemObjDelete(&pMemFreeBSD->Core);
367 PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD),
369 if (!pMemFreeBSD)
372 int rc = rtR0MemObjFreeBSDAllocHelper(pMemFreeBSD, fExecutable, ~(vm_paddr_t)0, false, VERR_NO_MEMORY);
375 rtR0MemObjDelete(&pMemFreeBSD->Core);
379 *ppMem = &pMemFreeBSD->Core;
386 PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD),
388 if (!pMemFreeBSD)
391 int rc = rtR0MemObjFreeBSDAllocHelper(pMemFreeBSD, fExecutable, _4G - 1, false, VERR_NO_LOW_MEMORY);
394 rtR0MemObjDelete(&pMemFreeBSD->Core);
398 *ppMem = &pMemFreeBSD->Core;
405 PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD),
407 if (!pMemFreeBSD)
410 int rc = rtR0MemObjFreeBSDAllocHelper(pMemFreeBSD, fExecutable, _4G - 1, true, VERR_NO_CONT_MEMORY);
413 rtR0MemObjDelete(&pMemFreeBSD->Core);
417 pMemFreeBSD->Core.u.Cont.Phys = vtophys(pMemFreeBSD->Core.pv);
418 *ppMem = &pMemFreeBSD->Core;
432 PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD),
434 if (!pMemFreeBSD)
437 pMemFreeBSD->pObject = vm_object_allocate(OBJT_PHYS, atop(cb));
444 int rc = rtR0MemObjFreeBSDPhysAllocHelper(pMemFreeBSD->pObject, cPages, VmPhysAddrHigh,
452 VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
454 VM_OBJECT_LOCK(pMemFreeBSD->pObject);
456 pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_page_find_least(pMemFreeBSD->pObject, 0));
458 VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
460 VM_OBJECT_UNLOCK(pMemFreeBSD->pObject);
462 pMemFreeBSD->Core.u.Phys.fAllocated = true;
465 *ppMem = &pMemFreeBSD->Core;
469 vm_object_deallocate(pMemFreeBSD->pObject);
470 rtR0MemObjDelete(&pMemFreeBSD->Core);
494 PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PHYS, NULL, cb);
495 if (!pMemFreeBSD)
499 pMemFreeBSD->Core.u.Phys.fAllocated = false;
500 pMemFreeBSD->Core.u.Phys.PhysBase = Phys;
501 pMemFreeBSD->Core.u.Phys.uCachePolicy = uCachePolicy;
502 *ppMem = &pMemFreeBSD->Core;
518 PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_LOCK, (void *)AddrStart, cb);
519 if (!pMemFreeBSD)
532 pMemFreeBSD->Core.u.Lock.R0Process = R0Process;
533 *ppMem = &pMemFreeBSD->Core;
536 rtR0MemObjDelete(&pMemFreeBSD->Core);
591 PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_RES_VIRT, NULL, cb);
592 if (!pMemFreeBSD)
626 pMemFreeBSD->Core.pv = (void *)MapAddress;
627 pMemFreeBSD->Core.u.ResVirt.R0Process = R0Process;
628 *ppMem = &pMemFreeBSD->Core;
633 rtR0MemObjDelete(&pMemFreeBSD->Core);
701 PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(RTR0MEMOBJFREEBSD),
705 if (pMemFreeBSD)
707 Assert((vm_offset_t)pMemFreeBSD->Core.pv == Addr);
708 pMemFreeBSD->Core.u.Mapping.R0Process = NIL_RTR0PROCESS;
709 *ppMem = &pMemFreeBSD->Core;
787 PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(RTR0MEMOBJFREEBSD),
791 if (pMemFreeBSD)
793 Assert((vm_offset_t)pMemFreeBSD->Core.pv == AddrR3);
794 pMemFreeBSD->Core.u.Mapping.R0Process = R0Process;
795 *ppMem = &pMemFreeBSD->Core;
838 PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)pMem;
840 switch (pMemFreeBSD->Core.enmType)
844 if ( pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS
845 && pMemFreeBSD->Core.u.Lock.R0Process != (RTR0PROCESS)curproc)
851 vm_offset_t pb = (vm_offset_t)pMemFreeBSD->Core.pv + ptoa(iPage);
853 struct proc *pProc = (struct proc *)pMemFreeBSD->Core.u.Lock.R0Process;
862 vm_offset_t pb = (vm_offset_t)pMemFreeBSD->Core.pv + ptoa(iPage);
864 if (pMemFreeBSD->Core.u.Mapping.R0Process != NIL_RTR0PROCESS)
866 struct proc *pProc = (struct proc *)pMemFreeBSD->Core.u.Mapping.R0Process;
881 VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
883 VM_OBJECT_LOCK(pMemFreeBSD->pObject);
885 addr = VM_PAGE_TO_PHYS(vm_page_lookup(pMemFreeBSD->pObject, iPage));
887 VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
889 VM_OBJECT_UNLOCK(pMemFreeBSD->pObject);
895 return pMemFreeBSD->Core.u.Cont.Phys + ptoa(iPage);
898 return pMemFreeBSD->Core.u.Phys.PhysBase + ptoa(iPage);