aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMarcelo Tosatti <mtosatti@redhat.com>2008-05-14 01:29:06 -0400
committerAvi Kivity <avi@qumranet.com>2008-05-18 07:39:39 -0400
commit54aaacee35afd594bba3244c20b02cc98d80a961 (patch)
tree66488043384eca7851f752bcfdbdec90ef328884 /arch
parent1fc9d2bf75bbe5482cc503681dae0935df29b6b0 (diff)
KVM: LAPIC: ignore pending timers if LVTT is disabled
Only use the APIC pending timers count to break out of HLT emulation if the timer vector is enabled. Certain configurations of Windows simply mask out the vector without disabling the timer. Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kvm/lapic.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index 36809d79788b..c297c50eba63 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -957,7 +957,7 @@ int apic_has_pending_timer(struct kvm_vcpu *vcpu)
957{ 957{
958 struct kvm_lapic *lapic = vcpu->arch.apic; 958 struct kvm_lapic *lapic = vcpu->arch.apic;
959 959
960 if (lapic) 960 if (lapic && apic_enabled(lapic) && apic_lvt_enabled(lapic, APIC_LVTT))
961 return atomic_read(&lapic->timer.pending); 961 return atomic_read(&lapic->timer.pending);
962 962
963 return 0; 963 return 0;