VirtualBox

Changeset 73984 in vbox


Ignore:
Timestamp:
Aug 31, 2018 8:30:50 AM (6 years ago)
Author:
vboxsync
Message:

VMM/HM, IEM: Renamed VMX_EXIT_XDTR_ACCESS and VMX_EXIT_TR_ACCESS.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/hm_vmx.h

    r73983 r73984  
    12111211/** 46 Access to GDTR or IDTR. Guest software attempted to execute LGDT, LIDT,
    12121212 *  SGDT, or SIDT. */
    1213 #define VMX_EXIT_XDTR_ACCESS                                    46
     1213#define VMX_EXIT_GDTR_IDTR_ACCESS                               46
    12141214/** 47 Access to LDTR or TR. Guest software attempted to execute LLDT, LTR,
    12151215 *  SLDT, or STR. */
    1216 #define VMX_EXIT_TR_ACCESS                                      47
     1216#define VMX_EXIT_LDTR_TR_ACCESS                                 47
    12171217/** 48 EPT violation. An attempt to access memory with a guest-physical address
    12181218 *  was disallowed by the configuration of the EPT paging structures. */
  • trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h

    r73983 r73984  
    961961    switch (uExitReason)
    962962    {
    963         case VMX_EXIT_XDTR_ACCESS:
     963        case VMX_EXIT_GDTR_IDTR_ACCESS:
    964964        {
    965965            Assert(VMX_INSTR_ID_IS_VALID(uInstrId));
     
    969969        }
    970970
    971         case VMX_EXIT_TR_ACCESS:
     971        case VMX_EXIT_LDTR_TR_ACCESS:
    972972        {
    973973            Assert(VMX_INSTR_ID_IS_VALID(uInstrId));
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r73983 r73984  
    419419static FNVMXEXITHANDLERNSRC hmR0VmxExitTprBelowThreshold;
    420420static FNVMXEXITHANDLER     hmR0VmxExitApicAccess;
    421 static FNVMXEXITHANDLER     hmR0VmxExitXdtrAccess;
    422421static FNVMXEXITHANDLER     hmR0VmxExitXdtrAccess;
    423422static FNVMXEXITHANDLER     hmR0VmxExitEptViolation;
     
    509508 /* 44  VMX_EXIT_APIC_ACCESS             */  hmR0VmxExitApicAccess,
    510509 /* 45  UNDEFINED                        */  hmR0VmxExitErrUndefined,
    511  /* 46  VMX_EXIT_XDTR_ACCESS             */  hmR0VmxExitXdtrAccess,
    512  /* 47  VMX_EXIT_TR_ACCESS               */  hmR0VmxExitXdtrAccess,
     510 /* 46  VMX_EXIT_GDTR_IDTR_ACCESS        */  hmR0VmxExitXdtrAccess,
     511 /* 47  VMX_EXIT_LDTR_TR_ACCESS          */  hmR0VmxExitXdtrAccess,
    513512 /* 48  VMX_EXIT_EPT_VIOLATION           */  hmR0VmxExitEptViolation,
    514513 /* 49  VMX_EXIT_EPT_MISCONFIG           */  hmR0VmxExitEptMisconfig,
     
    94009399    {
    94019400        pDbgState->fCpe2Extra |= VMX_PROC_CTLS2_DESC_TABLE_EXIT;
    9402         ASMBitSet(pDbgState->bmExitsToCheck, VMX_EXIT_XDTR_ACCESS);
    9403     }
    9404     SET_ONLY_XBM_IF_EITHER_EN( EXIT_SGDT,               VMX_EXIT_XDTR_ACCESS);
    9405     SET_ONLY_XBM_IF_EITHER_EN( EXIT_SIDT,               VMX_EXIT_XDTR_ACCESS);
    9406     SET_ONLY_XBM_IF_EITHER_EN( EXIT_LGDT,               VMX_EXIT_XDTR_ACCESS);
    9407     SET_ONLY_XBM_IF_EITHER_EN( EXIT_LIDT,               VMX_EXIT_XDTR_ACCESS);
     9401        ASMBitSet(pDbgState->bmExitsToCheck, VMX_EXIT_GDTR_IDTR_ACCESS);
     9402    }
     9403    SET_ONLY_XBM_IF_EITHER_EN( EXIT_SGDT,               VMX_EXIT_GDTR_IDTR_ACCESS);
     9404    SET_ONLY_XBM_IF_EITHER_EN( EXIT_SIDT,               VMX_EXIT_GDTR_IDTR_ACCESS);
     9405    SET_ONLY_XBM_IF_EITHER_EN( EXIT_LGDT,               VMX_EXIT_GDTR_IDTR_ACCESS);
     9406    SET_ONLY_XBM_IF_EITHER_EN( EXIT_LIDT,               VMX_EXIT_GDTR_IDTR_ACCESS);
    94089407
    94099408    if (   IS_EITHER_ENABLED(pVM, INSTR_SLDT)
     
    94139412    {
    94149413        pDbgState->fCpe2Extra |= VMX_PROC_CTLS2_DESC_TABLE_EXIT;
    9415         ASMBitSet(pDbgState->bmExitsToCheck, VMX_EXIT_TR_ACCESS);
    9416     }
    9417     SET_ONLY_XBM_IF_EITHER_EN( EXIT_SLDT,               VMX_EXIT_TR_ACCESS);
    9418     SET_ONLY_XBM_IF_EITHER_EN( EXIT_STR,                VMX_EXIT_TR_ACCESS);
    9419     SET_ONLY_XBM_IF_EITHER_EN( EXIT_LLDT,               VMX_EXIT_TR_ACCESS);
    9420     SET_ONLY_XBM_IF_EITHER_EN( EXIT_LTR,                VMX_EXIT_TR_ACCESS);
     9414        ASMBitSet(pDbgState->bmExitsToCheck, VMX_EXIT_LDTR_TR_ACCESS);
     9415    }
     9416    SET_ONLY_XBM_IF_EITHER_EN( EXIT_SLDT,               VMX_EXIT_LDTR_TR_ACCESS);
     9417    SET_ONLY_XBM_IF_EITHER_EN( EXIT_STR,                VMX_EXIT_LDTR_TR_ACCESS);
     9418    SET_ONLY_XBM_IF_EITHER_EN( EXIT_LLDT,               VMX_EXIT_LDTR_TR_ACCESS);
     9419    SET_ONLY_XBM_IF_EITHER_EN( EXIT_LTR,                VMX_EXIT_LDTR_TR_ACCESS);
    94219420
    94229421    SET_ONLY_XBM_IF_EITHER_EN(INSTR_VMX_INVEPT,         VMX_EXIT_INVEPT);           /* unconditional */
     
    96239622        case VMX_EXIT_MONITOR:          SET_BOTH(MONITOR); break;
    96249623        case VMX_EXIT_PAUSE:            SET_BOTH(PAUSE); break;
    9625         case VMX_EXIT_XDTR_ACCESS:
     9624        case VMX_EXIT_GDTR_IDTR_ACCESS:
    96269625            hmR0VmxReadExitInstrInfoVmcs(pVmxTransient);
    96279626            switch (RT_BF_GET(pVmxTransient->ExitInstrInfo.u, VMX_BF_XDTR_INSINFO_INSTR_ID))
     
    96349633            break;
    96359634
    9636         case VMX_EXIT_TR_ACCESS:
     9635        case VMX_EXIT_LDTR_TR_ACCESS:
    96379636            hmR0VmxReadExitInstrInfoVmcs(pVmxTransient);
    96389637            switch (RT_BF_GET(pVmxTransient->ExitInstrInfo.u, VMX_BF_YYTR_INSINFO_INSTR_ID))
     
    99469945            case VMX_EXIT_MONITOR:
    99479946            case VMX_EXIT_PAUSE:
    9948             case VMX_EXIT_XDTR_ACCESS:
    9949             case VMX_EXIT_TR_ACCESS:
     9947            case VMX_EXIT_GDTR_IDTR_ACCESS:
     9948            case VMX_EXIT_LDTR_TR_ACCESS:
    99509949            case VMX_EXIT_INVEPT:
    99519950            case VMX_EXIT_RDTSCP:
     
    1037710376        case VMX_EXIT_MTF:                     VMEXIT_CALL_RET(0, hmR0VmxExitMtf(pVCpu, pVmxTransient));
    1037810377        case VMX_EXIT_PAUSE:                   VMEXIT_CALL_RET(0, hmR0VmxExitPause(pVCpu, pVmxTransient));
    10379         case VMX_EXIT_XDTR_ACCESS:             VMEXIT_CALL_RET(0, hmR0VmxExitXdtrAccess(pVCpu, pVmxTransient));
    10380         case VMX_EXIT_TR_ACCESS:               VMEXIT_CALL_RET(0, hmR0VmxExitXdtrAccess(pVCpu, pVmxTransient));
     10378        case VMX_EXIT_GDTR_IDTR_ACCESS:        VMEXIT_CALL_RET(0, hmR0VmxExitXdtrAccess(pVCpu, pVmxTransient));
     10379        case VMX_EXIT_LDTR_TR_ACCESS:          VMEXIT_CALL_RET(0, hmR0VmxExitXdtrAccess(pVCpu, pVmxTransient));
    1038110380        case VMX_EXIT_WBINVD:                  VMEXIT_CALL_RET(0, hmR0VmxExitWbinvd(pVCpu, pVmxTransient));
    1038210381        case VMX_EXIT_XSETBV:                  VMEXIT_CALL_RET(0, hmR0VmxExitXsetbv(pVCpu, pVmxTransient));
  • trunk/src/VBox/VMM/VMMR3/HM.cpp

    r73617 r73984  
    128128    EXIT_REASON(VMX_EXIT_APIC_ACCESS            ,  44, "APIC access."),
    129129    EXIT_REASON(VMX_EXIT_VIRTUALIZED_EOI        ,  45, "Virtualized EOI."),
    130     EXIT_REASON(VMX_EXIT_XDTR_ACCESS            ,  46, "GDTR/IDTR access using LGDT/SGDT/LIDT/SIDT."),
    131     EXIT_REASON(VMX_EXIT_TR_ACCESS              ,  47, "LDTR/TR access using LLDT/SLDT/LTR/STR."),
     130    EXIT_REASON(VMX_EXIT_GDTR_IDTR_ACCESS       ,  46, "GDTR/IDTR access using LGDT/SGDT/LIDT/SIDT."),
     131    EXIT_REASON(VMX_EXIT_LDTR_TR_ACCESS         ,  47, "LDTR/TR access using LLDT/SLDT/LTR/STR."),
    132132    EXIT_REASON(VMX_EXIT_EPT_VIOLATION          ,  48, "EPT violation."),
    133133    EXIT_REASON(VMX_EXIT_EPT_MISCONFIG          ,  49, "EPT misconfiguration."),
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