mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-02 23:46:41 +07:00
a3e06bbe84
This patch emulate lapic tsc deadline timer for guest: Enumerate tsc deadline timer capability by CPUID; Enable tsc deadline timer mode by lapic MMIO; Start tsc deadline timer by WRMSR; [jan: use do_div()] [avi: fix for !irqchip_in_kernel()] [marcelo: another fix for !irqchip_in_kernel()] Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
19 lines
389 B
C
19 lines
389 B
C
|
|
struct kvm_timer {
|
|
struct hrtimer timer;
|
|
s64 period; /* unit: ns */
|
|
u32 timer_mode_mask;
|
|
u64 tscdeadline;
|
|
atomic_t pending; /* accumulated triggered timers */
|
|
bool reinject;
|
|
struct kvm_timer_ops *t_ops;
|
|
struct kvm *kvm;
|
|
struct kvm_vcpu *vcpu;
|
|
};
|
|
|
|
struct kvm_timer_ops {
|
|
bool (*is_periodic)(struct kvm_timer *);
|
|
};
|
|
|
|
enum hrtimer_restart kvm_timer_fn(struct hrtimer *data);
|