Changeset 12937 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Oct 2, 2008 1:31:24 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r12936 r12937 1396 1396 if (PteSrc.n.u1Present) 1397 1397 { 1398 #if PGM_SHW_TYPE == PGM_TYPE_EPT1399 AssertFailed();1400 #endif1401 1398 /* 1402 1399 * Find the ram range. … … 1416 1413 /** @todo r=bird: Are we actually handling dirty and access bits for pages with access handlers correctly? No. */ 1417 1414 if (!PGM_PAGE_HAS_ACTIVE_ALL_HANDLERS(pPage)) 1415 { 1416 #if PGM_SHW_TYPE == PGM_TYPE_EPT 1417 PteDst.u = (HCPhys & EPT_PTE_PG_MASK); 1418 PteDst.n.u1Present = 1; 1419 PteDst.n.u1Execute = 1; 1420 /* PteDst.n.u1Write = 0 */ 1421 #else 1418 1422 PteDst.u = (PteSrc.u & ~(X86_PTE_PAE_PG_MASK | X86_PTE_AVL_MASK | X86_PTE_PAT | X86_PTE_PCD | X86_PTE_PWT | X86_PTE_RW)) 1419 1423 | (HCPhys & X86_PTE_PAE_PG_MASK); 1424 #endif 1425 } 1420 1426 else 1421 1427 { … … 1427 1433 else 1428 1434 { 1435 #if PGM_WITH_PAGING(PGM_GST_TYPE, PGM_SHW_TYPE) 1429 1436 /* 1430 1437 * If the page or page directory entry is not marked accessed, … … 1450 1457 } 1451 1458 else 1459 #endif 1452 1460 { 1453 1461 STAM_COUNTER_INC(&pVM->pgm.s.CTXMID(Stat,DirtyPageSkipped)); 1462 #if PGM_SHW_TYPE == PGM_TYPE_EPT 1463 PteDst.u = (HCPhys & EPT_PTE_PG_MASK); 1464 PteDst.n.u1Present = 1; 1465 PteDst.n.u1Write = 1; 1466 PteDst.n.u1Execute = 1; 1467 #else 1454 1468 PteDst.u = (PteSrc.u & ~(X86_PTE_PAE_PG_MASK | X86_PTE_AVL_MASK | X86_PTE_PAT | X86_PTE_PCD | X86_PTE_PWT)) 1455 1469 | (HCPhys & X86_PTE_PAE_PG_MASK); 1470 #endif 1456 1471 } 1457 1472 }
Note:
See TracChangeset
for help on using the changeset viewer.