VirtualBox

Changeset 22701 in vbox for trunk/src/VBox/VMM/VMMAll


Ignore:
Timestamp:
Sep 2, 2009 10:10:52 AM (15 years ago)
Author:
vboxsync
Message:

Debug checking only in VBOX_STRICT mode.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp

    r22698 r22701  
    13701370
    13711371# ifdef PGMPOOL_WITH_OPTIMIZED_DIRTY_PT
     1372
     1373#  ifdef VBOX_STRICT
    13721374/**
    13731375 * Check references to guest physical memory in a PAE / PAE page table.
     
    14211423    Assert(!cErrors);
    14221424}
     1425#  endif /* VBOX_STRICT */
    14231426
    14241427/**
     
    15121515#ifdef VBOX_STRICT
    15131516    uint64_t fFlags = 0;
    1514     rc = PGMShwGetPage(VMMGetCpu(pVM), pPage->pvDirtyFault, &fFlags, NULL);
    1515     AssertMsg(      (rc == VINF_SUCCESS && !(fFlags & X86_PTE_RW))
    1516                 /* In the SMP case the page table might be removed while we wait for the PGM lock in the trap handler. */
    1517                 ||  rc == VERR_PAGE_TABLE_NOT_PRESENT
    1518                 ||  rc == VERR_PAGE_NOT_PRESENT,
    1519                 ("PGMShwGetPage -> GCPtr=%RGv rc=%d flags=%RX64\n", pPage->pvDirtyFault, rc, fFlags));
     1517    RTHCPHYS HCPhys;
     1518    rc = PGMShwGetPage(VMMGetCpu(pVM), pPage->pvDirtyFault, &fFlags, &HCPhys);
     1519    AssertMsg(      (   rc == VINF_SUCCESS
     1520                     && (!(fFlags & X86_PTE_RW) || HCPhys != pPage->Core.Key))
     1521              /* In the SMP case the page table might be removed while we wait for the PGM lock in the trap handler. */
     1522              ||    rc == VERR_PAGE_TABLE_NOT_PRESENT
     1523              ||    rc == VERR_PAGE_NOT_PRESENT,
     1524              ("PGMShwGetPage -> GCPtr=%RGv rc=%d flags=%RX64\n", pPage->pvDirtyFault, rc, fFlags));
    15201525#endif
    15211526
     
    15711576    int rc = PGM_GCPHYS_2_PTR(pPool->CTX_SUFF(pVM), pPage->GCPhys, &pvGst); AssertReleaseRC(rc);
    15721577    memcpy(&pPool->aDirtyPages[idxFree][0], pvGst, PAGE_SIZE);
     1578#ifdef VBOX_STRICT
    15731579    pgmPoolTrackCheckPTPaePae(pPool, pPage, (PX86PTPAE)pvShw, (PCX86PTPAE)pvGst);
     1580#endif
    15741581
    15751582    STAM_COUNTER_INC(&pPool->StatDirtyPage);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette