VirtualBox

Changeset 48023 in vbox


Ignore:
Timestamp:
Aug 23, 2013 12:05:17 PM (11 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: Additional logging to track VMCS state changes.

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

Legend:

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

    r47999 r48023  
    41334133                else
    41344134                    Log4(("InstrError Desc.    Range exceeded %u\n", HMVMX_INSTR_ERROR_MAX));
     4135                Log4(("Entered host CPU   %u\n", pVCpu->hm.s.vmx.LastError.idEnteredCpu));
     4136                Log4(("Current host CPU   %u\n", pVCpu->hm.s.vmx.LastError.idCurrentCpu));
    41354137
    41364138                /* VMX control bits. */
     
    41894191                Log4(("Old Guest Rflags %#RX32 New %#RX32\n", pCtx->eflags.u32, u32Val));
    41904192                rc = VMXReadVmcs32(VMX_VMCS16_GUEST_FIELD_VPID, &u32Val);   AssertRC(rc);
    4191                 Log4(("VMX_VMCS16_GUEST_FIELD_VPID %u\n", u32Val));
     4193                Log4(("VMX_VMCS16_GUEST_FIELD_VPID             %u\n", u32Val));
    41924194
    41934195                /* Host bits. */
     
    61386140            AssertRC(rc);
    61396141            pVCpu->hm.s.vmx.uVmcsState = HMVMX_VMCS_STATE_CLEAR;
    6140         }
     6142            Log4Func(("Cleared Vmcs\n"));
     6143        }
     6144
    61416145        pVCpu->hm.s.vmx.uVmcsState &= ~HMVMX_VMCS_STATE_LAUNCHED;
    61426146        pVCpu->hm.s.fLeaveDone = true;
     
    68496853    if (RT_FAILURE(rc))
    68506854        return rc;
     6855
    68516856    pVCpu->hm.s.vmx.uVmcsState = HMVMX_VMCS_STATE_ACTIVE;
    6852 
    68536857    pVCpu->hm.s.fLeaveDone = false;
     6858    Log4Func(("Activated: HostCpuId=%u\n", RTMpCpuId()));
     6859
    68546860    return VINF_SUCCESS;
    68556861}
     
    68856891            hmR0VmxLeave(pVM, pVCpu, pMixedCtx);
    68866892
    6887             int rc;
    6888 #if 0
    6889             /* Flush VMCS CPU state to the VMCS region in memory. */
    6890             if (pVCpu->hm.s.vmx.uVmcsState & HMVMX_VMCS_STATE_ACTIVE)
    6891             {
    6892                 rc = VMXClearVmcs(pVCpu->hm.s.vmx.HCPhysVmcs);
    6893                 AssertRC(rc);
    6894                 pVCpu->hm.s.vmx.uVmcsState = HMVMX_VMCS_STATE_CLEAR;
    6895             }
    6896             pVCpu->hm.s.vmx.uVmcsState &= ~HMVMX_VMCS_STATE_LAUNCHED;
    6897 #endif
    6898 
    68996893            /* Leave HM context, takes care of local init (term). */
    6900             rc = HMR0LeaveEx(pVCpu);
     6894            int rc = HMR0LeaveEx(pVCpu);
    69016895            AssertRC(rc);
    69026896
  • trunk/src/VBox/VMM/VMMR3/HM.cpp

    r47999 r48023  
    28922892                                                                                pVCpu->hm.s.vmx.HCPhysVmcs));
    28932893                LogRel(("HM: CPU[%u] Current VMCS version %#x\n", i, pVCpu->hm.s.vmx.LastError.u32VMCSRevision));
    2894                 LogRel(("HM: CPU[%u] Entered Cpu          %u\n",  i, pVCpu->hm.s.vmx.LastError.idEnteredCpu));
    2895                 LogRel(("HM: CPU[%u] Current Cpu          %u\n",  i, pVCpu->hm.s.vmx.LastError.idCurrentCpu));
     2894                LogRel(("HM: CPU[%u] Entered Host Cpu     %u\n",  i, pVCpu->hm.s.vmx.LastError.idEnteredCpu));
     2895                LogRel(("HM: CPU[%u] Current Host Cpu     %u\n",  i, pVCpu->hm.s.vmx.LastError.idCurrentCpu));
    28962896                break;
    28972897
     
    29042904                    || pVM->aCpus[i].hm.s.vmx.LastError.u32InstrError == VMX_ERROR_VMRESUME_NON_LAUNCHED_VMCS)
    29052905                {
    2906                     LogRel(("HM: CPU[%u] Entered Cpu          %u\n",  i, pVCpu->hm.s.vmx.LastError.idEnteredCpu));
    2907                     LogRel(("HM: CPU[%u] Current Cpu          %u\n",  i, pVCpu->hm.s.vmx.LastError.idCurrentCpu));
     2906                    LogRel(("HM: CPU[%u] Entered Host Cpu     %u\n",  i, pVCpu->hm.s.vmx.LastError.idEnteredCpu));
     2907                    LogRel(("HM: CPU[%u] Current Host Cpu     %u\n",  i, pVCpu->hm.s.vmx.LastError.idCurrentCpu));
    29082908                }
    29092909                else if (pVM->aCpus[i].hm.s.vmx.LastError.u32InstrError == VMX_ERROR_VMENTRY_INVALID_CONTROL_FIELDS)
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