儲存庫 vbox 的更動 17290
- 時間撮記:
- 2009-3-3 下午03:05:31 (16 年 以前)
- 位置:
- trunk
- 檔案:
-
- 修改 3 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/include/VBox/mm.h
r17286 r17290 85 85 /** Physical backing memory is allocated dynamically. Not set implies a one time static allocation. */ 86 86 #define MM_RAM_FLAGS_DYNAMIC_ALLOC RT_BIT(11) 87 88 /** The shift used to get the page pool idx. (Apply MM_RAM_FLAGS_IDX_MASK to the result when shifting down). */89 #define MM_RAM_FLAGS_IDX_SHIFT 4890 /** The mask applied to the the page pool idx after using MM_RAM_FLAGS_IDX_SHIFT to shift it down. */91 #define MM_RAM_FLAGS_IDX_MASK 0x3fff92 87 /** @} */ 93 88 -
trunk/src/VBox/VMM/PGMInternal.h
r17286 r17290 1974 1974 /** @} */ 1975 1975 1976 #ifdef MM_RAM_FLAGS_IDX_SHIFT1977 # if MM_RAM_FLAGS_IDX_SHIFT - 48 != PGMPOOL_TD_IDX_SHIFT1978 # error "MM_RAM_FLAGS_IDX_SHIFT - 48 != PGMPOOL_TD_IDX_SHIFT"1979 # endif1980 #endif1981 #ifdef MM_RAM_FLAGS_IDX_MASK1982 # if MM_RAM_FLAGS_IDX_MASK != PGMPOOL_TD_IDX_MASK1983 # error "MM_RAM_FLAGS_IDX_MASK != PGMPOOL_TD_IDX_MASK"1984 # endif1985 #endif1986 1987 1976 1988 1977 /** -
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r17289 r17290 1471 1471 * Make page table entry. 1472 1472 */ 1473 const RTHCPHYS HCPhys = pPage->HCPhys; /** @todo FLAGS */1474 1473 SHWPTE PteDst; 1475 1474 if (PGM_PAGE_HAS_ACTIVE_HANDLERS(pPage)) … … 1487 1486 #else 1488 1487 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)) 1489 | (HCPhys & X86_PTE_PAE_PG_MASK);1488 | PGM_PAGE_GET_HCPHYS(pPage); 1490 1489 #endif 1491 1490 } 1492 1491 else 1493 1492 { 1494 LogFlow(("SyncPageWorker: monitored page (%RHp) -> mark not present\n", HCPhys));1493 LogFlow(("SyncPageWorker: monitored page (%RHp) -> mark not present\n", PGM_PAGE_GET_HCPHYS(pPage))); 1495 1494 PteDst.u = 0; 1496 1495 } … … 1519 1518 STAM_COUNTER_INC(&pVM->pgm.s.CTX_MID_Z(Stat,DirtyPage)); 1520 1519 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)) 1521 | (HCPhys & X86_PTE_PAE_PG_MASK)1520 | PGM_PAGE_GET_HCPHYS(pPage) 1522 1521 | PGM_PTFLAGS_TRACK_DIRTY; 1523 1522 } … … 1536 1535 #else 1537 1536 PteDst.u = (PteSrc.u & ~(X86_PTE_PAE_PG_MASK | X86_PTE_AVL_MASK | X86_PTE_PAT | X86_PTE_PCD | X86_PTE_PWT)) 1538 | (HCPhys & X86_PTE_PAE_PG_MASK);1537 | PGM_PAGE_GET_HCPHYS(pPage); 1539 1538 #endif 1540 1539 } … … 1548 1547 { 1549 1548 if (!pPteDst->n.u1Present) 1550 PGM_BTH_NAME(SyncPageWorkerTrackAddref)(pVM, pShwPage, HCPhys >> MM_RAM_FLAGS_IDX_SHIFT, pPage, iPTDst);1549 PGM_BTH_NAME(SyncPageWorkerTrackAddref)(pVM, pShwPage, PGM_PAGE_GET_TRACKING(pPage), pPage, iPTDst); 1551 1550 else if ((pPteDst->u & SHW_PTE_PG_MASK) != (PteDst.u & SHW_PTE_PG_MASK)) 1552 1551 { 1553 1552 Log2(("SyncPageWorker: deref! *pPteDst=%RX64 PteDst=%RX64\n", (uint64_t)pPteDst->u, (uint64_t)PteDst.u)); 1554 1553 PGM_BTH_NAME(SyncPageWorkerTrackDeref)(pVM, pShwPage, pPteDst->u & SHW_PTE_PG_MASK); 1555 PGM_BTH_NAME(SyncPageWorkerTrackAddref)(pVM, pShwPage, HCPhys >> MM_RAM_FLAGS_IDX_SHIFT, pPage, iPTDst);1554 PGM_BTH_NAME(SyncPageWorkerTrackAddref)(pVM, pShwPage, PGM_PAGE_GET_TRACKING(pPage), pPage, iPTDst); 1556 1555 } 1557 1556 }
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器