VirtualBox

Ignore:
Timestamp:
Dec 3, 2014 1:18:41 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
97118
Message:

VMM/TM: First step in introducing the invariant TM mode.

Location:
trunk/src/VBox/Runtime/common/time
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/time/timesup.cpp

    r48935 r53430  
    55
    66/*
    7  * Copyright (C) 2006-2011 Oracle Corporation
     7 * Copyright (C) 2006-2014 Oracle Corporation
    88 *
    99 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    124124    if (    pGip
    125125        &&  pGip->u32Magic == SUPGLOBALINFOPAGE_MAGIC
    126         &&  (   pGip->u32Mode == SUPGIPMODE_SYNC_TSC
     126        &&  (   pGip->u32Mode == SUPGIPMODE_INVARIANT_TSC
     127             || pGip->u32Mode == SUPGIPMODE_SYNC_TSC
    127128             || pGip->u32Mode == SUPGIPMODE_ASYNC_TSC))
    128129        return rtTimeNanoTSInternalRediscover(pData);
     
    146147    if (    pGip
    147148        &&  pGip->u32Magic == SUPGLOBALINFOPAGE_MAGIC
    148         &&  (   pGip->u32Mode == SUPGIPMODE_SYNC_TSC
     149        &&  (   pGip->u32Mode == SUPGIPMODE_INVARIANT_TSC
     150             || pGip->u32Mode == SUPGIPMODE_SYNC_TSC
    149151             || pGip->u32Mode == SUPGIPMODE_ASYNC_TSC))
    150152    {
    151153        if (ASMCpuId_EDX(1) & X86_CPUID_FEATURE_EDX_SSE2)
    152             iWorker = pGip->u32Mode == SUPGIPMODE_SYNC_TSC
     154            iWorker = pGip->u32Mode == SUPGIPMODE_INVARIANT_TSC || pGip->u32Mode == SUPGIPMODE_SYNC_TSC
    153155                    ? RTTIMENANO_WORKER_SYNC_LFENCE
    154156                    : RTTIMENANO_WORKER_ASYNC_LFENCE;
    155157        else
    156             iWorker = pGip->u32Mode == SUPGIPMODE_SYNC_TSC
     158            iWorker = pGip->u32Mode == SUPGIPMODE_INVARIANT_TSC || pGip->u32Mode == SUPGIPMODE_SYNC_TSC
    157159                    ? RTTIMENANO_WORKER_SYNC_CPUID
    158160                    : RTTIMENANO_WORKER_ASYNC_CPUID;
  • trunk/src/VBox/Runtime/common/time/timesupA.mac

    r44528 r53430  
    55
    66;
    7 ; Copyright (C) 2006-2011 Oracle Corporation
     7; Copyright (C) 2006-2014 Oracle Corporation
    88;
    99; This file is part of VirtualBox Open Source Edition (OSE), as
     
    126126    mov     u32UpdateIntervalTSC, edx
    127127    rdtsc
     128    SupTscDeltaApply edi        ; Apply inter-cpu TSC-delta to have the normalized TSC value in edx:eax
    128129    mov     ecx, [edi + SUPGIPCPU.u64NanoTS]
    129130    mov     u64CurNanoTS, ecx
     
    544545    mov     u32UpdateIntervalTSC, [pGipCPU + SUPGIPCPU.u32UpdateIntervalTSC]
    545546    rdtsc
     547    SUPTscDeltaApply pGipCPU
    546548    mov     u64PrevNanoTS,        [pData + RTTIMENANOTSDATA.pu64Prev]
    547549    mov     u64PrevNanoTS,        [u64PrevNanoTS]
  • trunk/src/VBox/Runtime/common/time/timesupref.h

    r44528 r53430  
    55
    66/*
    7  * Copyright (C) 2006-2011 Oracle Corporation
     7 * Copyright (C) 2006-2014 Oracle Corporation
    88 *
    99 * This file is part of VirtualBox Open Source Edition (OSE), as
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