Changeset 17639 in vbox
- Timestamp:
- Mar 10, 2009 3:31:20 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 44119
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllMap.cpp
r17612 r17639 245 245 PX86PD pShw32BitPd = pgmShwGet32BitPDPtr(&pVM->pgm.s); 246 246 AssertFatal(pShw32BitPd); 247 247 #ifdef IN_RC /* Lock mapping to prevent it from being reused during pgmPoolFree. */ 248 PGMDynLockHCPage(pVM, (uint8_t *)pShw32BitPd); 249 #endif 248 250 if ( pShw32BitPd->a[iNewPDE].n.u1Present 249 251 && !(pShw32BitPd->a[iNewPDE].u & PGM_PDFLAGS_MAPPING)) … … 256 258 Pde.u = PGM_PDFLAGS_MAPPING | X86_PDE_P | X86_PDE_A | X86_PDE_RW | X86_PDE_US | (uint32_t)pMap->aPTs[i].HCPhysPT; 257 259 pShw32BitPd->a[iNewPDE] = Pde; 260 #ifdef IN_RC 261 /* Unlock dynamic mappings again. */ 262 PGMDynUnlockHCPage(pVM, (uint8_t *)pShw32BitPd); 263 #endif 258 264 break; 259 265 } … … 269 275 pShwPdpt = pgmShwGetPaePDPTPtr(&pVM->pgm.s); 270 276 Assert(pShwPdpt); 277 #ifdef IN_RC /* Lock mapping to prevent it from being reused during pgmShwSyncPaePDPtr. */ 278 PGMDynLockHCPage(pVM, (uint8_t *)pShwPdpt); 279 #endif 271 280 pShwPaePd = pgmShwGetPaePDPtr(&pVM->pgm.s, (iPdPt << X86_PDPT_SHIFT)); 272 281 if (!pShwPaePd) … … 297 306 } 298 307 Assert(pShwPaePd); 299 308 #ifdef IN_RC /* Lock mapping to prevent it from being reused during pgmPoolFree. */ 309 PGMDynLockHCPage(pVM, (uint8_t *)pShwPaePd); 310 #endif 300 311 PPGMPOOLPAGE pPoolPagePd = pgmPoolGetPageByHCPhys(pVM, pShwPdpt->a[iPdPt].u & X86_PDPE_PG_MASK); 301 312 AssertFatal(pPoolPagePd); … … 342 353 /* Set the PGM_PDFLAGS_MAPPING flag in the page directory pointer entry. (legacy PAE guest mode) */ 343 354 pShwPdpt->a[iPdPt].u |= PGM_PLXFLAGS_MAPPING; 355 356 #ifdef IN_RC 357 /* Unlock dynamic mappings again. */ 358 PGMDynUnlockHCPage(pVM, (uint8_t *)pShwPaePd); 359 PGMDynUnlockHCPage(pVM, (uint8_t *)pShwPdpt); 360 #endif 344 361 break; 345 362 }
Note:
See TracChangeset
for help on using the changeset viewer.