Changeset 21633 in vbox for trunk/src/VBox/Runtime
- Timestamp:
- Jul 16, 2009 9:30:14 AM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 50163
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r0drv/solaris/vbi/memobj-r0drv-solaris.c
r21497 r21633 89 89 break; 90 90 91 case RTR0MEMOBJTYPE_RES_VIRT: 92 { 93 if (pMemSolaris->Core.u.ResVirt.R0Process == NIL_RTR0PROCESS) 94 vmem_xfree(heap_arena, pMemSolaris->Core.pv, pMemSolaris->Core.cb); 95 else 96 AssertFailed(); 97 break; 98 } 99 91 100 /* unused */ 92 101 case RTR0MEMOBJTYPE_PHYS: 93 case RTR0MEMOBJTYPE_RES_VIRT:94 102 default: 95 103 AssertMsgFailed(("enmType=%d\n", pMemSolaris->Core.enmType)); … … 253 261 int rtR0MemObjNativeReserveKernel(PPRTR0MEMOBJINTERNAL ppMem, void *pvFixed, size_t cb, size_t uAlignment) 254 262 { 255 return VERR_NOT_IMPLEMENTED; 263 PRTR0MEMOBJSOLARIS pMemSolaris; 264 void *pv; 265 266 /* 267 * Use xalloc. 268 */ 269 pv = vmem_xalloc(heap_arena, cb, uAlignment, 0 /*phase*/, 0 /*nocross*/, 270 NULL /*minaddr*/, NULL /*maxaddr*/, VM_SLEEP); 271 if (!pv) 272 return VERR_NO_MEMORY; 273 pMemSolaris = (PRTR0MEMOBJSOLARIS)rtR0MemObjNew(sizeof(*pMemSolaris), RTR0MEMOBJTYPE_RES_VIRT, pv, cb); 274 if (!pMemSolaris) 275 { 276 vmem_xfree(heap_arena, pv, cb); 277 return VERR_NO_MEMORY; 278 } 279 280 pMemSolaris->Core.u.ResVirt.R0Process = NIL_RTR0PROCESS; 281 *ppMem = &pMemSolaris->Core; 282 return VINF_SUCCESS; 256 283 } 257 284 … … 268 295 return VERR_NOT_IMPLEMENTED; 269 296 } 297 270 298 271 299 int rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, PRTR0MEMOBJINTERNAL pMemToMap, RTR3PTR R3PtrFixed, size_t uAlignment, unsigned fProt, RTR0PROCESS R0Process)
Note:
See TracChangeset
for help on using the changeset viewer.