Changeset 79097 in vbox
- Timestamp:
- Jun 12, 2019 7:27:10 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 131259
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/EM.cpp
r78985 r79097 2200 2200 && !VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_BLOCK_NMIS)) 2201 2201 { 2202 if (!CPUMIsGuestInNestedHwvirtMode(&pVCpu->cpum.GstCtx)) 2202 #ifdef VBOX_WITH_NESTED_HWVIRT_VMX 2203 if ( CPUMIsGuestInVmxNonRootMode(&pVCpu->cpum.GstCtx) 2204 && CPUMIsGuestVmxPinCtlsSet(pVCpu, &pVCpu->cpum.GstCtx, VMX_PIN_CTLS_NMI_EXIT)) 2205 { 2206 rc2 = VBOXSTRICTRC_VAL(IEMExecVmxVmexitXcptNmi(pVCpu)); 2207 Assert(rc2 != VINF_VMX_INTERCEPT_NOT_ACTIVE); 2208 UPDATE_RC(); 2209 } 2210 #endif 2211 #ifdef VBOX_WITH_NESTED_HWVIRT_SVM 2212 else if ( CPUMIsGuestInSvmNestedHwVirtMode(&pVCpu->cpum.GstCtx) 2213 && CPUMIsGuestSvmCtrlInterceptSet(pVCpu, &pVCpu->cpum.GstCtx, SVM_CTRL_INTERCEPT_NMI)) 2214 { 2215 rc2 = VBOXSTRICTRC_VAL(IEMExecSvmVmexit(pVCpu, SVM_EXIT_NMI, 0 /* uExitInfo1 */, 0 /* uExitInfo2 */)); 2216 AssertMsg( rc2 != VINF_PGM_CHANGE_MODE 2217 && rc2 != VINF_SVM_VMEXIT 2218 && rc2 != VINF_NO_CHANGE, ("%Rrc\n", rc2)); 2219 UPDATE_RC(); 2220 } 2221 else 2222 #endif 2203 2223 { 2204 2224 rc2 = TRPMAssertTrap(pVCpu, X86_XCPT_NMI, TRPM_TRAP); … … 2218 2238 UPDATE_RC(); 2219 2239 } 2220 #ifdef VBOX_WITH_NESTED_HWVIRT_VMX2221 else if ( CPUMIsGuestInVmxNonRootMode(&pVCpu->cpum.GstCtx)2222 && CPUMIsGuestVmxPinCtlsSet(pVCpu, &pVCpu->cpum.GstCtx, VMX_PIN_CTLS_NMI_EXIT))2223 {2224 rc2 = VBOXSTRICTRC_VAL(IEMExecVmxVmexitXcptNmi(pVCpu));2225 Assert(rc2 != VINF_VMX_INTERCEPT_NOT_ACTIVE);2226 UPDATE_RC();2227 }2228 #endif2229 #ifdef VBOX_WITH_NESTED_HWVIRT_SVM2230 else if ( CPUMIsGuestInSvmNestedHwVirtMode(&pVCpu->cpum.GstCtx)2231 && CPUMIsGuestSvmCtrlInterceptSet(pVCpu, &pVCpu->cpum.GstCtx, SVM_CTRL_INTERCEPT_NMI))2232 {2233 rc2 = VBOXSTRICTRC_VAL(IEMExecSvmVmexit(pVCpu, SVM_EXIT_NMI, 0 /* uExitInfo1 */, 0 /* uExitInfo2 */));2234 AssertMsg( rc2 != VINF_PGM_CHANGE_MODE2235 && rc2 != VINF_SVM_VMEXIT2236 && rc2 != VINF_NO_CHANGE, ("%Rrc\n", rc2));2237 UPDATE_RC();2238 }2239 #endif2240 2240 } 2241 2241 #ifdef VBOX_WITH_NESTED_HWVIRT_VMX
Note:
See TracChangeset
for help on using the changeset viewer.