VirtualBox

Ignore:
Timestamp:
Jul 7, 2014 6:17:59 AM (10 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: Trial; don't adjust TSC offset with paravirt TSC.

File:
1 edited

Legend:

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

    r51757 r51896  
    55865586        fOffsettedTsc = TMCpuTickCanUseRealTSC(pVCpu, &pVCpu->hm.s.vmx.u64TSCOffset, &fParavirtTsc);
    55875587
     5588#if 1
     5589    if (fParavirtTsc)
     5590    {
    55885591#if 0
    5589     if (fParavirtTsc)
    5590     {
    55915592        uint64_t const u64CurTsc   = ASMReadTSC();
    55925593        uint64_t const u64LastTick = TMCpuTickGetLastSeen(pVCpu);
     
    55985599
    55995600        Assert(u64CurTsc + pVCpu->hm.s.vmx.u64TSCOffset >= u64LastTick);
     5601#endif
    56005602        rc = GIMR0UpdateParavirtTsc(pVM, pVCpu->hm.s.vmx.u64TSCOffset);
    56015603        AssertRC(rc);
     
    56085610    }
    56095611    else
    5610 #endif
    5611 
     5612#else
    56125613    if (fParavirtTsc)
    56135614        STAM_COUNTER_INC(&pVCpu->hm.s.StatTscParavirt);
     5615#endif
    56145616    if (fOffsettedTsc)
    56155617    {
     
    73037305            u32IntInfo         |= (VMX_EXIT_INTERRUPTION_INFO_TYPE_NMI << VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT);
    73047306
    7305             hmR0VmxSetPendingEvent(pVCpu, u32IntInfo, 0 /* cbInstr */, 0 /* u32ErrCode */, 0 /* GCPtrFaultAddres */);
     7307            hmR0VmxSetPendingEvent(pVCpu, u32IntInfo, 0 /* cbInstr */, 0 /* u32ErrCode */, 0 /* GCPtrFaultAddress */);
    73067308            VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_INTERRUPT_NMI);
    73077309        }
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