2009-02-23 21:57:41 +08:00
|
|
|
|
|
|
|
struct kvm_timer {
|
|
|
|
struct hrtimer timer;
|
|
|
|
s64 period; /* unit: ns */
|
2011-09-22 16:55:52 +08:00
|
|
|
u32 timer_mode_mask;
|
|
|
|
u64 tscdeadline;
|
2009-02-23 21:57:41 +08:00
|
|
|
atomic_t pending; /* accumulated triggered timers */
|
|
|
|
bool reinject;
|
|
|
|
struct kvm_timer_ops *t_ops;
|
|
|
|
struct kvm *kvm;
|
2009-06-09 20:56:27 +08:00
|
|
|
struct kvm_vcpu *vcpu;
|
2009-02-23 21:57:41 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
struct kvm_timer_ops {
|
2010-02-28 00:51:43 +08:00
|
|
|
bool (*is_periodic)(struct kvm_timer *);
|
2009-02-23 21:57:41 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
enum hrtimer_restart kvm_timer_fn(struct hrtimer *data);
|