Changeset 20071 in vbox for trunk/src/VBox/VMM
- Timestamp:
- May 27, 2009 12:07:38 PM (16 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/EM.cpp
r20040 r20071 109 109 static int emR3SingleStepExecRem(PVM pVM, uint32_t cIterations); 110 110 static EMSTATE emR3Reschedule(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx); 111 static void emR3RemLock(PVM pVM);112 static void emR3RemUnlock(PVM pVM);113 111 114 112 /** … … 872 870 * @param pVM VM handle. 873 871 */ 874 static void emR3RemLock(PVM pVM)872 VMMR3DECL(void) EMR3RemLock(PVM pVM) 875 873 { 876 874 int rc = PDMCritSectEnter(&pVM->em.s.CritSectREM, VERR_SEM_BUSY); … … 883 881 * @param pVM VM handle. 884 882 */ 885 static void emR3RemUnlock(PVM pVM)883 VMMR3DECL(void) EMR3RemUnlock(PVM pVM) 886 884 { 887 885 PDMCritSectLeave(&pVM->em.s.CritSectREM); … … 901 899 LogFlow(("emR3RemStep: cs:eip=%04x:%08x\n", CPUMGetGuestCS(pVCpu), CPUMGetGuestEIP(pVCpu))); 902 900 903 emR3RemLock(pVM);901 EMR3RemLock(pVM); 904 902 905 903 /* … … 912 910 REMR3StateBack(pVM, pVCpu); 913 911 } 914 emR3RemUnlock(pVM);912 EMR3RemUnlock(pVM); 915 913 916 914 LogFlow(("emR3RemStep: returns %Rrc cs:eip=%04x:%08x\n", rc, CPUMGetGuestCS(pVCpu), CPUMGetGuestEIP(pVCpu))); … … 954 952 955 953 /* Big lock, but you are not supposed to own any lock when coming in here. */ 956 emR3RemLock(pVM);954 EMR3RemLock(pVM); 957 955 958 956 /* … … 1077 1075 STAM_PROFILE_STOP(&pVCpu->em.s.StatREMSync, e); 1078 1076 } 1079 emR3RemUnlock(pVM);1077 EMR3RemUnlock(pVM); 1080 1078 1081 1079 STAM_REL_PROFILE_ADV_STOP(&pVCpu->em.s.StatREMTotal, a); … … 1482 1480 STAM_PROFILE_START(&pVCpu->em.s.StatREMEmu, a); 1483 1481 Log(("EMINS: %04x:%RGv RSP=%RGv\n", pCtx->cs, (RTGCPTR)pCtx->rip, (RTGCPTR)pCtx->rsp)); 1484 emR3RemLock(pVM);1482 EMR3RemLock(pVM); 1485 1483 /* Flush the recompiler TLB if the VCPU has changed. */ 1486 1484 if (pVM->em.s.idLastRemCpu != pVCpu->idCpu) … … 1489 1487 1490 1488 rc = REMR3EmulateInstruction(pVM, pVCpu); 1491 emR3RemUnlock(pVM);1489 EMR3RemUnlock(pVM); 1492 1490 STAM_PROFILE_STOP(&pVCpu->em.s.StatREMEmu, a); 1493 1491 … … 2497 2495 case VERR_REM_FLUSHED_PAGES_OVERFLOW: 2498 2496 Assert((pCtx->ss & X86_SEL_RPL) != 1); 2499 emR3RemLock(pVM);2497 EMR3RemLock(pVM); 2500 2498 REMR3ReplayInvalidatedPages(pVM, pVCpu); 2501 emR3RemUnlock(pVM);2499 EMR3RemUnlock(pVM); 2502 2500 rc = VINF_SUCCESS; 2503 2501 break; … … 3450 3448 if (VM_FF_IS_PENDING_EXCEPT(pVM, VM_FF_REM_HANDLER_NOTIFY, VM_FF_PGM_NO_MEMORY)) 3451 3449 { 3452 emR3RemLock(pVM);3450 EMR3RemLock(pVM); 3453 3451 REMR3ReplayHandlerNotifications(pVM); 3454 emR3RemUnlock(pVM);3452 EMR3RemUnlock(pVM); 3455 3453 } 3456 3454 -
trunk/src/VBox/VMM/PGMPhys.cpp
r19861 r20071 1841 1841 } 1842 1842 GMMR3FreePagesCleanup(pReq); 1843 pgmUnlock(pVM); 1843 1844 } 1844 1845 else … … 1846 1847 /* link in the ram range */ 1847 1848 pgmR3PhysLinkRamRange(pVM, &pCur->RamRange, pRamPrev); 1849 pgmUnlock(pVM); 1848 1850 REMR3NotifyPhysRamRegister(pVM, GCPhys, pCur->RamRange.cb, REM_NOTIFY_PHYS_RAM_FLAGS_MMIO2); 1849 1851 } 1850 1852 1851 pgmUnlock(pVM);1852 1853 1853 1854 return VINF_SUCCESS;
Note:
See TracChangeset
for help on using the changeset viewer.