diff options
author | Sheng Yang <sheng@linux.intel.com> | 2008-11-24 01:32:54 -0500 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2008-12-31 09:55:01 -0500 |
commit | 68b76f51675809c8ce200a86276c3c7266f17a64 (patch) | |
tree | a3720533a4f516f1db85ff4c1a086be2ece25600 | |
parent | 0937c48d075ddd59ae2c12a6fa8308b9c7a63753 (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.c | 7 | ||||
-rw-r--r-- | virt/kvm/ioapic.h | 2 |
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 | ||
156 | static u32 ioapic_get_delivery_bitmask(struct kvm_ioapic *ioapic, u8 dest, | 156 | u32 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); | |||
85 | int kvm_ioapic_init(struct kvm *kvm); | 85 | int kvm_ioapic_init(struct kvm *kvm); |
86 | void kvm_ioapic_set_irq(struct kvm_ioapic *ioapic, int irq, int level); | 86 | void kvm_ioapic_set_irq(struct kvm_ioapic *ioapic, int irq, int level); |
87 | void kvm_ioapic_reset(struct kvm_ioapic *ioapic); | 87 | void kvm_ioapic_reset(struct kvm_ioapic *ioapic); |
88 | u32 kvm_ioapic_get_delivery_bitmask(struct kvm_ioapic *ioapic, u8 dest, | ||
89 | u8 dest_mode); | ||
88 | 90 | ||
89 | #endif | 91 | #endif |