Changeset 91018 in vbox
- Timestamp:
- Aug 31, 2021 1:30:41 AM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 146658
- Location:
- trunk
- Files:
-
- 1 deleted
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/mm.h
r90991 r91018 316 316 /** @} */ 317 317 318 /** @defgroup grp_mm_ukheap User-kernel Heap Manager.319 *320 * The memory is safely accessible from kernel context as well as user land.321 *322 * @{ */323 VMMR3DECL(void *) MMR3UkHeapAlloc(PVM pVM, MMTAG enmTag, size_t cbSize, PRTR0PTR pR0Ptr);324 VMMR3DECL(int) MMR3UkHeapAllocEx(PVM pVM, MMTAG enmTag, size_t cbSize, void **ppv, PRTR0PTR pR0Ptr);325 VMMR3DECL(void *) MMR3UkHeapAllocZ(PVM pVM, MMTAG enmTag, size_t cbSize, PRTR0PTR pR0Ptr);326 VMMR3DECL(int) MMR3UkHeapAllocZEx(PVM pVM, MMTAG enmTag, size_t cbSize, void **ppv, PRTR0PTR pR0Ptr);327 VMMR3DECL(void) MMR3UkHeapFree(PVM pVM, void *pv, MMTAG enmTag);328 /** @} */329 330 318 /** @} */ 331 319 #endif /* IN_RING3 || DOXYGEN_RUNNING */ -
trunk/src/VBox/VMM/Makefile.kmk
r90634 r91018 138 138 VMMR3/MMHyper.cpp \ 139 139 VMMR3/MMPagePool.cpp \ 140 VMMR3/MMUkHeap.cpp \141 140 VMMR3/NEMR3.cpp \ 142 141 VMMR3/PDM.cpp \ -
trunk/src/VBox/VMM/VMMR3/MM.cpp
r82968 r91018 201 201 int rc = mmR3HeapCreateU(pUVM, &pUVM->mm.s.pHeap); 202 202 if (RT_SUCCESS(rc)) 203 { 204 rc = mmR3UkHeapCreateU(pUVM, &pUVM->mm.s.pUkHeap); 205 if (RT_SUCCESS(rc)) 206 return VINF_SUCCESS; 207 mmR3HeapDestroy(pUVM->mm.s.pHeap); 208 pUVM->mm.s.pHeap = NULL; 209 } 203 return VINF_SUCCESS; 210 204 return rc; 211 205 } … … 467 461 pVM->mm.s.offVM = 0; /* init assertion on this */ 468 462 469 /*470 * Destroy the User-kernel heap here since the support driver session471 * may have been terminated by the time we get to MMR3TermUVM.472 */473 mmR3UkHeapDestroy(pVM->pUVM->mm.s.pUkHeap);474 pVM->pUVM->mm.s.pUkHeap = NULL;475 476 463 return VINF_SUCCESS; 477 464 } … … 490 477 { 491 478 /* 492 * Destroy the heaps. 493 */ 494 if (pUVM->mm.s.pUkHeap) 495 { 496 mmR3UkHeapDestroy(pUVM->mm.s.pUkHeap); 497 pUVM->mm.s.pUkHeap = NULL; 498 } 479 * Destroy the heap. 480 */ 499 481 mmR3HeapDestroy(pUVM->mm.s.pHeap); 500 482 pUVM->mm.s.pHeap = NULL; -
trunk/src/VBox/VMM/include/MMInternal.h
r82968 r91018 629 629 /** Pointer to the MM R3 Heap. */ 630 630 R3PTRTYPE(PMMHEAP) pHeap; 631 /** Pointer to the MM Uk Heap. */632 R3PTRTYPE(PMMUKHEAP) pUkHeap;633 631 } MMUSERPERVM; 634 632 /** Pointer to the MM data kept in the UVM. */ … … 638 636 RT_C_DECLS_BEGIN 639 637 640 641 638 int mmR3UpdateReservation(PVM pVM); 642 639 643 640 int mmR3HeapCreateU(PUVM pUVM, PMMHEAP *ppHeap); 644 641 void mmR3HeapDestroy(PMMHEAP pHeap); 645 646 void mmR3UkHeapDestroy(PMMUKHEAP pHeap);647 int mmR3UkHeapCreateU(PUVM pUVM, PMMUKHEAP *ppHeap);648 649 642 650 643 int mmR3HyperInit(PVM pVM);
Note:
See TracChangeset
for help on using the changeset viewer.