Changeset 74899 in vbox
- Timestamp:
- Oct 18, 2018 6:01:28 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/EM.cpp
r74876 r74899 1770 1770 1771 1771 /** @todo NSTVMX: Virtual interrupt injection. */ 1772 if ( pVCpu->cpum.GstCtx.eflags.Bits.u1IF1773 && VMCPU_FF_IS_ANY_SET(pVCpu, VMCPU_FF_INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC))1774 {1772 if (pVCpu->cpum.GstCtx.eflags.Bits.u1IF) 1773 { 1774 Assert(!VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS)); 1775 1775 if (CPUMIsGuestVmxProcCtlsSet(pVCpu, &pVCpu->cpum.GstCtx, VMX_PROC_CTLS_INT_WINDOW_EXIT)) 1776 1776 { 1777 /* CPUM_IMPORT_EXTRN_RET(pVCpu, IEM_CPUMCTX_EXTRN_SVM_VMEXIT_MASK); */ /** @todo NSTVMX: Mask. */1777 CPUM_IMPORT_EXTRN_RET(pVCpu, IEM_CPUMCTX_EXTRN_VMX_VMEXIT_MASK); 1778 1778 VBOXSTRICTRC rcStrict = IEMExecVmxVmexitIntWindow(pVCpu); 1779 1779 if (rcStrict != VINF_VMX_INTERCEPT_NOT_ACTIVE) … … 1792 1792 } 1793 1793 1794 int rc = emR3GstInjectIntr(pVCpu, pfWakeupPending, pfInjected); 1795 if (rc == VINF_VMX_VMEXIT) 1796 rc = VINF_SUCCESS; 1797 return rc; 1794 Assert(pVCpu->em.s.enmState != EMSTATE_WAIT_SIPI); 1795 if (VMCPU_FF_IS_ANY_SET(pVCpu, VMCPU_FF_INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC)) 1796 { 1797 int rc = emR3GstInjectIntr(pVCpu, pfWakeupPending, pfInjected); 1798 if (rc == VINF_VMX_VMEXIT) 1799 rc = VINF_SUCCESS; 1800 return rc; 1801 } 1798 1802 } 1799 1803
Note:
See TracChangeset
for help on using the changeset viewer.