Changeset 26233 in vbox
- Timestamp:
- Feb 4, 2010 1:38:27 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 57278
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/PGMR0.cpp
r26150 r26233 233 233 * nested page tables. 234 234 */ 235 pgmLock(pVM);235 bool fLockTaken = false; 236 236 switch(enmShwPagingMode) 237 237 { 238 238 case PGMMODE_32_BIT: 239 rc = PGM_BTH_NAME_32BIT_PROT(Trap0eHandler)(pVCpu, uErr, pRegFrame, pvFault );239 rc = PGM_BTH_NAME_32BIT_PROT(Trap0eHandler)(pVCpu, uErr, pRegFrame, pvFault, &fLockTaken); 240 240 break; 241 241 case PGMMODE_PAE: 242 242 case PGMMODE_PAE_NX: 243 rc = PGM_BTH_NAME_PAE_PROT(Trap0eHandler)(pVCpu, uErr, pRegFrame, pvFault );243 rc = PGM_BTH_NAME_PAE_PROT(Trap0eHandler)(pVCpu, uErr, pRegFrame, pvFault, &fLockTaken); 244 244 break; 245 245 case PGMMODE_AMD64: 246 246 case PGMMODE_AMD64_NX: 247 rc = PGM_BTH_NAME_AMD64_PROT(Trap0eHandler)(pVCpu, uErr, pRegFrame, pvFault );247 rc = PGM_BTH_NAME_AMD64_PROT(Trap0eHandler)(pVCpu, uErr, pRegFrame, pvFault, &fLockTaken); 248 248 break; 249 249 case PGMMODE_EPT: 250 rc = PGM_BTH_NAME_EPT_PROT(Trap0eHandler)(pVCpu, uErr, pRegFrame, pvFault );250 rc = PGM_BTH_NAME_EPT_PROT(Trap0eHandler)(pVCpu, uErr, pRegFrame, pvFault, &fLockTaken); 251 251 break; 252 252 default: … … 255 255 break; 256 256 } 257 Assert(PGMIsLockOwner(pVM)); 258 pgmUnlock(pVM); 257 if (fLockTaken) 258 { 259 Assert(PGMIsLockOwner(pVM)); 260 pgmUnlock(pVM); 261 } 259 262 if (rc == VINF_PGM_SYNCPAGE_MODIFIED_PDE) 260 263 rc = VINF_SUCCESS;
Note:
See TracChangeset
for help on using the changeset viewer.