- Timestamp:
- May 25, 2007 5:07:12 PM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 21544
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/TMAllVirtual.cpp
r2883 r2885 61 61 uint64_t u64NanoTS; 62 62 uint32_t u32UpdateIntervalTSC; 63 uint64_t u64PrevNanoTS; 63 64 64 65 /* 65 * Read the GIP data .66 * Read the GIP data and the previous value. 66 67 */ 67 68 for (;;) … … 85 86 u32NanoTSFactor0 = pGip->u32UpdateIntervalNS; 86 87 u64Delta = ASMReadTSC(); 88 u64PrevNanoTS = ASMAtomicReadU64(&pVM->tm.s.u64VirtualRawPrev); 87 89 if (RT_UNLIKELY( pGip->aCPUs[0].u32TransactionId != u32TransactionId 88 90 || (u32TransactionId & 1))) … … 112 114 u32NanoTSFactor0 = pGip->u32UpdateIntervalNS; 113 115 u64Delta = ASMReadTSC(); 116 u64PrevNanoTS = ASMAtomicReadU64(&pVM->tm.s.u64VirtualRawPrev); 114 117 if (RT_UNLIKELY(u8ApicId != ASMGetApicId())) 115 118 continue; … … 157 160 */ 158 161 u64NanoTS += u64Delta; 159 uint64_t u64PrevNanoTS = ASMAtomicReadU64(&pVM->tm.s.u64VirtualRawPrev);160 162 uint64_t u64DeltaPrev = u64NanoTS - u64PrevNanoTS; 161 163 if (RT_LIKELY(u64DeltaPrev < 1000000000 /* 1s */))
Note:
See TracChangeset
for help on using the changeset viewer.