- Timestamp:
- May 8, 2023 6:32:00 AM (17 months ago)
- File:
-
- 1 edited
-
trunk/src/VBox/VMM/VMMR3/TRPM.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/TRPM.cpp
r99051 r99649 387 387 { 388 388 *pfInjected = true; 389 # ifdef VBOX_WITH_NESTED_HWVIRT_VMX390 if ( CPUMIsGuestInVmxNonRootMode(pCtx)391 && CPUMIsGuestVmxInterceptEvents(pCtx)392 && CPUMIsGuestVmxPinCtlsSet(pCtx, VMX_PIN_CTLS_EXT_INT_EXIT))393 {394 VBOXSTRICTRC rcStrict = IEMExecVmxVmexitExtInt(pVCpu, u8Interrupt, false /* fIntPending */);395 Assert(rcStrict != VINF_VMX_INTERCEPT_NOT_ACTIVE);396 return VBOXSTRICTRC_VAL(rcStrict);397 }398 # endif399 389 # ifdef RT_OS_WINDOWS 400 390 if (!VM_IS_NEM_ENABLED(pVM)) 401 391 { 392 # endif 393 # ifdef VBOX_WITH_NESTED_HWVIRT_VMX 394 /* 395 * If we are NOT calling IEMInjectTrap, we need to handle the 396 * VMX nested-guest external-interrupt VM-exit here. 397 */ 398 if ( CPUMIsGuestInVmxNonRootMode(pCtx) 399 && CPUMIsGuestVmxInterceptEvents(pCtx) 400 && CPUMIsGuestVmxPinCtlsSet(pCtx, VMX_PIN_CTLS_EXT_INT_EXIT)) 401 { 402 Assert(CPUMIsGuestVmxExitCtlsSet(pCtx, VMX_EXIT_CTLS_ACK_EXT_INT)); 403 VBOXSTRICTRC rcStrict = IEMExecVmxVmexitExtInt(pVCpu, u8Interrupt, false /* fIntPending */); 404 Assert(rcStrict != VINF_VMX_INTERCEPT_NOT_ACTIVE); 405 return VBOXSTRICTRC_VAL(rcStrict); 406 } 402 407 # endif 403 408 rc = TRPMAssertTrap(pVCpu, u8Interrupt, TRPM_HARDWARE_INT);
Note:
See TracChangeset
for help on using the changeset viewer.

