KVM: x86: In DM_LOWEST, only deliver interrupts to vcpus with enabled LAPIC's
authorChris Lalancette <clalance@redhat.com>
Wed, 16 Jun 2010 21:11:13 +0000 (17:11 -0400)
committerAvi Kivity <avi@redhat.com>
Sun, 1 Aug 2010 07:46:51 +0000 (10:46 +0300)
Otherwise we might try to deliver a timer interrupt to a cpu that
can't possibly handle it.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
virt/kvm/irq_comm.c

index 52f412f16be39215628655f8576e5f1e0499806c..06cf61e729d2a85ce9b4132d31e70d815cd911ab 100644 (file)
@@ -100,7 +100,7 @@ int kvm_irq_delivery_to_apic(struct kvm *kvm, struct kvm_lapic *src,
                        if (r < 0)
                                r = 0;
                        r += kvm_apic_set_irq(vcpu, irq);
-               } else {
+               } else if (kvm_lapic_enabled(vcpu)) {
                        if (!lowest)
                                lowest = vcpu;
                        else if (kvm_apic_compare_prio(vcpu, lowest) < 0)