Changeset 77240 in vbox for trunk/src/VBox/VMM/include
- Timestamp:
- Feb 10, 2019 4:34:51 PM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 128747
- Location:
- trunk/src/VBox/VMM/include
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/include/PGMInline.h
r76585 r77240 1496 1496 1497 1497 /** 1498 * Check if the specified page is dirty (not write monitored) 1499 * 1500 * @return dirty or not 1501 * @param pVM The cross context VM structure. 1502 * @param GCPhys Guest physical address 1503 */ 1504 DECLINLINE(bool) pgmPoolIsDirtyPage(PVM pVM, RTGCPHYS GCPhys) 1505 { 1506 PPGMPOOL pPool = pVM->pgm.s.CTX_SUFF(pPool); 1507 PGM_LOCK_ASSERT_OWNER(pVM); 1508 if (!pPool->cDirtyPages) 1509 return false; 1510 return pgmPoolIsDirtyPageSlow(pVM, GCPhys); 1511 } 1512 1513 1514 /** 1498 1515 * Tells if mappings are to be put into the shadow page table or not. 1499 1516 * -
trunk/src/VBox/VMM/include/PGMInternal.h
r76993 r77240 2476 2476 uint32_t cDirtyPages; 2477 2477 /** Array of current dirty pgm pool page indices. */ 2478 uint16_t aidxDirtyPages[16]; 2479 /** Array running in parallel to aidxDirtyPages with the page data. */ 2478 2480 struct 2479 2481 { 2480 uint16_t uIdx; 2481 uint16_t Alignment[3]; 2482 uint64_t aPage[512]; 2482 uint64_t aPage[512]; 2483 2483 } aDirtyPages[16]; 2484 2484 2485 /** The number of pages currently in use. */ 2485 2486 uint16_t cUsedPages; … … 4294 4295 PPGMPOOLPAGE pgmPoolQueryPageForDbg(PPGMPOOL pPool, RTHCPHYS HCPhys); 4295 4296 int pgmPoolSyncCR3(PVMCPU pVCpu); 4296 bool pgmPoolIsDirtyPage (PVM pVM, RTGCPHYS GCPhys);4297 bool pgmPoolIsDirtyPageSlow(PVM pVM, RTGCPHYS GCPhys); 4297 4298 void pgmPoolInvalidateDirtyPage(PVM pVM, RTGCPHYS GCPhysPT); 4298 4299 int pgmPoolTrackUpdateGCPhys(PVM pVM, RTGCPHYS GCPhysPage, PPGMPAGE pPhysPage, bool fFlushPTEs, bool *pfFlushTLBs);
Note:
See TracChangeset
for help on using the changeset viewer.