VirtualBox

Changeset 48998 in vbox for trunk


Ignore:
Timestamp:
Oct 9, 2013 11:41:26 AM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
89720
Message:

VMM/HMVMXR0: Propagate all unexpected exits to release log, slight changes to error macro names.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/err.h

    r48852 r48998  
    19131913/** Unable to switch due to invalid guest state. */
    19141914#define VERR_VMX_INVALID_GUEST_STATE                (-4014)
    1915 /** Unexpected VM exit code. */
    1916 #define VERR_VMX_UNEXPECTED_EXIT_CODE               (-4015)
    1917 /** Unexpected VM exception code. */
     1915/** Unexpected VM exit. */
     1916#define VERR_VMX_UNEXPECTED_EXIT                    (-4015)
     1917/** Unexpected VM exception. */
    19181918#define VERR_VMX_UNEXPECTED_EXCEPTION               (-4016)
    1919 /** Unexpected interruption exit code. */
    1920 #define VERR_VMX_UNEXPECTED_INTERRUPTION_EXIT_CODE  (-4017)
     1919/** Unexpected interruption exit type. */
     1920#define VERR_VMX_UNEXPECTED_INTERRUPTION_EXIT_TYPE  (-4017)
    19211921/** CPU is not in VMX root mode; unexpected when leaving VMX root mode. */
    19221922#define VERR_VMX_NOT_IN_VMX_ROOT_MODE               (-4018)
  • trunk/include/VBox/err.mac

    r48909 r48998  
    707707%define VERR_VMX_MSR_LOCKING_FAILED    (-4013)
    708708%define VERR_VMX_INVALID_GUEST_STATE    (-4014)
    709 %define VERR_VMX_UNEXPECTED_EXIT_CODE    (-4015)
     709%define VERR_VMX_UNEXPECTED_EXIT    (-4015)
    710710%define VERR_VMX_UNEXPECTED_EXCEPTION    (-4016)
    711 %define VERR_VMX_UNEXPECTED_INTERRUPTION_EXIT_CODE    (-4017)
     711%define VERR_VMX_UNEXPECTED_INTERRUPTION_EXIT_TYPE    (-4017)
    712712%define VERR_VMX_NOT_IN_VMX_ROOT_MODE    (-4018)
    713713%define VERR_VMX_UNDEFINED_EXIT_CODE    (-4019)
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r48995 r48998  
    184184                                                    ("Illegal migration! Entered on CPU %u Current %u\n", \
    185185                                                    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
    186194
    187195/*******************************************************************************
     
    88668874        {
    88678875            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)));
    88708878            break;
    88718879        }
     
    89028910    HMVMX_VALIDATE_EXIT_HANDLER_PARAMS();
    89038911    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();
    89068913}
    89078914
     
    89658972
    89668973    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();
    89698975}
    89708976
     
    91589164     */
    91599165    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();
    91629167}
    91639168
     
    91759180     */
    91769181    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();
    91799183}
    91809184
     
    91879191    /* Same treatment as VMX_EXIT_SMI. See comment in hmR0VmxExitSmi(). */
    91889192    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();
    91919194}
    91929195
     
    92039206     */
    92049207    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();
    92079209}
    92089210
     
    93749376{
    93759377    AssertMsgFailed(("Unexpected MSR-load exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx));
    9376     return VERR_VMX_UNEXPECTED_EXIT_CODE;
     9378    HMVMX_RETURN_UNEXPECTED_EXIT();
    93779379}
    93789380
     
    93859387{
    93869388    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();
    93889390}
    93899391
     
    94149416        return VERR_EM_INTERPRETER;
    94159417    AssertMsgFailed(("Unexpected XDTR access. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx));
    9416     return VERR_VMX_UNEXPECTED_EXIT_CODE;
     9418    HMVMX_RETURN_UNEXPECTED_EXIT();
    94179419}
    94189420
     
    94309432        return VERR_EM_INTERPRETER;
    94319433    AssertMsgFailed(("Unexpected RDRAND exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx));
    9432     return VERR_VMX_UNEXPECTED_EXIT_CODE;
     9434    HMVMX_RETURN_UNEXPECTED_EXIT();
    94339435}
    94349436
     
    95319533                {
    95329534                    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();
    95349536                }
    95359537
     
    95429544                    AssertMsgFailed(("Unexpected WRMSR for an MSR in the auto-load/store area in the VMCS. ecx=%#RX32\n",
    95439545                                     pMixedCtx->ecx));
    9544                     return VERR_VMX_UNEXPECTED_EXIT_CODE;
     9546                    HMVMX_RETURN_UNEXPECTED_EXIT();
    95459547                }
    95469548            }
     
    95649566        return VERR_EM_INTERPRETER;
    95659567    AssertMsgFailed(("Unexpected PAUSE exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx));
    9566     return VERR_VMX_UNEXPECTED_EXIT_CODE;
     9568    HMVMX_RETURN_UNEXPECTED_EXIT();
    95679569}
    95689570
     
    1010010102    {
    1010110103        AssertMsgFailed(("Unexpected MOV DRx exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx));
    10102         return VERR_VMX_UNEXPECTED_EXIT_CODE;
     10104        HMVMX_RETURN_UNEXPECTED_EXIT();
    1010310105    }
    1010410106
  • trunk/src/VBox/VMM/VMMR3/HM.cpp

    r48884 r48998  
    29392939            case VERR_HM_UNSUPPORTED_CPU_FEATURE_COMBO:
    29402940            case VERR_VMX_INVALID_GUEST_STATE:
    2941             case VERR_VMX_UNEXPECTED_EXIT_CODE:
     2941            case VERR_VMX_UNEXPECTED_EXIT:
    29422942            case VERR_SVM_UNKNOWN_EXIT:
    29432943            case VERR_SVM_UNEXPECTED_EXIT:
  • trunk/src/VBox/VMM/include/EMHandleRCTmpl.h

    r47788 r48998  
    347347        case VERR_VMX_INVALID_VMCS_PTR:
    348348        case VERR_VMX_INVALID_VMXON_PTR:
    349         case VERR_VMX_UNEXPECTED_INTERRUPTION_EXIT_CODE:
     349        case VERR_VMX_UNEXPECTED_INTERRUPTION_EXIT_TYPE:
    350350        case VERR_VMX_UNEXPECTED_EXCEPTION:
    351         case VERR_VMX_UNEXPECTED_EXIT_CODE:
     351        case VERR_VMX_UNEXPECTED_EXIT:
    352352        case VERR_VMX_INVALID_GUEST_STATE:
    353353        case VERR_VMX_UNABLE_TO_START_VM:
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette