aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/irq.c
diff options
context:
space:
mode:
authorXiantao Zhang <xiantao.zhang@intel.com>2008-10-06 01:48:45 -0400
committerAvi Kivity <avi@redhat.com>2008-10-15 08:25:35 -0400
commit3de42dc094ecd313dc7d551e007a134b52f8663d (patch)
treecba836b4cd719e6a98f640fecec41ce5d23d9ce7 /arch/x86/kvm/irq.c
parentc77fb9dc7a0383c86eabef30272a763a482403e1 (diff)
KVM: Separate irq ack notification out of arch/x86/kvm/irq.c
Moving irq ack notification logic as common, and make it shared with ia64 side. Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch/x86/kvm/irq.c')
-rw-r--r--arch/x86/kvm/irq.c33
1 files changed, 0 insertions, 33 deletions
diff --git a/arch/x86/kvm/irq.c b/arch/x86/kvm/irq.c
index 8c1b9c5def78..c019b8edcdb7 100644
--- a/arch/x86/kvm/irq.c
+++ b/arch/x86/kvm/irq.c
@@ -99,36 +99,3 @@ void __kvm_migrate_timers(struct kvm_vcpu *vcpu)
99 __kvm_migrate_apic_timer(vcpu); 99 __kvm_migrate_apic_timer(vcpu);
100 __kvm_migrate_pit_timer(vcpu); 100 __kvm_migrate_pit_timer(vcpu);
101} 101}
102
103/* This should be called with the kvm->lock mutex held */
104void kvm_set_irq(struct kvm *kvm, int irq, int level)
105{
106 /* Not possible to detect if the guest uses the PIC or the
107 * IOAPIC. So set the bit in both. The guest will ignore
108 * writes to the unused one.
109 */
110 kvm_ioapic_set_irq(kvm->arch.vioapic, irq, level);
111 kvm_pic_set_irq(pic_irqchip(kvm), irq, level);
112}
113
114void kvm_notify_acked_irq(struct kvm *kvm, unsigned gsi)
115{
116 struct kvm_irq_ack_notifier *kian;
117 struct hlist_node *n;
118
119 hlist_for_each_entry(kian, n, &kvm->arch.irq_ack_notifier_list, link)
120 if (kian->gsi == gsi)
121 kian->irq_acked(kian);
122}
123
124void kvm_register_irq_ack_notifier(struct kvm *kvm,
125 struct kvm_irq_ack_notifier *kian)
126{
127 hlist_add_head(&kian->link, &kvm->arch.irq_ack_notifier_list);
128}
129
130void kvm_unregister_irq_ack_notifier(struct kvm *kvm,
131 struct kvm_irq_ack_notifier *kian)
132{
133 hlist_del(&kian->link);
134}