Changeset 78808 in vbox for trunk/src/VBox/VMM
- Timestamp:
- May 28, 2019 9:47:11 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r78807 r78808 153 153 154 154 /** Helper macro for VM-exit handlers called unexpectedly. */ 155 #define HMVMX_UNEXPECTED_EXIT_RET(a_pVCpu, a_ pVmxTransient) \155 #define HMVMX_UNEXPECTED_EXIT_RET(a_pVCpu, a_HmError) \ 156 156 do { \ 157 (a_pVCpu)->hm.s.u32HMError = (a_ pVmxTransient)->uExitReason; \157 (a_pVCpu)->hm.s.u32HMError = (a_HmError); \ 158 158 return VERR_VMX_UNEXPECTED_EXIT; \ 159 159 } while (0) … … 13214 13214 { 13215 13215 AssertMsgFailed(("Unexpected NMI-window exit.\n")); 13216 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient );13216 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient->uExitReason); 13217 13217 } 13218 13218 … … 13335 13335 return VINF_EM_RAW_EMULATE_INSTR; 13336 13336 13337 AssertMsgFailed(("hmR0VmxExitGetsec: unexpected VM-exit when CR4.SMXE is 0.\n"));13338 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient );13337 AssertMsgFailed(("hmR0VmxExitGetsec: Unexpected VM-exit when CR4.SMXE is 0.\n")); 13338 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient->uExitReason); 13339 13339 } 13340 13340 … … 13761 13761 HMVMX_VALIDATE_EXIT_HANDLER_PARAMS(pVCpu, pVmxTransient); 13762 13762 AssertMsgFailed(("Unexpected VM-exit %u\n", pVmxTransient->uExitReason)); 13763 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient );13763 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient->uExitReason); 13764 13764 } 13765 13765 … … 13780 13780 return VERR_EM_INTERPRETER; 13781 13781 AssertMsgFailed(("Unexpected XDTR access\n")); 13782 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient );13782 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient->uExitReason); 13783 13783 } 13784 13784 … … 13796 13796 return VERR_EM_INTERPRETER; 13797 13797 AssertMsgFailed(("Unexpected RDRAND exit\n")); 13798 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient );13798 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient->uExitReason); 13799 13799 } 13800 13800 … … 13833 13833 { 13834 13834 AssertMsgFailed(("Unexpected RDMSR for an MSR in the auto-load/store area in the VMCS. ecx=%#RX32\n", idMsr)); 13835 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient);13835 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, idMsr); 13836 13836 } 13837 13837 if (hmR0VmxIsLazyGuestMsr(pVCpu, idMsr)) … … 13842 13842 { 13843 13843 AssertMsgFailed(("Unexpected RDMSR for a passthru lazy-restore MSR. ecx=%#RX32\n", idMsr)); 13844 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient);13844 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, idMsr); 13845 13845 } 13846 13846 } … … 13963 13963 { 13964 13964 AssertMsgFailed(("Unexpected WRMSR for an MSR in the VMCS. ecx=%#RX32\n", idMsr)); 13965 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient);13965 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, idMsr); 13966 13966 } 13967 13967 … … 13976 13976 AssertMsgFailed(("Unexpected WRMSR for an MSR in the auto-load/store area in the VMCS. ecx=%#RX32\n", 13977 13977 idMsr)); 13978 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient);13978 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, idMsr); 13979 13979 } 13980 13980 } … … 13987 13987 { 13988 13988 AssertMsgFailed(("Unexpected WRMSR for passthru, lazy-restore MSR. ecx=%#RX32\n", idMsr)); 13989 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient);13989 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, idMsr); 13990 13990 } 13991 13991 } … … 14181 14181 default: 14182 14182 { 14183 pVCpu->hm.s.u32HMError = uAccessType; 14184 AssertMsgFailedReturn(("Invalid access-type in Mov CRx VM-exit qualification %#x\n", uAccessType), 14185 VERR_VMX_UNEXPECTED_EXIT); 14183 AssertMsgFailed(("Unrecognized Mov CRX access type %#x\n", uAccessType)); 14184 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, uAccessType); 14186 14185 } 14187 14186 } … … 14595 14594 { 14596 14595 AssertMsgFailed(("Unexpected MOV DRx exit\n")); 14597 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient );14596 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, pVmxTransient->uExitReason); 14598 14597 } 14599 14598 … … 15945 15944 else 15946 15945 { 15947 pVCpu->hm.s.u32HMError = iCrReg;15948 AssertMsgFailedReturn(("MOV from CR%d VM-exit must not happen\n", iCrReg), VERR_VMX_UNEXPECTED_EXIT);15946 AssertMsgFailed(("MOV from CR%d VM-exit must not happen\n", iCrReg)); 15947 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, iCrReg); 15949 15948 } 15950 15949 break; … … 16003 16002 default: 16004 16003 { 16005 pVCpu->hm.s.u32HMError = uAccessType; 16006 AssertMsgFailedReturn(("Invalid access-type in Mov CRx VM-exit qualification %#x\n", uAccessType), 16007 VERR_VMX_UNEXPECTED_EXIT); 16004 AssertMsgFailed(("Unrecognized Mov CRX access type %#x\n", uAccessType)); 16005 HMVMX_UNEXPECTED_EXIT_RET(pVCpu, uAccessType); 16008 16006 } 16009 16007 }
Note:
See TracChangeset
for help on using the changeset viewer.