summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorMarcelo Tosatti <mtosatti@redhat.com>2008-05-14 02:29:06 -0300
committerAvi Kivity <avi@qumranet.com>2008-05-18 14:39:39 +0300
commit54aaacee35afd594bba3244c20b02cc98d80a961 (patch)
tree66488043384eca7851f752bcfdbdec90ef328884 /arch
parent1fc9d2bf75bbe5482cc503681dae0935df29b6b0 (diff)
downloadlinux-3.10-54aaacee35afd594bba3244c20b02cc98d80a961.tar.gz
linux-3.10-54aaacee35afd594bba3244c20b02cc98d80a961.tar.bz2
linux-3.10-54aaacee35afd594bba3244c20b02cc98d80a961.zip
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 36809d79788..c297c50eba6 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)
{
struct kvm_lapic *lapic = vcpu->arch.apic;
- if (lapic)
+ if (lapic && apic_enabled(lapic) && apic_lvt_enabled(lapic, APIC_LVTT))
return atomic_read(&lapic->timer.pending);
return 0;