Call it kvm_apic_in_virtual_wire_mode, which is more
correct.  Also change it to not only operate properly
on the boot CPU, but on any CPU.

Signed-off-by: Chris Lalancette <clala...@redhat.com>
---
 arch/x86/kvm/i8259.c |    2 +-
 arch/x86/kvm/irq.c   |    4 ++--
 arch/x86/kvm/lapic.c |   17 ++++++++---------
 arch/x86/kvm/lapic.h |    2 +-
 4 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c
index 8285f0d..80d4705 100644
--- a/arch/x86/kvm/i8259.c
+++ b/arch/x86/kvm/i8259.c
@@ -263,7 +263,7 @@ static void kvm_pic_reset(struct kvm_kpic_state *s)
        s->init4 = 0;
 
        for (irq = 0; irq < PIC_NUM_PINS/2; irq++) {
-               if (vcpu0 && kvm_apic_accept_pic_intr(vcpu0))
+               if (vcpu0 && kvm_apic_in_virtual_wire_mode(vcpu0))
                        if (irr & (1 << irq) || isr & (1 << irq)) {
                                pic_clear_isr(s, irq);
                        }
diff --git a/arch/x86/kvm/irq.c b/arch/x86/kvm/irq.c
index 96dfbb6..05721fc 100644
--- a/arch/x86/kvm/irq.c
+++ b/arch/x86/kvm/irq.c
@@ -53,7 +53,7 @@ int kvm_cpu_has_interrupt(struct kvm_vcpu *v)
                return v->arch.interrupt.pending;
 
        if (kvm_apic_has_interrupt(v) == -1) {  /* LAPIC */
-               if (kvm_apic_accept_pic_intr(v)) {
+               if (kvm_apic_in_virtual_wire_mode(v)) {
                        s = pic_irqchip(v->kvm);        /* PIC */
                        return s->output;
                } else
@@ -76,7 +76,7 @@ int kvm_cpu_get_interrupt(struct kvm_vcpu *v)
 
        vector = kvm_get_apic_interrupt(v);     /* APIC */
        if (vector == -1) {
-               if (kvm_apic_accept_pic_intr(v)) {
+               if (kvm_apic_in_virtual_wire_mode(v)) {
                        s = pic_irqchip(v->kvm);
                        s->output = 0;          /* PIC */
                        vector = kvm_pic_read_irq(v->kvm);
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index cd60c0b..44acf7c 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -435,7 +435,7 @@ static int __apic_accept_irq(struct kvm_lapic *apic, int 
delivery_mode,
                /*
                 * Should only be called by kvm_apic_local_deliver() with LVT0,
                 * before NMI watchdog was enabled. Already handled by
-                * kvm_apic_accept_pic_intr().
+                * kvm_apic_in_virtual_wire_mode().
                 */
                break;
 
@@ -1099,18 +1099,17 @@ int kvm_apic_has_interrupt(struct kvm_vcpu *vcpu)
        return highest_irr;
 }
 
-int kvm_apic_accept_pic_intr(struct kvm_vcpu *vcpu)
+int kvm_apic_in_virtual_wire_mode(struct kvm_vcpu *vcpu)
 {
        u32 lvt0 = apic_get_reg(vcpu->arch.apic, APIC_LVT0);
        int r = 0;
 
-       if (kvm_vcpu_is_bsp(vcpu)) {
-               if (!apic_hw_enabled(vcpu->arch.apic))
-                       r = 1;
-               if ((lvt0 & APIC_LVT_MASKED) == 0 &&
-                   GET_APIC_DELIVERY_MODE(lvt0) == APIC_MODE_EXTINT)
-                       r = 1;
-       }
+       if (!apic_hw_enabled(vcpu->arch.apic))
+               r = 1;
+       if ((lvt0 & APIC_LVT_MASKED) == 0 &&
+           GET_APIC_DELIVERY_MODE(lvt0) == APIC_MODE_EXTINT)
+               r = 1;
+
        return r;
 }
 
diff --git a/arch/x86/kvm/lapic.h b/arch/x86/kvm/lapic.h
index 40010b0..ce4cd2d 100644
--- a/arch/x86/kvm/lapic.h
+++ b/arch/x86/kvm/lapic.h
@@ -22,7 +22,7 @@ int kvm_create_lapic(struct kvm_vcpu *vcpu);
 void kvm_free_lapic(struct kvm_vcpu *vcpu);
 
 int kvm_apic_has_interrupt(struct kvm_vcpu *vcpu);
-int kvm_apic_accept_pic_intr(struct kvm_vcpu *vcpu);
+int kvm_apic_in_virtual_wire_mode(struct kvm_vcpu *vcpu);
 int kvm_get_apic_interrupt(struct kvm_vcpu *vcpu);
 void kvm_lapic_reset(struct kvm_vcpu *vcpu);
 u64 kvm_lapic_get_cr8(struct kvm_vcpu *vcpu);
-- 
1.6.5.2

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to