Changeset 87519 in vbox for trunk/src/VBox/VMM/VMMR0
- Timestamp:
- Feb 1, 2021 9:17:51 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 142544
- Location:
- trunk/src/VBox/VMM/VMMR0
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMR0.cpp
r87511 r87519 1185 1185 * Can be overriden using CFGM. 1186 1186 */ 1187 if (!pVM->hm.s.cMaxResumeLoops) 1188 { 1189 pVM->hm.s.cMaxResumeLoops = 1024; 1187 uint32_t cMaxResumeLoops = pVM->hm.s.cMaxResumeLoopsCfg; 1188 if (!cMaxResumeLoops) 1189 { 1190 cMaxResumeLoops = 1024; 1190 1191 if (RTThreadPreemptIsPendingTrusty()) 1191 pVM->hm.s.cMaxResumeLoops = 8192; 1192 } 1192 cMaxResumeLoops = 8192; 1193 } 1194 else if (cMaxResumeLoops > 16384) 1195 cMaxResumeLoops = 16384; 1196 else if (cMaxResumeLoops < 32) 1197 cMaxResumeLoops = 32; 1198 pVM->hm.s.cMaxResumeLoopsCfg = pVM->hmr0.s.cMaxResumeLoops = cMaxResumeLoops; 1193 1199 1194 1200 /* -
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r87518 r87519 4475 4475 static VBOXSTRICTRC hmR0SvmRunGuestCodeNormal(PVMCPUCC pVCpu, uint32_t *pcLoops) 4476 4476 { 4477 uint32_t const cMaxResumeLoops = pVCpu->CTX_SUFF(pVM)->hm .s.cMaxResumeLoops;4477 uint32_t const cMaxResumeLoops = pVCpu->CTX_SUFF(pVM)->hmr0.s.cMaxResumeLoops; 4478 4478 Assert(pcLoops); 4479 4479 Assert(*pcLoops <= cMaxResumeLoops); … … 4550 4550 static VBOXSTRICTRC hmR0SvmRunGuestCodeStep(PVMCPUCC pVCpu, uint32_t *pcLoops) 4551 4551 { 4552 uint32_t const cMaxResumeLoops = pVCpu->CTX_SUFF(pVM)->hm .s.cMaxResumeLoops;4552 uint32_t const cMaxResumeLoops = pVCpu->CTX_SUFF(pVM)->hmr0.s.cMaxResumeLoops; 4553 4553 Assert(pcLoops); 4554 4554 Assert(*pcLoops <= cMaxResumeLoops); … … 4658 4658 HMSVM_ASSERT_IN_NESTED_GUEST(pCtx); 4659 4659 Assert(pcLoops); 4660 Assert(*pcLoops <= pVCpu->CTX_SUFF(pVM)->hm .s.cMaxResumeLoops);4660 Assert(*pcLoops <= pVCpu->CTX_SUFF(pVM)->hmr0.s.cMaxResumeLoops); 4661 4661 4662 4662 SVMTRANSIENT SvmTransient; … … 4725 4725 else 4726 4726 { 4727 if (++(*pcLoops) <= pVCpu->CTX_SUFF(pVM)->hm .s.cMaxResumeLoops)4727 if (++(*pcLoops) <= pVCpu->CTX_SUFF(pVM)->hmr0.s.cMaxResumeLoops) 4728 4728 continue; 4729 4729 STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchMaxResumeLoops); … … 6357 6357 */ 6358 6358 bool const fSupportsNextRipSave = hmR0SvmSupportsNextRipSave(pVCpu); 6359 if ( pVCpu->CTX_SUFF(pVM)->hm.s.fTPRPatchingActive6360 && idMsr == MSR_K8_LSTAR)6359 if ( idMsr == MSR_K8_LSTAR 6360 && pVCpu->CTX_SUFF(pVM)->hm.s.fTPRPatchingActive) 6361 6361 { 6362 6362 unsigned cbInstr; -
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r87518 r87519 11288 11288 static VBOXSTRICTRC hmR0VmxRunGuestCodeNormal(PVMCPUCC pVCpu, uint32_t *pcLoops) 11289 11289 { 11290 uint32_t const cMaxResumeLoops = pVCpu->CTX_SUFF(pVM)->hm .s.cMaxResumeLoops;11290 uint32_t const cMaxResumeLoops = pVCpu->CTX_SUFF(pVM)->hmr0.s.cMaxResumeLoops; 11291 11291 Assert(pcLoops); 11292 11292 Assert(*pcLoops <= cMaxResumeLoops); … … 11401 11401 static VBOXSTRICTRC hmR0VmxRunGuestCodeNested(PVMCPUCC pVCpu, uint32_t *pcLoops) 11402 11402 { 11403 uint32_t const cMaxResumeLoops = pVCpu->CTX_SUFF(pVM)->hm .s.cMaxResumeLoops;11403 uint32_t const cMaxResumeLoops = pVCpu->CTX_SUFF(pVM)->hmr0.s.cMaxResumeLoops; 11404 11404 Assert(pcLoops); 11405 11405 Assert(*pcLoops <= cMaxResumeLoops); … … 12563 12563 static VBOXSTRICTRC hmR0VmxRunGuestCodeDebug(PVMCPUCC pVCpu, uint32_t *pcLoops) 12564 12564 { 12565 uint32_t const cMaxResumeLoops = pVCpu->CTX_SUFF(pVM)->hm .s.cMaxResumeLoops;12565 uint32_t const cMaxResumeLoops = pVCpu->CTX_SUFF(pVM)->hmr0.s.cMaxResumeLoops; 12566 12566 Assert(pcLoops); 12567 12567 Assert(*pcLoops <= cMaxResumeLoops);
Note:
See TracChangeset
for help on using the changeset viewer.