VirtualBox

Changeset 20769 in vbox


Ignore:
Timestamp:
Jun 22, 2009 12:32:11 PM (15 years ago)
Author:
vboxsync
Message:

VMM: don't forget to enable R0 logging again if we are leaving VMXR0RunGuestCode() early

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

Legend:

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

    r20666 r20769  
    10291029    idCpuCheck = RTMpCpuId();
    10301030#endif
    1031 #ifdef LOG_ENABLED
    10321031    VMMR0LogFlushDisable(pVCpu);
    1033 #endif
    10341032
    10351033    /* Load the guest state; *must* be here as it sets up the shadow cr0 for lazy fpu syncing! */
    10361034    rc = SVMR0LoadGuestState(pVM, pVCpu, pCtx);
    1037     if (rc != VINF_SUCCESS)
     1035    if (RT_UNLIKELY(rc != VINF_SUCCESS))
    10381036    {
    10391037        STAM_PROFILE_ADV_STOP(&pVCpu->hwaccm.s.StatEntry, x);
     1038        VMMR0LogFlushEnable(pVCpu);
    10401039        goto end;
    10411040    }
     
    11551154    exitCode = pVMCB->ctrl.u64ExitCode;
    11561155
    1157     if (exitCode == (uint64_t)SVM_EXIT_INVALID)          /* Invalid guest state. */
     1156    if (RT_UNLIKELY(exitCode == (uint64_t)SVM_EXIT_INVALID))      /* Invalid guest state. */
    11581157    {
    11591158        HWACCMDumpRegs(pVM, pVCpu, pCtx);
     
    12761275#endif
    12771276        rc = VERR_SVM_UNABLE_TO_START_VM;
     1277        VMMR0LogFlushEnable(pVCpu);
    12781278        goto end;
    12791279    }
     
    13261326
    13271327    /* Note! NOW IT'S SAFE FOR LOGGING! */
    1328 #ifdef LOG_ENABLED
    13291328    VMMR0LogFlushEnable(pVCpu);
    1330 #endif
    13311329
    13321330    /* Take care of instruction fusing (sti, mov ss) (see 15.20.5 Interrupt Shadows) */
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp

    r20667 r20769  
    22742274    /* Save the host state first. */
    22752275    rc  = VMXR0SaveHostState(pVM, pVCpu);
    2276     if (rc != VINF_SUCCESS)
     2276    if (RT_UNLIKELY(rc != VINF_SUCCESS))
     2277    {
     2278        VMMR0LogFlushEnable(pVCpu);
    22772279        goto end;
     2280    }
    22782281    /* Load the guest state */
    22792282    rc = VMXR0LoadGuestState(pVM, pVCpu, pCtx);
    2280     if (rc != VINF_SUCCESS)
     2283    if (RT_UNLIKELY(rc != VINF_SUCCESS))
     2284    {
     2285        VMMR0LogFlushEnable(pVCpu);
    22812286        goto end;
     2287    }
    22822288
    22832289#ifndef VBOX_WITH_VMMR0_DISABLE_PREEMPTION
     
    23452351    STAM_PROFILE_ADV_START(&pVCpu->hwaccm.s.StatExit1, v);
    23462352
    2347     if (rc != VINF_SUCCESS)
     2353    if (RT_UNLIKELY(rc != VINF_SUCCESS))
    23482354    {
    23492355        VMXR0ReportWorldSwitchError(pVM, pVCpu, rc, pCtx);
     2356        VMMR0LogFlushEnable(pVCpu);
    23502357        goto end;
    23512358    }
     
    23722379
    23732380    /* Note! NOW IT'S SAFE FOR LOGGING! */
    2374 #ifdef LOG_ENABLED
    23752381    VMMR0LogFlushEnable(pVCpu);
    2376 #endif
    23772382    Log2(("Raw exit reason %08x\n", exitReason));
    23782383
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