VirtualBox

Changeset 90992 in vbox


Ignore:
Timestamp:
Aug 30, 2021 9:52:14 AM (3 years ago)
Author:
vboxsync
Message:

VMM: Eliminated VMMCALLRING3_PGM_LOCK. bugref:6695

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/pgm.h

    r90346 r90992  
    722722VMMR3_INT_DECL(void)    PGMR3MemSetup(PVM pVM, bool fReset);
    723723VMMR3DECL(int)      PGMR3Term(PVM pVM);
    724 VMMR3DECL(int)      PGMR3LockCall(PVM pVM);
    725724
    726725VMMR3DECL(int)      PGMR3PhysRegisterRam(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb, const char *pszDesc);
  • trunk/src/VBox/VMM/VMMAll/PGMAll.cpp

    r90784 r90992  
    35273527{
    35283528#if defined(VBOX_STRICT)
    3529     int rc = PDMCritSectEnterDebug(pVM, &pVM->pgm.s.CritSectX, VERR_SEM_BUSY, (uintptr_t)ASMReturnAddress(), RT_SRC_POS_ARGS);
     3529    int rc = PDMCritSectEnterDebug(pVM, &pVM->pgm.s.CritSectX, VINF_SUCCESS, (uintptr_t)ASMReturnAddress(), RT_SRC_POS_ARGS);
    35303530#else
    3531     int rc = PDMCritSectEnter(pVM, &pVM->pgm.s.CritSectX, VERR_SEM_BUSY);
     3531    int rc = PDMCritSectEnter(pVM, &pVM->pgm.s.CritSectX, VINF_SUCCESS);
    35323532#endif
    35333533    if (RT_SUCCESS(rc))
    35343534        return rc;
    3535 
    3536 #ifdef IN_RING0
    3537     if (rc == VERR_SEM_BUSY)
    3538     {
    3539         rc = VMMRZCallRing3NoCpu(pVM, VMMCALLRING3_PGM_LOCK, 0);
    3540         if (RT_SUCCESS(rc))
    3541             return rc;
    3542     }
    3543 #endif
    35443535    if (fVoid)
    35453536        PDM_CRITSECT_RELEASE_ASSERT_RC(pVM, &pVM->pgm.s.CritSectX, rc);
  • trunk/src/VBox/VMM/VMMR3/PGM.cpp

    r90439 r90992  
    23662366
    23672367/**
    2368  * Service a VMMCALLRING3_PGM_LOCK call.
    2369  *
    2370  * @returns VBox status code.
    2371  * @param   pVM     The cross context VM structure.
    2372  */
    2373 VMMR3DECL(int) PGMR3LockCall(PVM pVM)
    2374 {
    2375     int rc = PDMR3CritSectEnterEx(pVM, &pVM->pgm.s.CritSectX, true /* fHostCall */);
    2376     AssertRC(rc);
    2377     return rc;
    2378 }
    2379 
    2380 
    2381 /**
    23822368 * Called by pgmPoolFlushAllInt prior to flushing the pool.
    23832369 *
  • trunk/src/VBox/VMM/VMMR3/VMM.cpp

    r90991 r90992  
    25412541
    25422542        /*
    2543          * Acquire the PGM lock.
    2544          */
    2545         case VMMCALLRING3_PGM_LOCK:
    2546         {
    2547             pVCpu->vmm.s.rcCallRing3 = PGMR3LockCall(pVM);
    2548             break;
    2549         }
    2550 
    2551         /*
    25522543         * Set the VM error message.
    25532544         */
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