diff options
author | Xiantao Zhang <xiantao.zhang@intel.com> | 2008-10-06 01:48:45 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2008-10-15 08:25:35 -0400 |
commit | 3de42dc094ecd313dc7d551e007a134b52f8663d (patch) | |
tree | cba836b4cd719e6a98f640fecec41ce5d23d9ce7 /arch/x86/kvm/irq.c | |
parent | c77fb9dc7a0383c86eabef30272a763a482403e1 (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.c | 33 |
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 */ | ||
104 | void 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 | |||
114 | void 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 | |||
124 | void 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 | |||
130 | void kvm_unregister_irq_ack_notifier(struct kvm *kvm, | ||
131 | struct kvm_irq_ack_notifier *kian) | ||
132 | { | ||
133 | hlist_del(&kian->link); | ||
134 | } | ||