uint32_t cpu_freq; // in kHZ
// Total number of guest run time cycles
- ullong_t guest_tsc;
+ uint64_t guest_tsc;
// Cache value to help calculate the guest_tsc
- ullong_t cached_host_tsc;
+ uint64_t cached_host_tsc;
// The number of cycles pending for notification to the timers
//ullong_t pending_cycles;
struct vm_timer_ops {
- void (*update_time)(ullong_t cpu_cycles, ullong_t cpu_freq, void * priv_data);
-
+ void (*update_time)(struct guest_info * info, ullong_t cpu_cycles, ullong_t cpu_freq, void * priv_data);
+ void (*advance_timer)(struct guest_info * info, void * private_data);
};
struct vm_timer {
int v3_add_timer(struct guest_info * info, struct vm_timer_ops * ops, void * private_data);
int v3_remove_timer(struct guest_info * info, struct vm_timer * timer);
+void v3_advance_time(struct guest_info * info);
void v3_update_time(struct guest_info * info, ullong_t cycles);