VirtualBox

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


Ignore:
Timestamp:
Sep 22, 2018 3:06:57 PM (6 years ago)
Author:
vboxsync
Message:

VMM/IEM: Nested VMX: bugref:9180 VM-exit bits.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h

    r74421 r74422  
    42724272     *     exception bitmap) do block subsequent NMIs.
    42734273     *
    4274      *   - MTF needs to be preserved as it's for a single instruction boundary which
    4275      *     follows the return from VMLAUNCH/VMRESUME instruction.
     4274     *   - MTF need not be preserved as it's used only in VMX non-root mode and
     4275     *     is supplied on VM-entry through the VM-execution controls.
    42764276     *
    42774277     * The remaining FFs (e.g. timers) can stay in place so that we will be able to
    42784278     * generate interrupts that should cause #VMEXITs for the nested-guest.
    42794279     */
    4280     uint32_t const fNstGstDiscardMask = VMCPU_FF_MTF;
    4281     pVCpu->cpum.GstCtx.hwvirt.fLocalForcedActions = pVCpu->fLocalForcedActions & fNstGstDiscardMask;
    4282     VMCPU_FF_CLEAR(pVCpu, fNstGstDiscardMask);
     4280    uint32_t const fDiscardMask = VMCPU_FF_INHIBIT_INTERRUPTS | VMCPU_FF_MTF | VMCPU_FF_BLOCK_NMIS;
     4281    pVCpu->cpum.GstCtx.hwvirt.fLocalForcedActions = pVCpu->fLocalForcedActions & fDiscardMask;
     4282    VMCPU_FF_CLEAR(pVCpu, fDiscardMask);
    42834283}
    42844284
     
    45664566                                }
    45674567
     4568                                /* We've now entered nested-guest execution. */
     4569                                pVCpu->cpum.GstCtx.hwvirt.vmx.fInVmxNonRootMode = true;
     4570
    45684571                                /* Event injection. */
    45694572                                iemVmxVmentryInjectEvent(pVCpu, pszInstr);
     
    53215324
    53225325    /** @todo NSTVMX: rest of VM-exit. */
     5326
     5327    /* We're no longer in nested-guest execution mode. */
     5328    pVCpu->cpum.GstCtx.hwvirt.vmx.fInVmxNonRootMode = false;
     5329
    53235330    return VINF_SUCCESS;
    53245331}
Note: See TracChangeset for help on using the changeset viewer.

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