VirtualBox

Changeset 74511 in vbox for trunk


Ignore:
Timestamp:
Sep 28, 2018 6:10:08 AM (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

    r74510 r74511  
    25692569{
    25702570    /*
    2571      * Update all the VMCS fields from the VM-exit instruction information struct.
    2572      * For instructions where the following fields are not applicable:
     2571     * For instructions where any of the following fields are not applicable:
     2572     *   - VM-exit instruction info. is undefined.
     2573     *   - VM-exit qualification must be cleared.
     2574     *   - VM-exit guest-linear address is undefined.
     2575     *   - VM-exit guest-physical address is undefined.
    25732576     *
    2574      *   - VM-exit instruction info. is undefined for instructions where it does not apply.
    2575      *   - VM-exit qualification must be cleared for instruction where it does not apply.
    2576      *   - VM-exit guest-linear address is undefined for instructions where it does not apply.
    2577      *   - VM-exit guest-physical address is undefined for instructions where it does not apply.
    2578      *   - VM-exit instruction length is mandatory, we assert for basic sanity.
     2577     * The VM-exit instruction length is mandatory for all VM-exits that are caused by
     2578     * instruction execution.
     2579     *
     2580     * In our implementation, all undefined fields are generally cleared (caller's
     2581     * responsibility).
    25792582     *
    25802583     * See Intel spec. 27.2.1 "Basic VM-Exit Information".
     2584     * See Intel spec. 27.2.4 "Information for VM Exits Due to Instruction Execution".
    25812585     */
    25822586    Assert(pExitInfo);
     
    25852589              ("uReason=%u cbInstr=%u\n", pExitInfo->uReason, pExitInfo->cbInstr));
    25862590
     2591    /* Update all the relevant fields from the VM-exit instruction information struct. */
    25872592    iemVmxVmcsSetExitInstrInfo(pVCpu, pExitInfo->InstrInfo.u);
    25882593    iemVmxVmcsSetExitQual(pVCpu, pExitInfo->u64Qual);
     
    25912596    iemVmxVmcsSetExitInstrLen(pVCpu, pExitInfo->cbInstr);
    25922597
     2598    /* Perform the VM-exit. */
    25932599    return iemVmxVmexit(pVCpu, pExitInfo->uReason);
    25942600}
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