Changeset 72085 in vbox for trunk/src/VBox
- Timestamp:
- May 3, 2018 7:31:33 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r72080 r72085 4118 4118 { 4119 4119 HMSVM_ASSERT_PREEMPT_SAFE(); 4120 4121 if (CPUMIsGuestInSvmNestedHwVirtMode(pCtx)) 4122 { 4120 HMSVM_ASSERT_IN_NESTED_GUEST(pCtx); 4121 4123 4122 #ifdef VBOX_WITH_NESTED_HWVIRT_ONLY_IN_IEM 4124 4125 4123 Log2(("hmR0SvmPreRunGuest: Rescheduling to IEM due to nested-hwvirt or forced IEM exec -> VINF_EM_RESCHEDULE_REM\n")); 4124 return VINF_EM_RESCHEDULE_REM; 4126 4125 #endif 4127 }4128 else4129 {4130 /** @todo Remove this assertion after its sufficiently established that this4131 * never happens. */4132 AssertFailedReturn(VERR_INVALID_STATE);4133 }4134 4126 4135 4127 /* Check force flag actions that might require us to go back to ring-3. */ … … 4143 4135 { 4144 4136 VBOXSTRICTRC rcStrict = hmR0SvmEvaluatePendingEventNested(pVCpu, pCtx); 4145 if (rcStrict != VINF_SUCCESS) 4137 if ( rcStrict != VINF_SUCCESS 4138 || !CPUMIsGuestInSvmNestedHwVirtMode(pCtx)) 4146 4139 return VBOXSTRICTRC_VAL(rcStrict); 4147 if (!CPUMIsGuestInSvmNestedHwVirtMode(pCtx))4148 return VINF_SVM_VMEXIT; 4149 }4140 } 4141 4142 HMSVM_ASSERT_IN_NESTED_GUEST(pCtx); 4150 4143 4151 4144 /* … … 4831 4824 STAM_PROFILE_ADV_START(&pVCpu->hm.s.StatEntry, x); 4832 4825 rc = hmR0SvmPreRunGuestNested(pVM, pVCpu, pCtx, &SvmTransient); 4833 if ( rc != VINF_SUCCESS4826 if ( rc != VINF_SUCCESS 4834 4827 || !CPUMIsGuestInSvmNestedHwVirtMode(pCtx)) 4835 4828 { … … 4871 4864 rc = hmR0SvmHandleExitNested(pVCpu, pCtx, &SvmTransient); 4872 4865 STAM_PROFILE_ADV_STOP(&pVCpu->hm.s.StatExit2, x); 4873 if (rc != VINF_SUCCESS) 4866 if ( rc != VINF_SUCCESS 4867 || !CPUMIsGuestInSvmNestedHwVirtMode(pCtx)) 4874 4868 break; 4875 4869 if (++(*pcLoops) >= pVM->hm.s.cMaxResumeLoops)
Note:
See TracChangeset
for help on using the changeset viewer.