VirtualBox

忽略:
時間撮記:
2008-10-17 下午06:40:13 (16 年 以前)
作者:
vboxsync
訊息:

tmVirtualNanoTSRediscover: return to R3 when we start stepping (1ns). Attempt to make S10 work reliably.

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/VMM/VMMAll/TMAllVirtual.cpp

    r12989 r13380  
    8989DECLINLINE(uint64_t) tmVirtualGetRawNanoTS(PVM pVM)
    9090{
     91#ifdef IN_RING3
    9192    return CTXALLSUFF(pVM->tm.s.pfnVirtualGetRaw)(&CTXALLSUFF(pVM->tm.s.VirtualGetRawData));
     93# else  /* !IN_RING3 */
     94    uint32_t cPrevSteps = pVM->tm.s.CTXALLSUFF(VirtualGetRawData).c1nsSteps;
     95    uint64_t u64 = CTXALLSUFF(pVM->tm.s.pfnVirtualGetRaw)(&CTXALLSUFF(pVM->tm.s.VirtualGetRawData));
     96    if (cPrevSteps != pVM->tm.s.CTXALLSUFF(VirtualGetRawData).c1nsSteps)
     97        VM_FF_SET(pVM, VM_FF_TO_R3); /* S10 hack */
     98    return u64;
     99# endif /* !IN_RING3 */
    92100}
    93101
     
    220228        ASMAtomicIncU32(&pVM->tm.s.CTXALLSUFF(VirtualGetRawData).c1nsSteps);
    221229        u64NanoTS = u64PrevNanoTS + 1;
     230#ifndef IN_RING3
     231        VM_FF_SET(pVM, VM_FF_TO_R3); /* S10 hack */
     232#endif
    222233    }
    223234    else if (u64PrevNanoTS)
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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