Changeset 14253 in vbox
- Timestamp:
- Nov 17, 2008 12:49:21 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/TMAllVirtual.cpp
r13832 r14253 508 508 } 509 509 else 510 { 510 511 u64 = pVM->tm.s.u64VirtualSync; 512 513 /* 514 * If it looks like a halt caused by pending timers, make sure the FF is raised. 515 * This is a safeguard against timer queue runner leaving the virtual sync clock stopped. 516 */ 517 if ( fCheckTimers 518 && pVM->tm.s.fVirtualTicking 519 && !VM_FF_ISSET(pVM, VM_FF_TIMER)) 520 { 521 const uint64_t u64Expire = pVM->tm.s.CTX_SUFF(paTimerQueues)[TMCLOCK_VIRTUAL_SYNC].u64Expire; 522 if (u64 >= u64Expire) 523 { 524 VM_FF_SET(pVM, VM_FF_TIMER); 525 #ifdef IN_RING3 526 REMR3NotifyTimerPending(pVM); 527 VMR3NotifyFF(pVM, true); 528 #endif 529 STAM_COUNTER_INC(&pVM->tm.s.StatVirtualGetSyncSetFF); 530 Log4(("TM: %RU64/%RU64: exp tmr=>ff (!)\n", u64, pVM->tm.s.offVirtualSync - pVM->tm.s.offVirtualSyncGivenUp)); 531 } 532 } 533 } 511 534 return u64; 512 535 }
Note:
See TracChangeset
for help on using the changeset viewer.