]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - virt/kvm/ioapic.c
KVM: Extract core of kvm_flush_remote_tlbs/kvm_reload_remote_mmus
[linux-2.6-omap-h63xx.git] / virt / kvm / ioapic.c
index 53772bb46320ae9e1fbf84297a6a4707e5b3e0ed..23b81cf242af739675f01303eabb3cebb71b09a7 100644 (file)
@@ -150,10 +150,11 @@ static int ioapic_inj_irq(struct kvm_ioapic *ioapic,
 static void ioapic_inj_nmi(struct kvm_vcpu *vcpu)
 {
        kvm_inject_nmi(vcpu);
+       kvm_vcpu_kick(vcpu);
 }
 
-static u32 ioapic_get_delivery_bitmask(struct kvm_ioapic *ioapic, u8 dest,
-                                      u8 dest_mode)
+u32 kvm_ioapic_get_delivery_bitmask(struct kvm_ioapic *ioapic, u8 dest,
+                                   u8 dest_mode)
 {
        u32 mask = 0;
        int i;
@@ -207,7 +208,8 @@ static int ioapic_deliver(struct kvm_ioapic *ioapic, int irq)
                     "vector=%x trig_mode=%x\n",
                     dest, dest_mode, delivery_mode, vector, trig_mode);
 
-       deliver_bitmask = ioapic_get_delivery_bitmask(ioapic, dest, dest_mode);
+       deliver_bitmask = kvm_ioapic_get_delivery_bitmask(ioapic, dest,
+                                                         dest_mode);
        if (!deliver_bitmask) {
                ioapic_debug("no target on destination\n");
                return 0;