diff options
author | Liu, Jinsong <jinsong.liu@intel.com> | 2011-09-22 04:55:52 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-10-05 09:34:56 -0400 |
commit | a3e06bbe8445f57eb949e6474c5a9b30f24d2057 (patch) | |
tree | fc6f43d1c4424a5bdab1e39fe1e29e8b3ca47ae3 /arch/x86/kvm/kvm_timer.h | |
parent | b90dfb0419a79a90395e04fee3fbda3c12ba8237 (diff) |
KVM: emulate lapic tsc deadline timer for guest
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>
Diffstat (limited to 'arch/x86/kvm/kvm_timer.h')
-rw-r--r-- | arch/x86/kvm/kvm_timer.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kvm/kvm_timer.h b/arch/x86/kvm/kvm_timer.h index 64bc6ea78d90..497dbaa366d4 100644 --- a/arch/x86/kvm/kvm_timer.h +++ b/arch/x86/kvm/kvm_timer.h | |||
@@ -2,6 +2,8 @@ | |||
2 | struct kvm_timer { | 2 | struct kvm_timer { |
3 | struct hrtimer timer; | 3 | struct hrtimer timer; |
4 | s64 period; /* unit: ns */ | 4 | s64 period; /* unit: ns */ |
5 | u32 timer_mode_mask; | ||
6 | u64 tscdeadline; | ||
5 | atomic_t pending; /* accumulated triggered timers */ | 7 | atomic_t pending; /* accumulated triggered timers */ |
6 | bool reinject; | 8 | bool reinject; |
7 | struct kvm_timer_ops *t_ops; | 9 | struct kvm_timer_ops *t_ops; |