Several changes for timestamp bundle:
Fully defined the structure. Single copy of it + single timer across all modules, managing it is now the responsibility of KernelState. add global_critical_region::PrepareToAcquire, which uses Prefetchw on the global crit. We now know we can use Prefetchw on all cpus that have AVX. add KeQueryInterruptTime, which is used by some dashboards. add threading::NanoSleep
This commit is contained in:
@@ -54,6 +54,8 @@ class Clock {
|
||||
// Queries the milliseconds since the host began.
|
||||
static uint64_t QueryHostUptimeMillis();
|
||||
|
||||
static uint64_t QueryHostInterruptTime();
|
||||
|
||||
// Guest time scalar.
|
||||
static double guest_time_scalar();
|
||||
// Sets the guest time scalar, adjusting tick and wall clock speed.
|
||||
@@ -81,6 +83,8 @@ class Clock {
|
||||
// Queries the milliseconds since the guest began, accounting for scaling.
|
||||
static uint32_t QueryGuestUptimeMillis();
|
||||
|
||||
static uint64_t QueryGuestInterruptTime();
|
||||
|
||||
// Sets the system time of the guest.
|
||||
static void SetGuestSystemTime(uint64_t system_time);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user