aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSheng Yang <sheng@linux.intel.com>2008-11-24 01:32:54 -0500
committerAvi Kivity <avi@redhat.com>2008-12-31 09:55:01 -0500
commit68b76f51675809c8ce200a86276c3c7266f17a64 (patch)
treea3720533a4f516f1db85ff4c1a086be2ece25600
parent0937c48d075ddd59ae2c12a6fa8308b9c7a63753 (diff)
KVM: Export ioapic_get_delivery_bitmask
It would be used for MSI in device assignment, for MSI dispatch. Signed-off-by: Sheng Yang <sheng@linux.intel.com> Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r--virt/kvm/ioapic.c7
-rw-r--r--virt/kvm/ioapic.h2
2 files changed, 6 insertions, 3 deletions
diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c
index c8f939c55075..23b81cf242af 100644
--- a/virt/kvm/ioapic.c
+++ b/virt/kvm/ioapic.c
@@ -153,8 +153,8 @@ static void ioapic_inj_nmi(struct kvm_vcpu *vcpu)
153 kvm_vcpu_kick(vcpu); 153 kvm_vcpu_kick(vcpu);
154} 154}
155 155
156static u32 ioapic_get_delivery_bitmask(struct kvm_ioapic *ioapic, u8 dest, 156u32 kvm_ioapic_get_delivery_bitmask(struct kvm_ioapic *ioapic, u8 dest,
157 u8 dest_mode) 157 u8 dest_mode)
158{ 158{
159 u32 mask = 0; 159 u32 mask = 0;
160 int i; 160 int i;
@@ -208,7 +208,8 @@ static int ioapic_deliver(struct kvm_ioapic *ioapic, int irq)
208 "vector=%x trig_mode=%x\n", 208 "vector=%x trig_mode=%x\n",
209 dest, dest_mode, delivery_mode, vector, trig_mode); 209 dest, dest_mode, delivery_mode, vector, trig_mode);
210 210
211 deliver_bitmask = ioapic_get_delivery_bitmask(ioapic, dest, dest_mode); 211 deliver_bitmask = kvm_ioapic_get_delivery_bitmask(ioapic, dest,
212 dest_mode);
212 if (!deliver_bitmask) { 213 if (!deliver_bitmask) {
213 ioapic_debug("no target on destination\n"); 214 ioapic_debug("no target on destination\n");
214 return 0; 215 return 0;
diff --git a/virt/kvm/ioapic.h b/virt/kvm/ioapic.h
index cd7ae7691c9d..49c9581d2586 100644
--- a/virt/kvm/ioapic.h
+++ b/virt/kvm/ioapic.h
@@ -85,5 +85,7 @@ void kvm_ioapic_update_eoi(struct kvm *kvm, int vector, int trigger_mode);
85int kvm_ioapic_init(struct kvm *kvm); 85int kvm_ioapic_init(struct kvm *kvm);
86void kvm_ioapic_set_irq(struct kvm_ioapic *ioapic, int irq, int level); 86void kvm_ioapic_set_irq(struct kvm_ioapic *ioapic, int irq, int level);
87void kvm_ioapic_reset(struct kvm_ioapic *ioapic); 87void kvm_ioapic_reset(struct kvm_ioapic *ioapic);
88u32 kvm_ioapic_get_delivery_bitmask(struct kvm_ioapic *ioapic, u8 dest,
89 u8 dest_mode);
88 90
89#endif 91#endif