Changeset 82866 in vbox for trunk/src/VBox/VMM/VMMR0
- Timestamp:
- Jan 27, 2020 10:18:00 AM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 135843
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/GMMR0.cpp
r82862 r82866 420 420 * mapping or freeing anything. (Giant mtx.) */ 421 421 uint8_t volatile iChunkMtx; 422 /** Flags field reserved for future use (like eliminating enmType). 423 * (Giant mtx.) */ 422 /** GMM_CHUNK_FLAGS_XXX. (Giant mtx.) */ 424 423 uint8_t fFlags; 425 424 /** The head of the list of free pages. UINT16_MAX is the NIL value. … … 3070 3069 return rc; 3071 3070 3072 / * Not supported in legacy mode where we allocate the memory in ring 3 and lock it in ring 0. */3073 if (pGMM->fLegacyAllocationMode)3074 return VERR_NOT_SUPPORTED;3071 // /* Not supported in legacy mode where we allocate the memory in ring 3 and lock it in ring 0. */ 3072 // if (pGMM->fLegacyAllocationMode) 3073 // return VERR_NOT_SUPPORTED; 3075 3074 3076 3075 *pHCPhys = NIL_RTHCPHYS; … … 3171 3170 return rc; 3172 3171 3173 / * Not supported in legacy mode where we allocate the memory in ring 3 and lock it in ring 0. */3174 if (pGMM->fLegacyAllocationMode)3175 return VERR_NOT_SUPPORTED;3172 // /* Not supported in legacy mode where we allocate the memory in ring 3 and lock it in ring 0. */ 3173 // if (pGMM->fLegacyAllocationMode) 3174 // return VERR_NOT_SUPPORTED; 3176 3175 3177 3176 gmmR0MutexAcquire(pGMM); … … 3260 3259 */ 3261 3260 if ( pChunk->cMappingsX 3262 && !pGMM->fLegacyAllocationMode3261 && (!pGMM->fLegacyAllocationMode || (pChunk->fFlags & GMM_CHUNK_FLAGS_LARGE_PAGE)) 3263 3262 && pGVM) 3264 3263 gmmR0UnmapChunkLocked(pGMM, pGVM, pChunk); … … 3391 3390 && pChunk->pFreeNext 3392 3391 && pChunk->pFreePrev /** @todo this is probably misfiring, see reset... */ 3393 && !pGMM->fLegacyAllocationMode))3392 && (!pGMM->fLegacyAllocationMode || (pChunk->fFlags & GMM_CHUNK_FLAGS_LARGE_PAGE)))) 3394 3393 gmmR0FreeChunk(pGMM, NULL, pChunk, false); 3395 3394 … … 3914 3913 static int gmmR0UnmapChunkLocked(PGMM pGMM, PGVM pGVM, PGMMCHUNK pChunk) 3915 3914 { 3916 Assert(!pGMM->fLegacyAllocationMode ); NOREF(pGMM);3915 Assert(!pGMM->fLegacyAllocationMode || (pChunk->fFlags & GMM_CHUNK_FLAGS_LARGE_PAGE)); NOREF(pGMM); 3917 3916 3918 3917 /* … … 3960 3959 static int gmmR0UnmapChunk(PGMM pGMM, PGVM pGVM, PGMMCHUNK pChunk, bool fRelaxedSem) 3961 3960 { 3962 if (!pGMM->fLegacyAllocationMode )3961 if (!pGMM->fLegacyAllocationMode || (pChunk->fFlags & GMM_CHUNK_FLAGS_LARGE_PAGE)) 3963 3962 { 3964 3963 /* … … 4000 3999 * If we're in legacy mode this is simple. 4001 4000 */ 4002 if (pGMM->fLegacyAllocationMode )4001 if (pGMM->fLegacyAllocationMode && !(pChunk->fFlags & GMM_CHUNK_FLAGS_LARGE_PAGE)) 4003 4002 { 4004 4003 if (pChunk->hGVM != pGVM->hSelf)
Note:
See TracChangeset
for help on using the changeset viewer.