KVM: Expose kvm_lapic_local_deliver()
authorAvi Kivity <avi@redhat.com>
Thu, 10 Nov 2011 12:57:21 +0000 (14:57 +0200)
committerAvi Kivity <avi@redhat.com>
Tue, 27 Dec 2011 09:23:39 +0000 (11:23 +0200)
Needed to deliver performance monitoring interrupts.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/lapic.c
arch/x86/kvm/lapic.h

index a7f3e655cd3eef028f74dd595267bffc0ddd6a3c..cfdc6e0ef0025f4687c1a7b9d3c6dff42f0c8875 100644 (file)
@@ -1121,7 +1121,7 @@ int apic_has_pending_timer(struct kvm_vcpu *vcpu)
        return 0;
 }
 
-static int kvm_apic_local_deliver(struct kvm_lapic *apic, int lvt_type)
+int kvm_apic_local_deliver(struct kvm_lapic *apic, int lvt_type)
 {
        u32 reg = apic_get_reg(apic, lvt_type);
        int vector, mode, trig_mode;
index 138e8cc6fea600ef42a515cf08d6d2c4a6f7a60b..6f4ce2575d095edce570b7d15c0cd9724b6255ec 100644 (file)
@@ -34,6 +34,7 @@ void kvm_apic_set_version(struct kvm_vcpu *vcpu);
 int kvm_apic_match_physical_addr(struct kvm_lapic *apic, u16 dest);
 int kvm_apic_match_logical_addr(struct kvm_lapic *apic, u8 mda);
 int kvm_apic_set_irq(struct kvm_vcpu *vcpu, struct kvm_lapic_irq *irq);
+int kvm_apic_local_deliver(struct kvm_lapic *apic, int lvt_type);
 
 u64 kvm_get_apic_base(struct kvm_vcpu *vcpu);
 void kvm_set_apic_base(struct kvm_vcpu *vcpu, u64 data);