VirtualBox

Changeset 96823 in vbox


Ignore:
Timestamp:
Sep 22, 2022 5:08:44 AM (2 years ago)
Author:
vboxsync
Message:

VMM/IEM: Nested VMX: bugref:10092 Restricted iemVmxVmexitInstrNeedsInfo's checking of allowed instructions to debug builds since no call is dependent on runtime info.

File:
1 edited

Legend:

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

    r96821 r96823  
    28312831    ExitInfo.cbInstr = cbInstr;
    28322832
    2833     /*
    2834      * Update the Exit qualification field with displacement bytes.
    2835      * See Intel spec. 27.2.1 "Basic VM-Exit Information".
     2833#ifdef VBOX_STRICT
     2834    /*
     2835    * To prevent us from shooting ourselves in the foot.
     2836    * The follow instructions convey specific info that require using their respective handlers.
    28362837     */
    28372838    switch (uExitReason)
     
    28522853        case VMX_EXIT_RDRAND:
    28532854        case VMX_EXIT_RDSEED:
    2854         {
    2855             /* Construct the VM-exit instruction information. */
    2856             RTGCPTR GCPtrDisp;
    2857             uint32_t const uInstrInfo = iemVmxGetExitInstrInfo(pVCpu, uExitReason, uInstrId, &GCPtrDisp);
    2858 
    2859             /* Update the VM-exit instruction information. */
    2860             ExitInfo.InstrInfo.u = uInstrInfo;
    2861 
    2862             /* Update the Exit qualification. */
    2863             ExitInfo.u64Qual = GCPtrDisp;
    28642855            break;
    2865         }
    2866 
    28672856        default:
    28682857            AssertMsgFailedReturn(("Use instruction-specific handler\n"), VERR_IEM_IPE_5);
    28692858            break;
    28702859    }
     2860#endif
     2861
     2862    /*
     2863     * Update the Exit qualification field with displacement bytes.
     2864     * See Intel spec. 27.2.1 "Basic VM-Exit Information".
     2865     */
     2866    /* Construct the VM-exit instruction information. */
     2867    RTGCPTR GCPtrDisp;
     2868    uint32_t const uInstrInfo = iemVmxGetExitInstrInfo(pVCpu, uExitReason, uInstrId, &GCPtrDisp);
     2869
     2870    /* Update the VM-exit instruction information. */
     2871    ExitInfo.InstrInfo.u = uInstrInfo;
     2872
     2873    /* Update the Exit qualification. */
     2874    ExitInfo.u64Qual = GCPtrDisp;
    28712875
    28722876    return iemVmxVmexitInstrWithInfo(pVCpu, &ExitInfo);
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