Changeset 48998 in vbox for trunk/src/VBox/VMM/VMMR0
- Timestamp:
- Oct 9, 2013 11:41:26 AM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 89720
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r48995 r48998 184 184 ("Illegal migration! Entered on CPU %u Current %u\n", \ 185 185 pVCpu->hm.s.idEnteredCpu, RTMpCpuId())); \ 186 187 /** Helper macro for VM-exit handlers called unexpectedly. */ 188 #define HMVMX_RETURN_UNEXPECTED_EXIT() \ 189 do { \ 190 pVCpu->hm.s.u32HMError = pVmxTransient->uExitReason; \ 191 return VERR_VMX_UNEXPECTED_EXIT; \ 192 } while (0) 193 186 194 187 195 /******************************************************************************* … … 8866 8874 { 8867 8875 pVCpu->hm.s.u32HMError = uExitIntrInfo; 8868 rc = VERR_VMX_UNEXPECTED_INTERRUPTION_EXIT_ CODE;8869 AssertMsgFailed(("Unexpected interruption code%#x\n", VMX_EXIT_INTERRUPTION_INFO_TYPE(uExitIntrInfo)));8876 rc = VERR_VMX_UNEXPECTED_INTERRUPTION_EXIT_TYPE; 8877 AssertMsgFailed(("Unexpected interruption info %#x\n", VMX_EXIT_INTERRUPTION_INFO_TYPE(uExitIntrInfo))); 8870 8878 break; 8871 8879 } … … 8902 8910 HMVMX_VALIDATE_EXIT_HANDLER_PARAMS(); 8903 8911 AssertMsgFailed(("Unexpected NMI-window exit.\n")); 8904 pVCpu->hm.s.u32HMError = VMX_EXIT_NMI_WINDOW; 8905 return VERR_VMX_UNEXPECTED_EXIT_CODE; 8912 HMVMX_RETURN_UNEXPECTED_EXIT(); 8906 8913 } 8907 8914 … … 8965 8972 8966 8973 AssertMsgFailed(("hmR0VmxExitGetsec: unexpected VM-exit when CR4.SMXE is 0.\n")); 8967 pVCpu->hm.s.u32HMError = VMX_EXIT_GETSEC; 8968 return VERR_VMX_UNEXPECTED_EXIT_CODE; 8974 HMVMX_RETURN_UNEXPECTED_EXIT(); 8969 8975 } 8970 8976 … … 9158 9164 */ 9159 9165 AssertMsgFailed(("Unexpected RSM VM-exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx)); 9160 pVCpu->hm.s.u32HMError = VMX_EXIT_RSM; 9161 return VERR_VMX_UNEXPECTED_EXIT_CODE; 9166 HMVMX_RETURN_UNEXPECTED_EXIT(); 9162 9167 } 9163 9168 … … 9175 9180 */ 9176 9181 AssertMsgFailed(("Unexpected SMI VM-exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx)); 9177 pVCpu->hm.s.u32HMError = VMX_EXIT_SMI; 9178 return VERR_VMX_UNEXPECTED_EXIT_CODE; 9182 HMVMX_RETURN_UNEXPECTED_EXIT(); 9179 9183 } 9180 9184 … … 9187 9191 /* Same treatment as VMX_EXIT_SMI. See comment in hmR0VmxExitSmi(). */ 9188 9192 AssertMsgFailed(("Unexpected IO SMI VM-exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx)); 9189 pVCpu->hm.s.u32HMError = VMX_EXIT_IO_SMI; 9190 return VERR_VMX_UNEXPECTED_EXIT_CODE; 9193 HMVMX_RETURN_UNEXPECTED_EXIT(); 9191 9194 } 9192 9195 … … 9203 9206 */ 9204 9207 AssertMsgFailed(("Unexpected SIPI VM-exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx)); 9205 pVCpu->hm.s.u32HMError = VMX_EXIT_SIPI; 9206 return VERR_VMX_UNEXPECTED_EXIT_CODE; 9208 HMVMX_RETURN_UNEXPECTED_EXIT(); 9207 9209 } 9208 9210 … … 9374 9376 { 9375 9377 AssertMsgFailed(("Unexpected MSR-load exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx)); 9376 return VERR_VMX_UNEXPECTED_EXIT_CODE;9378 HMVMX_RETURN_UNEXPECTED_EXIT(); 9377 9379 } 9378 9380 … … 9385 9387 { 9386 9388 AssertMsgFailed(("Unexpected machine-check event exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx)); 9387 return VERR_VMX_UNEXPECTED_EXIT_CODE;9389 HMVMX_RETURN_UNEXPECTED_EXIT(); 9388 9390 } 9389 9391 … … 9414 9416 return VERR_EM_INTERPRETER; 9415 9417 AssertMsgFailed(("Unexpected XDTR access. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx)); 9416 return VERR_VMX_UNEXPECTED_EXIT_CODE;9418 HMVMX_RETURN_UNEXPECTED_EXIT(); 9417 9419 } 9418 9420 … … 9430 9432 return VERR_EM_INTERPRETER; 9431 9433 AssertMsgFailed(("Unexpected RDRAND exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx)); 9432 return VERR_VMX_UNEXPECTED_EXIT_CODE;9434 HMVMX_RETURN_UNEXPECTED_EXIT(); 9433 9435 } 9434 9436 … … 9531 9533 { 9532 9534 AssertMsgFailed(("Unexpected WRMSR for an MSR in the VMCS. ecx=%#RX32\n", pMixedCtx->ecx)); 9533 return VERR_VMX_UNEXPECTED_EXIT_CODE;9535 HMVMX_RETURN_UNEXPECTED_EXIT(); 9534 9536 } 9535 9537 … … 9542 9544 AssertMsgFailed(("Unexpected WRMSR for an MSR in the auto-load/store area in the VMCS. ecx=%#RX32\n", 9543 9545 pMixedCtx->ecx)); 9544 return VERR_VMX_UNEXPECTED_EXIT_CODE;9546 HMVMX_RETURN_UNEXPECTED_EXIT(); 9545 9547 } 9546 9548 } … … 9564 9566 return VERR_EM_INTERPRETER; 9565 9567 AssertMsgFailed(("Unexpected PAUSE exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx)); 9566 return VERR_VMX_UNEXPECTED_EXIT_CODE;9568 HMVMX_RETURN_UNEXPECTED_EXIT(); 9567 9569 } 9568 9570 … … 10100 10102 { 10101 10103 AssertMsgFailed(("Unexpected MOV DRx exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx)); 10102 return VERR_VMX_UNEXPECTED_EXIT_CODE;10104 HMVMX_RETURN_UNEXPECTED_EXIT(); 10103 10105 } 10104 10106
Note:
See TracChangeset
for help on using the changeset viewer.