- Timestamp:
- Mar 20, 2025 9:29:19 PM (8 weeks ago)
- svn:sync-xref-src-repo-rev:
- 168089
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp ¶
r108132 r108676 52 52 #ifdef IN_RING3 53 53 # include <iprt/thread.h> 54 # ifdef VBOX_WITH_ONLY_PGM_NEM_MODE 55 # include <iprt/zero.h> 56 # endif 54 57 #elif defined(IN_RING0) 55 58 # include <iprt/mem.h> … … 3003 3006 #ifndef VBOX_WITH_ONLY_PGM_NEM_MODE 3004 3007 AssertMsg(PGM_PAGE_GET_HCPHYS(pPage) == pVM->pgm.s.HCPhysZeroPg, ("%RGp/%R[pgmpage]\n", GCPhys, pPage)); 3005 #endif3006 3008 #ifndef IN_RING0 3007 3009 pTlbe->pMap = NULL; 3008 3010 #endif 3009 3011 pTlbe->pv = pVM->pgm.s.abZeroPg; 3012 #else 3013 /* 3014 * Should not ever be used, as we don't implement zero pages for NEM mode currently and 3015 * MMIO accesses are not handled through the TLB. 3016 */ 3017 pTlbe->pv = (void *)&g_abRTZero64K[0]; /* Maximum granule size on ARM. */ 3018 #endif 3010 3019 } 3011 3020 #ifdef PGM_WITH_PHYS_TLB -
TabularUnified trunk/src/VBox/VMM/VMMR3/PGM.cpp ¶
r108132 r108676 981 981 AssertRCReturn(rc, rc); 982 982 983 #ifndef VBOX_WITH_ONLY_PGM_NEM_MODE 983 984 /* 984 985 * Setup the zero page (HCPHysZeroPg is set by ring-0). 985 986 */ 986 987 RT_ZERO(pVM->pgm.s.abZeroPg); /* paranoia */ 987 #ifndef VBOX_WITH_ONLY_PGM_NEM_MODE988 988 if (fDriverless) 989 989 pVM->pgm.s.HCPhysZeroPg = _4G - GUEST_PAGE_SIZE * 2 /* fake to avoid PGM_PAGE_INIT_ZERO assertion */; … … 991 991 AssertRelease(pVM->pgm.s.HCPhysZeroPg != 0); 992 992 Log(("HCPhysZeroPg=%RHp abZeroPg=%p\n", pVM->pgm.s.HCPhysZeroPg, pVM->pgm.s.abZeroPg)); 993 #endif994 993 995 994 /* … … 998 997 */ 999 998 ASMMemFill32(pVM->pgm.s.abMmioPg, sizeof(pVM->pgm.s.abMmioPg), 0xfeedface); 1000 #ifndef VBOX_WITH_ONLY_PGM_NEM_MODE1001 999 if (fDriverless) 1002 1000 pVM->pgm.s.HCPhysMmioPg = _4G - GUEST_PAGE_SIZE * 3 /* fake to avoid PGM_PAGE_INIT_ZERO assertion */; -
TabularUnified trunk/src/VBox/VMM/include/PGMInternal.h ¶
r108134 r108676 3015 3015 typedef struct PGM 3016 3016 { 3017 #ifndef VBOX_WITH_ONLY_PGM_NEM_MODE 3017 3018 /** The zero page. */ 3018 3019 uint8_t abZeroPg[RT_MAX(HOST_PAGE_SIZE, GUEST_PAGE_SIZE)]; 3019 3020 /** The MMIO placeholder page. */ 3020 3021 uint8_t abMmioPg[RT_MAX(HOST_PAGE_SIZE, GUEST_PAGE_SIZE)]; 3022 #endif 3021 3023 3022 3024 /** @name RAM, MMIO2 and ROM ranges
Note:
See TracChangeset
for help on using the changeset viewer.