- Timestamp:
- Sep 3, 2020 9:13:51 AM (4 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/NEMAllNativeTemplate-win.cpp.h
r83772 r86018 4039 4039 for (unsigned iLoop = 0;; iLoop++) 4040 4040 { 4041 # ifndef NEM_WIN_USE_HYPERCALLS_FOR_PAGES4041 //# ifndef NEM_WIN_USE_HYPERCALLS_FOR_PAGES 4042 4042 /* 4043 4043 * Hack alert! 4044 4044 */ 4045 4045 uint32_t const cMappedPages = pVM->nem.s.cMappedPages; 4046 if (cMappedPages >= 4000) 4047 { 4048 PGMPhysNemEnumPagesByState(pVM, pVCpu, NEM_WIN_PAGE_STATE_READABLE, nemR3WinWHvUnmapOnePageCallback, NULL); 4046 if ( cMappedPages >= pVM->nem.s.cMappedPagesMaxBeforeUnmap 4047 && pVM->nem.s.cMappedPagesMaxBeforeUnmap != 0) 4048 { 4049 PGMPhysNemEnumPagesByState(pVM, pVCpu, NEM_WIN_PAGE_STATE_READABLE, nemHCWinUnmapOnePageCallback, NULL); 4049 4050 Log(("nemHCWinRunGC: Unmapped all; cMappedPages=%u -> %u\n", cMappedPages, pVM->nem.s.cMappedPages)); 4050 4051 } 4051 # endif4052 //# endif 4052 4053 4053 4054 /* -
trunk/src/VBox/VMM/VMMR3/NEMR3.cpp
r82968 r86018 85 85 #ifdef RT_OS_WINDOWS 86 86 "|UseRing0Runloop" 87 "|MaxPagesMappedBeforeUnmap" 87 88 #endif 88 89 , … … 121 122 AssertLogRelRCReturn(rc, rc); 122 123 pVM->nem.s.fUseRing0Runloop = fUseRing0Runloop; 124 125 /** @cfgm{/NEM/MaxPagesMappedBeforeUnmap, bool, true} 126 * Maximum nuber of pages mapped before into the Hv partition before 127 * unmapping verything and starting from the beginning 128 * @bugref{9044}. */ 129 uint32_t cMappedPagesMaxBeforeUnmap = 0; 130 rc = CFGMR3QueryU32Def(pCfgNem, "MaxPagesMappedBeforeUnmap", &cMappedPagesMaxBeforeUnmap, 0); 131 AssertLogRelRCReturn(rc, rc); 132 133 if ( cMappedPagesMaxBeforeUnmap < 4000 134 && cMappedPagesMaxBeforeUnmap != 0) 135 { 136 LogRel(("NEM: MaxPagesMappedBeforeUnmap too small %u, setting to 4000\n", cMappedPagesMaxBeforeUnmap)); 137 cMappedPagesMaxBeforeUnmap = 4000; 138 } 139 140 LogRel(("NEM: cMappedPagesMaxBeforeUnmap=%u\n", cMappedPagesMaxBeforeUnmap)); 141 pVM->nem.s.cMappedPagesMaxBeforeUnmap = cMappedPagesMaxBeforeUnmap; 123 142 #endif 124 143 -
trunk/src/VBox/VMM/include/NEMInternal.h
r83103 r86018 192 192 /** Number of currently mapped pages. */ 193 193 uint32_t volatile cMappedPages; 194 /** Maximum number of mappd pages before unmapping everything, 0 disables this. */ 195 uint32_t cMappedPagesMaxBeforeUnmap; 194 196 195 197 /** Info about the VidGetHvPartitionId I/O control interface. */
Note:
See TracChangeset
for help on using the changeset viewer.