VirtualBox

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


Ignore:
Timestamp:
Jun 22, 2009 12:32:53 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
48890
Message:

More paranoia

File:
1 edited

Legend:

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

    r20768 r20770  
    14181418        Assert(pPhys->CTX_SUFF(pfnHandler));
    14191419
     1420        PFNPGMR3PHYSHANDLER pfnHandler = pPhys->CTX_SUFF(pfnHandler);
     1421        void *pvUser = pPhys->CTX_SUFF(pvUser);
     1422
    14201423        Log5(("pgmPhysReadHandler: GCPhys=%RGp cb=%#x pPage=%R[pgmpage] phys %s\n", GCPhys, cb, pPage, R3STRING(pPhys->pszDesc) ));
    14211424        STAM_PROFILE_START(&pPhys->Stat, h);
     
    14231426        /* Release the PGM lock as MMIO handlers take the IOM lock. (deadlock prevention) */
    14241427        pgmUnlock(pVM);
    1425         rc = pPhys->CTX_SUFF(pfnHandler)(pVM, GCPhys, (void *)pvSrc, pvBuf, cb, PGMACCESSTYPE_READ, pPhys->CTX_SUFF(pvUser));
     1428        rc = pfnHandler(pVM, GCPhys, (void *)pvSrc, pvBuf, cb, PGMACCESSTYPE_READ, pvUser);
    14261429        pgmLock(pVM);
    14271430# ifdef VBOX_WITH_STATISTICS
     
    16581661            if (RT_SUCCESS(rc))
    16591662            {
     1663                PFNPGMR3PHYSHANDLER pfnHandler = pCur->CTX_SUFF(pfnHandler);
     1664                void *pvUser = pCur->CTX_SUFF(pvUser);
     1665
    16601666                STAM_PROFILE_START(&pCur->Stat, h);
    16611667                Assert(PGMIsLockOwner(pVM));
    16621668                /* Release the PGM lock as MMIO handlers take the IOM lock. (deadlock prevention) */
    16631669                pgmUnlock(pVM);
    1664                 rc = pCur->CTX_SUFF(pfnHandler)(pVM, GCPhys, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE, pCur->CTX_SUFF(pvUser));
     1670                rc = pfnHandler(pVM, GCPhys, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE, pvUser);
    16651671                pgmLock(pVM);
    16661672# ifdef VBOX_WITH_STATISTICS
     
    18661872                cbRange = offVirt;
    18671873#ifdef IN_RING3
     1874            PFNPGMR3PHYSHANDLER pfnHandler = pPhys->CTX_SUFF(pfnHandler);
     1875            void *pvUser = pPhys->CTX_SUFF(pvUser);
     1876
    18681877            Log5(("pgmPhysWriteHandler: GCPhys=%RGp cbRange=%#x pPage=%R[pgmpage] phys %s\n", GCPhys, cbRange, pPage, R3STRING(pPhys->pszDesc) ));
    18691878            STAM_PROFILE_START(&pPhys->Stat, h);
     
    18711880            /* Release the PGM lock as MMIO handlers take the IOM lock. (deadlock prevention) */
    18721881            pgmUnlock(pVM);
    1873             rc = pPhys->CTX_SUFF(pfnHandler)(pVM, GCPhys, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE, pPhys->CTX_SUFF(pvUser));
     1882            rc = pfnHandler(pVM, GCPhys, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE, pvUser);
    18741883            pgmLock(pVM);
    18751884# ifdef VBOX_WITH_STATISTICS
     
    19331942            Log5(("pgmPhysWriteHandler: GCPhys=%RGp cbRange=%#x pPage=%R[pgmpage] phys/virt %s/%s\n", GCPhys, cbRange, pPage, R3STRING(pPhys->pszDesc), R3STRING(pVirt->pszDesc) ));
    19341943
     1944            PFNPGMR3PHYSHANDLER pfnHandler = pPhys->CTX_SUFF(pfnHandler);
     1945            void *pvUser = pPhys->CTX_SUFF(pvUser);
     1946
    19351947            STAM_PROFILE_START(&pPhys->Stat, h);
    19361948            Assert(PGMIsLockOwner(pVM));
    19371949            /* Release the PGM lock as MMIO handlers take the IOM lock. (deadlock prevention) */
    19381950            pgmUnlock(pVM);
    1939             rc = pPhys->CTX_SUFF(pfnHandler)(pVM, GCPhys, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE, pPhys->CTX_SUFF(pvUser));
     1951            rc = pfnHandler(pVM, GCPhys, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE, pvUser);
    19401952            pgmLock(pVM);
    19411953# ifdef VBOX_WITH_STATISTICS
Note: See TracChangeset for help on using the changeset viewer.

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