Changeset 73984 in vbox
- Timestamp:
- Aug 31, 2018 8:30:50 AM (6 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
-
include/VBox/vmm/hm_vmx.h (modified) (1 diff)
-
src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h (modified) (2 diffs)
-
src/VBox/VMM/VMMR0/HMVMXR0.cpp (modified) (8 diffs)
-
src/VBox/VMM/VMMR3/HM.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/hm_vmx.h
r73983 r73984 1211 1211 /** 46 Access to GDTR or IDTR. Guest software attempted to execute LGDT, LIDT, 1212 1212 * SGDT, or SIDT. */ 1213 #define VMX_EXIT_ XDTR_ACCESS461213 #define VMX_EXIT_GDTR_IDTR_ACCESS 46 1214 1214 /** 47 Access to LDTR or TR. Guest software attempted to execute LLDT, LTR, 1215 1215 * SLDT, or STR. */ 1216 #define VMX_EXIT_ TR_ACCESS471216 #define VMX_EXIT_LDTR_TR_ACCESS 47 1217 1217 /** 48 EPT violation. An attempt to access memory with a guest-physical address 1218 1218 * was disallowed by the configuration of the EPT paging structures. */ -
trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h
r73983 r73984 961 961 switch (uExitReason) 962 962 { 963 case VMX_EXIT_ XDTR_ACCESS:963 case VMX_EXIT_GDTR_IDTR_ACCESS: 964 964 { 965 965 Assert(VMX_INSTR_ID_IS_VALID(uInstrId)); … … 969 969 } 970 970 971 case VMX_EXIT_ TR_ACCESS:971 case VMX_EXIT_LDTR_TR_ACCESS: 972 972 { 973 973 Assert(VMX_INSTR_ID_IS_VALID(uInstrId)); -
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r73983 r73984 419 419 static FNVMXEXITHANDLERNSRC hmR0VmxExitTprBelowThreshold; 420 420 static FNVMXEXITHANDLER hmR0VmxExitApicAccess; 421 static FNVMXEXITHANDLER hmR0VmxExitXdtrAccess;422 421 static FNVMXEXITHANDLER hmR0VmxExitXdtrAccess; 423 422 static FNVMXEXITHANDLER hmR0VmxExitEptViolation; … … 509 508 /* 44 VMX_EXIT_APIC_ACCESS */ hmR0VmxExitApicAccess, 510 509 /* 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, 513 512 /* 48 VMX_EXIT_EPT_VIOLATION */ hmR0VmxExitEptViolation, 514 513 /* 49 VMX_EXIT_EPT_MISCONFIG */ hmR0VmxExitEptMisconfig, … … 9400 9399 { 9401 9400 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); 9408 9407 9409 9408 if ( IS_EITHER_ENABLED(pVM, INSTR_SLDT) … … 9413 9412 { 9414 9413 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); 9421 9420 9422 9421 SET_ONLY_XBM_IF_EITHER_EN(INSTR_VMX_INVEPT, VMX_EXIT_INVEPT); /* unconditional */ … … 9623 9622 case VMX_EXIT_MONITOR: SET_BOTH(MONITOR); break; 9624 9623 case VMX_EXIT_PAUSE: SET_BOTH(PAUSE); break; 9625 case VMX_EXIT_ XDTR_ACCESS:9624 case VMX_EXIT_GDTR_IDTR_ACCESS: 9626 9625 hmR0VmxReadExitInstrInfoVmcs(pVmxTransient); 9627 9626 switch (RT_BF_GET(pVmxTransient->ExitInstrInfo.u, VMX_BF_XDTR_INSINFO_INSTR_ID)) … … 9634 9633 break; 9635 9634 9636 case VMX_EXIT_ TR_ACCESS:9635 case VMX_EXIT_LDTR_TR_ACCESS: 9637 9636 hmR0VmxReadExitInstrInfoVmcs(pVmxTransient); 9638 9637 switch (RT_BF_GET(pVmxTransient->ExitInstrInfo.u, VMX_BF_YYTR_INSINFO_INSTR_ID)) … … 9946 9945 case VMX_EXIT_MONITOR: 9947 9946 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: 9950 9949 case VMX_EXIT_INVEPT: 9951 9950 case VMX_EXIT_RDTSCP: … … 10377 10376 case VMX_EXIT_MTF: VMEXIT_CALL_RET(0, hmR0VmxExitMtf(pVCpu, pVmxTransient)); 10378 10377 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)); 10381 10380 case VMX_EXIT_WBINVD: VMEXIT_CALL_RET(0, hmR0VmxExitWbinvd(pVCpu, pVmxTransient)); 10382 10381 case VMX_EXIT_XSETBV: VMEXIT_CALL_RET(0, hmR0VmxExitXsetbv(pVCpu, pVmxTransient)); -
trunk/src/VBox/VMM/VMMR3/HM.cpp
r73617 r73984 128 128 EXIT_REASON(VMX_EXIT_APIC_ACCESS , 44, "APIC access."), 129 129 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."), 132 132 EXIT_REASON(VMX_EXIT_EPT_VIOLATION , 48, "EPT violation."), 133 133 EXIT_REASON(VMX_EXIT_EPT_MISCONFIG , 49, "EPT misconfiguration."),
Note:
See TracChangeset
for help on using the changeset viewer.

