third_party/virtualbox/src/VBox/VMM/VMMR3/VM.cpp
/**
 * Does the final release of the UVM structure.
 *
 * @param   pUVM                The user mode VM handle.
 */
Does the final release of the UVM structure.
@param   pUVM                The user mode VM handle.
Does the final release of the UVM structure . @param pUVM The user mode VM handle .
static void vmR3DoReleaseUVM(PUVM pUVM)
{
    Assert(!pUVM->pVM);
    MMR3HeapFree(pUVM->vm.s.pszName);
    pUVM->vm.s.pszName = NULL;
    MMR3TermUVM(pUVM);
    STAMR3TermUVM(pUVM);
    ASMAtomicUoWriteU32(&pUVM->u32Magic, UINT32_MAX);
    RTTlsFree(pUVM->vm.s.idxTLS);
    RTMemPageFree(pUVM, RT_UOFFSETOF_DYN(UVM, aCpus[pUVM->cCpus]));
}
static void vmR3DoReleaseUVM ( PUVM pUVM ) { Assert ( ! pUVM -> pVM ) ; MMR3HeapFree ( pUVM -> vm . s . pszName ) ; pUVM -> vm . s . pszName = NULL ; MMR3TermUVM ( pUVM ) ; STAMR3TermUVM ( pUVM ) ; ASMAtomicUoWriteU32 ( & pUVM -> u32Magic , UINT32_MAX ) ; RTTlsFree ( pUVM -> vm . s . idxTLS ) ; RTMemPageFree ( pUVM , RT_UOFFSETOF_DYN ( UVM , aCpus [ pUVM -> cCpus ] ) ) ; }
Does the final release of the UVM structure.
Does the final release of the UVM structure .
/*
     * Free the UVM.
     */