- Timestamp:
- Aug 17, 2024 12:11:48 AM (5 months ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/tm.h
r105698 r105715 272 272 273 273 VMMDECL(bool) TMTimerPollBool(PVMCC pVM, PVMCPUCC pVCpu); 274 VMM_INT_DECL(bool) TMTimerPollBoolWith32BitMilliTS(PVMCC pVM, PVMCPUCC pVCpu, uint32_t *pmsNow);275 274 VMM_INT_DECL(uint64_t) TMTimerPollBoolWithNanoTS(PVMCC pVM, PVMCPUCC pVCpu, uint64_t *pnsNow); 276 275 VMM_INT_DECL(void) TMTimerPollVoid(PVMCC pVM, PVMCPUCC pVCpu); -
trunk/src/VBox/VMM/VMMAll/TMAll.cpp
r105698 r105715 1116 1116 uint64_t off = 0; 1117 1117 tmTimerPollInternal(pVM, pVCpu, &off, NULL); 1118 return off == 0;1119 }1120 1121 1122 /**1123 * Set FF if we've passed the next virtual event and return virtual time as MS.1124 *1125 * This function is called before FFs are checked in the inner execution EM loops.1126 *1127 * This is used by the IEM recompiler for polling timers while also providing a1128 * free time source for recent use tracking and such.1129 *1130 * @returns true if timers are pending, false if not.1131 *1132 * @param pVM The cross context VM structure.1133 * @param pVCpu The cross context virtual CPU structure of the calling EMT.1134 * @param pmsNow Where to return the current virtual time in1135 * milliseconds.1136 * @thread The emulation thread.1137 */1138 VMM_INT_DECL(bool) TMTimerPollBoolWith32BitMilliTS(PVMCC pVM, PVMCPUCC pVCpu, uint32_t *pmsNow)1139 {1140 AssertCompile(TMCLOCK_FREQ_VIRTUAL == 1000000000);1141 uint64_t off = 0;1142 uint64_t u64Now = 0;1143 tmTimerPollInternal(pVM, pVCpu, &off, &u64Now);1144 *pmsNow = (uint32_t)(u64Now / RT_NS_1MS);1145 1118 return off == 0; 1146 1119 }
Note:
See TracChangeset
for help on using the changeset viewer.