VirtualBox

Changeset 47094 in vbox for trunk


Ignore:
Timestamp:
Jul 11, 2013 2:23:32 PM (12 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: Log exit reasons for more rare/improbable gurus.

Location:
trunk/src/VBox/VMM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r47090 r47094  
    74787478    HMVMX_VALIDATE_EXIT_HANDLER_PARAMS();
    74797479    AssertMsgFailed(("Unexpected NMI-window exit.\n"));
     7480    pVCpu->hm.s.u32HMError = VMX_EXIT_NMI_WINDOW;
    74807481    return VERR_VMX_UNEXPECTED_EXIT_CODE;
    74817482}
     
    75407541
    75417542    AssertMsgFailed(("hmR0VmxExitGetsec: unexpected VM-exit when CR4.SMXE is 0.\n"));
     7543    pVCpu->hm.s.u32HMError = VMX_EXIT_GETSEC;
    75427544    return VERR_VMX_UNEXPECTED_EXIT_CODE;
    75437545}
     
    77287730     * Execution of RSM outside of SMM mode causes #UD regardless of VMX root or VMX non-root mode. In theory, we should never
    77297731     * get this VM-exit. This can happen only if dual-monitor treatment of SMI and VMX is enabled, which can (only?) be done by
    7730      * executing VMCALL in VMX root operation. If we get here something funny is going on.
     7732     * executing VMCALL in VMX root operation. If we get here, something funny is going on.
    77317733     * See Intel spec. "33.15.5 Enabling the Dual-Monitor Treatment".
    77327734     */
    77337735    AssertMsgFailed(("Unexpected RSM VM-exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx));
     7736    pVCpu->hm.s.u32HMError = VMX_EXIT_RSM;
    77347737    return VERR_VMX_UNEXPECTED_EXIT_CODE;
    77357738}
     
    77437746    /*
    77447747     * This can only happen if we support dual-monitor treatment of SMI, which can be activated by executing VMCALL in VMX
    7745      * root operation. If we get there there is something funny going on.
     7748     * root operation. Only an STM (SMM transfer monitor) would get this exit when we (the executive monitor) execute a VMCALL
     7749     * in VMX root mode or receive an SMI. If we get here, something funny is going on.
    77467750     * See Intel spec. "33.15.6 Activating the Dual-Monitor Treatment" and Intel spec. 25.3 "Other Causes of VM-Exits"
    77477751     */
    77487752    AssertMsgFailed(("Unexpected SMI VM-exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx));
     7753    pVCpu->hm.s.u32HMError = VMX_EXIT_SMI;
    77497754    return VERR_VMX_UNEXPECTED_EXIT_CODE;
    77507755}
     
    77587763    /* Same treatment as VMX_EXIT_SMI. See comment in hmR0VmxExitSmi(). */
    77597764    AssertMsgFailed(("Unexpected IO SMI VM-exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx));
     7765    pVCpu->hm.s.u32HMError = VMX_EXIT_IO_SMI;
    77607766    return VERR_VMX_UNEXPECTED_EXIT_CODE;
    77617767}
     
    77737779     */
    77747780    AssertMsgFailed(("Unexpected SIPI VM-exit. pVCpu=%p pMixedCtx=%p\n", pVCpu, pMixedCtx));
     7781    pVCpu->hm.s.u32HMError = VMX_EXIT_SIPI;
    77757782    return VERR_VMX_UNEXPECTED_EXIT_CODE;
    77767783}
  • trunk/src/VBox/VMM/VMMR3/HM.cpp

    r47090 r47094  
    29752975                break;
    29762976
     2977            case VERR_VMX_UNEXPECTED_EXIT_CODE:
    29772978            case VERR_SVM_UNKNOWN_EXIT:
    29782979            case VERR_SVM_UNEXPECTED_EXIT:
Note: See TracChangeset for help on using the changeset viewer.

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