Changeset 18986 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Apr 17, 2009 12:13:30 PM (16 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PGMHandler.cpp
r18927 r18986 393 393 PVMCPU pVCpu = &pVM->aCpus[i]; 394 394 395 pVCpu->pgm.s.fSyncFlags |= PGM_SYNC_UPDATE_PAGE_BIT_VIRTUAL | PGM_SYNC_CLEAR_PGM_POOL;395 pVCpu->pgm.s.fSyncFlags |= PGM_SYNC_UPDATE_PAGE_BIT_VIRTUAL; 396 396 VM_FF_SET(pVM, VM_FF_PGM_SYNC_CR3); 397 397 } 398 pVM->pgm.s.fGlobalSyncFlags |= PGM_GLOBAL_SYNC_CLEAR_PGM_POOL; 398 399 } 399 400 pgmUnlock(pVM); … … 478 479 PVMCPU pVCpu = &pVM->aCpus[i]; 479 480 480 pVCpu->pgm.s.fSyncFlags |= PGM_SYNC_UPDATE_PAGE_BIT_VIRTUAL | PGM_SYNC_CLEAR_PGM_POOL;481 pVCpu->pgm.s.fSyncFlags |= PGM_SYNC_UPDATE_PAGE_BIT_VIRTUAL; 481 482 VM_FF_SET(pVM, VM_FF_PGM_SYNC_CR3); 482 483 } 484 pVM->pgm.s.fGlobalSyncFlags |= PGM_GLOBAL_SYNC_CLEAR_PGM_POOL; 483 485 } 484 486 else -
trunk/src/VBox/VMM/PGMInternal.h
r18984 r18986 2870 2870 #define PGM_SYNC_MAP_CR3 RT_BIT(3) 2871 2871 /** Clear the page pool (a light weight flush). */ 2872 #define PGM_ SYNC_CLEAR_PGM_POOLRT_BIT(8)2872 #define PGM_GLOBAL_SYNC_CLEAR_PGM_POOL RT_BIT(8) 2873 2873 /** @} */ 2874 2874 -
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r18984 r18986 1722 1722 * the heap size should suffice. */ 1723 1723 AssertFatalRC(rc); 1724 Assert(!(pVM->pgm.s.fGlobalSyncFlags & PGM_ SYNC_CLEAR_PGM_POOL) || VM_FF_ISSET(pVM, VM_FF_PGM_SYNC_CR3));1724 Assert(!(pVM->pgm.s.fGlobalSyncFlags & PGM_GLOBAL_SYNC_CLEAR_PGM_POOL) || VM_FF_ISSET(pVM, VM_FF_PGM_SYNC_CR3)); 1725 1725 } 1726 1726 pPage->fMonitored = true; … … 1819 1819 rc = PGMHandlerPhysicalDeregister(pVM, pPage->GCPhys & ~(RTGCPHYS)(PAGE_SIZE - 1)); 1820 1820 AssertFatalRC(rc); 1821 AssertMsg(!(pVM->pgm.s.fGlobalSyncFlags & PGM_ SYNC_CLEAR_PGM_POOL) || VM_FF_ISSET(pVM, VM_FF_PGM_SYNC_CR3),1821 AssertMsg(!(pVM->pgm.s.fGlobalSyncFlags & PGM_GLOBAL_SYNC_CLEAR_PGM_POOL) || VM_FF_ISSET(pVM, VM_FF_PGM_SYNC_CR3), 1822 1822 ("%#x %#x\n", pVM->pgm.s.fGlobalSyncFlags, pVM->fForcedActions)); 1823 1823 } … … 2070 2070 * sometimes refered to as a 'lightweight flush'. 2071 2071 */ 2072 if (!(pVM->pgm.s.fGlobalSyncFlags & PGM_ SYNC_CLEAR_PGM_POOL))2072 if (!(pVM->pgm.s.fGlobalSyncFlags & PGM_GLOBAL_SYNC_CLEAR_PGM_POOL)) 2073 2073 pgmPoolMonitorModifiedClearAll(pVM); 2074 2074 else … … 2077 2077 /** @todo SMP support! */ 2078 2078 Assert(pVM->cCPUs == 1); 2079 pVM->pgm.s.fGlobalSyncFlags &= ~PGM_ SYNC_CLEAR_PGM_POOL;2079 pVM->pgm.s.fGlobalSyncFlags &= ~PGM_GLOBAL_SYNC_CLEAR_PGM_POOL; 2080 2080 pgmPoolClearAll(pVM); 2081 2081 # else /* !IN_RING3 */ 2082 LogFlow(("SyncCR3: PGM_ SYNC_CLEAR_PGM_POOL is set -> VINF_PGM_SYNC_CR3\n"));2082 LogFlow(("SyncCR3: PGM_GLOBAL_SYNC_CLEAR_PGM_POOL is set -> VINF_PGM_SYNC_CR3\n")); 2083 2083 VM_FF_SET(pVM, VM_FF_PGM_SYNC_CR3); /** @todo no need to do global sync, right? */ 2084 2084 return VINF_PGM_SYNC_CR3; … … 2713 2713 if (rc == VINF_PGM_GCPHYS_ALIASED) 2714 2714 { 2715 pVM->pgm.s.fGlobalSyncFlags |= PGM_ SYNC_CLEAR_PGM_POOL;2715 pVM->pgm.s.fGlobalSyncFlags |= PGM_GLOBAL_SYNC_CLEAR_PGM_POOL; 2716 2716 VM_FF_SET(pVM, VM_FF_PGM_SYNC_CR3); 2717 2717 rc = VINF_PGM_SYNC_CR3; … … 4207 4207 /** @todo CSAM/PGMPrefetchPage messes up here during CSAMR3CheckGates 4208 4208 * (TRPMR3SyncIDT) because of FF priority. Try fix that? 4209 * Assert(!(pVM->pgm.s.fGlobalSyncFlags & PGM_ SYNC_CLEAR_PGM_POOL)); */4209 * Assert(!(pVM->pgm.s.fGlobalSyncFlags & PGM_GLOBAL_SYNC_CLEAR_PGM_POOL)); */ 4210 4210 4211 4211 #ifdef PGMPOOL_WITH_CACHE
Note:
See TracChangeset
for help on using the changeset viewer.