diff options
author | Qing He <qing.he@intel.com> | 2007-09-17 02:47:13 -0400 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2007-10-13 04:18:26 -0400 |
commit | 40487c680d5855459dfdce340df13d40071bb774 (patch) | |
tree | abc0ec56ecb1b6d1533b918621c060a1d38fccef /drivers/kvm/irq.h | |
parent | 5cd4f6fd8506f59cb8a232f364c54f6bd8e5150a (diff) |
KVM: deliver PIC interrupt only to vcpu0
This patch changes the PIC interrupts delivery. Now it is only delivered
to vcpu0 when either condition is met (on vcpu0):
1. local APIC is hardware disabled
2. LVT0 is unmasked and configured to delivery mode ExtInt
It fixes the 2x faster wall clock on x86_64 and SMP i386 Linux guests
Signed-off-by: Eddie (Yaozu) Dong <eddie.dong@intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/irq.h')
-rw-r--r-- | drivers/kvm/irq.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/kvm/irq.h b/drivers/kvm/irq.h index f324cfb40084..ec46a09e2135 100644 --- a/drivers/kvm/irq.h +++ b/drivers/kvm/irq.h | |||
@@ -135,6 +135,7 @@ do { \ | |||
135 | 135 | ||
136 | void kvm_vcpu_kick(struct kvm_vcpu *vcpu); | 136 | void kvm_vcpu_kick(struct kvm_vcpu *vcpu); |
137 | int kvm_apic_has_interrupt(struct kvm_vcpu *vcpu); | 137 | int kvm_apic_has_interrupt(struct kvm_vcpu *vcpu); |
138 | int kvm_apic_accept_pic_intr(struct kvm_vcpu *vcpu); | ||
138 | int kvm_get_apic_interrupt(struct kvm_vcpu *vcpu); | 139 | int kvm_get_apic_interrupt(struct kvm_vcpu *vcpu); |
139 | int kvm_create_lapic(struct kvm_vcpu *vcpu); | 140 | int kvm_create_lapic(struct kvm_vcpu *vcpu); |
140 | void kvm_free_apic(struct kvm_lapic *apic); | 141 | void kvm_free_apic(struct kvm_lapic *apic); |