VirtualBox

Changeset 14539 in vbox


Ignore:
Timestamp:
Nov 24, 2008 6:42:23 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
39828
Message:

PGMR0DynMap: More tests.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/PGMR0DynMap.cpp

    r14536 r14539  
    15661566                rc = VERR_INTERNAL_ERROR;
    15671567            }
    1568         }
    1569         LogRel(("Load=%u/%u/%u Set=%u/%u\n", pThis->cLoad, pThis->cMaxLoad, pThis->cPages, pSet->cEntries, RT_ELEMENTS(pSet->aEntries)));
     1568            LogRel(("Load=%u/%u/%u Set=%u/%u\n", pThis->cLoad, pThis->cMaxLoad, pThis->cPages, pSet->cEntries, RT_ELEMENTS(pSet->aEntries)));
     1569            if (RT_SUCCESS(rc))
     1570            {
     1571                /*
     1572                 * Trigger an overflow error.
     1573                 */
     1574                LogRel(("Test #4\n"));
     1575                ASMIntDisable();
     1576                for (i = 0 ; i < RT_ELEMENTS(pSet->aEntries) / 2 - 3 + 1 && RT_SUCCESS(rc) && pv2 != pv; i++)
     1577                    rc = PGMDynMapHCPage(pVM, cr3 + PAGE_SIZE * -(i + 5), &pv2);
     1578                ASMIntEnable();
     1579                if (rc == VERR_PGM_DYNMAP_FULL_SET)
     1580                {
     1581                    rc = VINF_SUCCESS;
     1582
     1583                    /* flush the set. */
     1584                    ASMIntDisable();
     1585                    PGMDynMapMigrateAutoSet(&pVM->aCpus[0]);
     1586                    PGMDynMapReleaseAutoSet(&pVM->aCpus[0]);
     1587                    PGMDynMapStartAutoSet(&pVM->aCpus[0]);
     1588                    ASMIntEnable();
     1589                }
     1590                else
     1591                {
     1592                    LogRel(("failed(%d): rc=%Rrc, wanted %d ; pv2=%p Set=%u/%u\n", __LINE__,
     1593                            rc, VERR_PGM_DYNMAP_FULL_SET, pv2, pSet->cEntries, RT_ELEMENTS(pSet->aEntries)));
     1594                    if (RT_SUCCESS(rc)) rc = VERR_INTERNAL_ERROR;
     1595                }
     1596            }
     1597        }
    15701598    }
    15711599    else
     
    15811609    if (RT_SUCCESS(rc))
    15821610    {
    1583         LogRel(("Test #4\n"));
     1611        LogRel(("Test #5\n"));
    15841612        ASMIntDisable();
    15851613        RTHCPHYS  HCPhysPT = RTR0MemObjGetPagePhysAddr(pThis->pSegHead->ahMemObjPTs[0], 0);
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