Changeset 25586 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Dec 26, 2009 1:08:25 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 56271
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp
r25585 r25586 41 41 # include <iprt/thread.h> 42 42 #endif 43 44 45 /******************************************************************************* 46 * Defined Constants And Macros * 47 *******************************************************************************/ 48 /** Enable the physical TLB. */ 49 #define PGM_WITH_PHYS_TLB 43 50 44 51 … … 655 662 PPGMRAMRANGE pRam = pgmPhysGetRange(&pVM->pgm.s, GCPhys); 656 663 AssertMsgReturn(pRam || !pRam->pvR3, ("pRam=%p pPage=%R[pgmpage]\n", pRam, pPage), VERR_INTERNAL_ERROR_2); 657 *ppv = (void *)((uintptr_t)pRam->pvR3 + (GCPhys - pRam->GCPhys));664 *ppv = (void *)((uintptr_t)pRam->pvR3 + (GCPhys & ~(RTGCPHYS)PAGE_OFFSET_MASK) - pRam->GCPhys); 658 665 } 659 666 else if (PGM_PAGE_GET_TYPE(pPage) == PGMPAGETYPE_MMIO2_ALIAS_MMIO) … … 863 870 pTlbe->pMap = pMap; 864 871 pTlbe->pv = pv; 872 Assert(!((uintptr_t)pTlbe->pv & PAGE_OFFSET_MASK)); 865 873 } 866 874 else … … 870 878 pTlbe->pv = pPGM->CTXALLSUFF(pvZeroPg); 871 879 } 872 #ifdef IN_RING0873 pTlbe->GCPhys = (GCPhys & X86_PTE_PAE_PG_MASK);880 #ifdef PGM_WITH_PHYS_TLB 881 pTlbe->GCPhys = GCPhys & X86_PTE_PAE_PG_MASK; 874 882 #else 875 /* REM already has a TLB of its own; no point in having two876 * and keeping both in sync will eliminate any benefit there might be.877 */878 883 pTlbe->GCPhys = NIL_RTGCPHYS; 879 884 #endif … … 914 919 pTlbe->pMap = pMap; 915 920 pTlbe->pv = pv; 921 Assert(!((uintptr_t)pTlbe->pv & PAGE_OFFSET_MASK)); 916 922 } 917 923 else … … 921 927 pTlbe->pv = pPGM->CTXALLSUFF(pvZeroPg); 922 928 } 923 #ifdef IN_RING0924 pTlbe->GCPhys = (GCPhys & X86_PTE_PAE_PG_MASK);929 #ifdef PGM_WITH_PHYS_TLB 930 pTlbe->GCPhys = GCPhys & X86_PTE_PAE_PG_MASK; 925 931 #else 926 /* REM already has a TLB of its own; no point in having two927 * and keeping both in sync will eliminate any benefit there might be.928 */929 932 pTlbe->GCPhys = NIL_RTGCPHYS; 930 933 #endif
Note:
See TracChangeset
for help on using the changeset viewer.