aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/lapic.c
diff options
context:
space:
mode:
authorChris Lalancette <clalance@redhat.com>2010-06-16 17:11:12 -0400
committerAvi Kivity <avi@redhat.com>2010-08-01 03:46:50 -0400
commite7dca5c0eba63e4ba8e3586c4b37863fd7fadb5a (patch)
treebe3129575b9a1f8d9a53ceca62452f6b203b8c28 /arch/x86/kvm/lapic.c
parent33572ac0ad5ba5016da72e6654e607726568f9c0 (diff)
KVM: x86: Allow any LAPIC to accept PIC interrupts
If the guest wants to accept timer interrupts on a CPU other than the BSP, we need to remove this gate. Signed-off-by: Chris Lalancette <clalance@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/x86/kvm/lapic.c')
-rw-r--r--arch/x86/kvm/lapic.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index 024f6d1c2996..49573c78c24b 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -1107,13 +1107,11 @@ int kvm_apic_accept_pic_intr(struct kvm_vcpu *vcpu)
1107 u32 lvt0 = apic_get_reg(vcpu->arch.apic, APIC_LVT0); 1107 u32 lvt0 = apic_get_reg(vcpu->arch.apic, APIC_LVT0);
1108 int r = 0; 1108 int r = 0;
1109 1109
1110 if (kvm_vcpu_is_bsp(vcpu)) { 1110 if (!apic_hw_enabled(vcpu->arch.apic))
1111 if (!apic_hw_enabled(vcpu->arch.apic)) 1111 r = 1;
1112 r = 1; 1112 if ((lvt0 & APIC_LVT_MASKED) == 0 &&
1113 if ((lvt0 & APIC_LVT_MASKED) == 0 && 1113 GET_APIC_DELIVERY_MODE(lvt0) == APIC_MODE_EXTINT)
1114 GET_APIC_DELIVERY_MODE(lvt0) == APIC_MODE_EXTINT) 1114 r = 1;
1115 r = 1;
1116 }
1117 return r; 1115 return r;
1118} 1116}
1119 1117