VirtualBox

Changeset 78918 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Jun 3, 2019 6:50:51 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
131038
Message:

VMM/EM: Nested VMX: bugref:9180 For NMI-window VM-exits; check virtual-NMI blocking rather than outer guest physical NMIs, check interrupt shadow and also ensure we don't do this if an event is already committed to TRPM (e.g when injecting an event as part of VM-entry).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/EM.cpp

    r78877 r78918  
    21762176         * VMX NMI-window VM-exit.
    21772177         * Takes priority over non-maskable interrupts (NMIs).
    2178          */
    2179         if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_VMX_NMI_WINDOW))
     2178         * Interrupt shadows block NMI-window VM-exits.
     2179         * Any event that is already in TRPM (e.g. injected during VM-entry) takes priority.
     2180         *
     2181         * See Intel spec. 25.2 "Other Causes Of VM Exits".
     2182         * See Intel spec. 26.7.6 "NMI-Window Exiting".
     2183         */
     2184        if (    VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_VMX_NMI_WINDOW)
     2185            && !VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS)
     2186            && !CPUMIsGuestNmiBlocking(pVCpu)
     2187            && !TRPMHasTrap(pVCpu))
    21802188        {
    21812189            rc2 = VBOXSTRICTRC_VAL(IEMExecVmxVmexit(pVCpu, VMX_EXIT_NMI_WINDOW, 0 /* uExitQual */));
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette