Changeset 78835 in vbox
- Timestamp:
- May 29, 2019 6:10:57 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 130935
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r78834 r78835 396 396 static FNVMXEXITHANDLERNSRC hmR0VmxExitTprBelowThreshold; 397 397 static FNVMXEXITHANDLER hmR0VmxExitApicAccess; 398 static FNVMXEXITHANDLER hmR0VmxExitXdtrAccess;399 398 static FNVMXEXITHANDLER hmR0VmxExitEptViolation; 400 399 static FNVMXEXITHANDLER hmR0VmxExitEptMisconfig; … … 602 601 /* 44 VMX_EXIT_APIC_ACCESS */ hmR0VmxExitApicAccess, 603 602 /* 45 VMX_EXIT_VIRTUALIZED_EOI */ hmR0VmxExitErrUnexpected, 604 /* 46 VMX_EXIT_GDTR_IDTR_ACCESS */ hmR0VmxExit XdtrAccess,605 /* 47 VMX_EXIT_LDTR_TR_ACCESS */ hmR0VmxExit XdtrAccess,603 /* 46 VMX_EXIT_GDTR_IDTR_ACCESS */ hmR0VmxExitErrUnexpected, 604 /* 47 VMX_EXIT_LDTR_TR_ACCESS */ hmR0VmxExitErrUnexpected, 606 605 /* 48 VMX_EXIT_EPT_VIOLATION */ hmR0VmxExitEptViolation, 607 606 /* 49 VMX_EXIT_EPT_MISCONFIG */ hmR0VmxExitEptMisconfig, … … 12534 12533 case VMX_EXIT_MTF: VMEXIT_CALL_RET(0, hmR0VmxExitMtf(pVCpu, pVmxTransient)); 12535 12534 case VMX_EXIT_PAUSE: VMEXIT_CALL_RET(0, hmR0VmxExitPause(pVCpu, pVmxTransient)); 12536 case VMX_EXIT_GDTR_IDTR_ACCESS: VMEXIT_CALL_RET(0, hmR0VmxExitXdtrAccess(pVCpu, pVmxTransient));12537 case VMX_EXIT_LDTR_TR_ACCESS: VMEXIT_CALL_RET(0, hmR0VmxExitXdtrAccess(pVCpu, pVmxTransient));12538 12535 case VMX_EXIT_WBINVD: VMEXIT_CALL_RET(0, hmR0VmxExitWbinvd(pVCpu, pVmxTransient)); 12539 12536 case VMX_EXIT_XSETBV: VMEXIT_CALL_RET(0, hmR0VmxExitXsetbv(pVCpu, pVmxTransient)); … … 12580 12577 case VMX_EXIT_PML_FULL: 12581 12578 case VMX_EXIT_VIRTUALIZED_EOI: 12579 case VMX_EXIT_GDTR_IDTR_ACCESS: 12580 case VMX_EXIT_LDTR_TR_ACCESS: 12582 12581 case VMX_EXIT_APIC_WRITE: 12583 12582 case VMX_EXIT_RDRAND: … … 13767 13766 * VM-exits. 13768 13767 * 13768 * VMX_EXIT_GDTR_IDTR_ACCESS: 13769 * VMX_EXIT_LDTR_TR_ACCESS: 13769 13770 * VMX_EXIT_RDRAND: 13770 13771 * VMX_EXIT_RSM: … … 13784 13785 HMVMX_VALIDATE_EXIT_HANDLER_PARAMS(pVCpu, pVmxTransient); 13785 13786 AssertMsgFailed(("Unexpected VM-exit %u\n", pVmxTransient->uExitReason)); 13786 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient->uExitReason);13787 }13788 13789 13790 /**13791 * VM-exit handler for XDTR (LGDT, SGDT, LIDT, SIDT) accesses13792 * (VMX_EXIT_GDTR_IDTR_ACCESS) and LDT and TR access (LLDT, LTR, SLDT, STR).13793 * Conditional VM-exit.13794 */13795 HMVMX_EXIT_DECL hmR0VmxExitXdtrAccess(PVMCPU pVCpu, PVMXTRANSIENT pVmxTransient)13796 {13797 HMVMX_VALIDATE_EXIT_HANDLER_PARAMS(pVCpu, pVmxTransient);13798 13799 /* By default, we don't enable VMX_PROC_CTLS2_DESCRIPTOR_TABLE_EXIT. */13800 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitXdtrAccess);13801 PCVMXVMCSINFO pVmcsInfo = pVmxTransient->pVmcsInfo;13802 if (pVmcsInfo->u32ProcCtls2 & VMX_PROC_CTLS2_DESC_TABLE_EXIT)13803 return VERR_EM_INTERPRETER;13804 AssertMsgFailed(("Unexpected XDTR access\n"));13805 13787 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient->uExitReason); 13806 13788 } … … 16248 16230 return IEMExecVmxVmexitInstrWithInfo(pVCpu, &ExitInfo); 16249 16231 } 16250 return hmR0VmxExit XdtrAccess(pVCpu, pVmxTransient);16232 return hmR0VmxExitErrUnexpected(pVCpu, pVmxTransient); 16251 16233 } 16252 16234
Note:
See TracChangeset
for help on using the changeset viewer.