KVM: consolidate ioapic/ipi interrupt delivery logic
[linux-3.10.git] / arch / ia64 / kvm / lapic.h
1 #ifndef __KVM_IA64_LAPIC_H
2 #define __KVM_IA64_LAPIC_H
3
4 #include <linux/kvm_host.h>
5
6 /*
7  * vlsapic
8  */
9 struct kvm_lapic{
10         struct kvm_vcpu *vcpu;
11         uint64_t insvc[4];
12         uint64_t vhpi;
13         uint8_t xtp;
14         uint8_t pal_init_pending;
15         uint8_t pad[2];
16 };
17
18 int kvm_create_lapic(struct kvm_vcpu *vcpu);
19 void kvm_free_lapic(struct kvm_vcpu *vcpu);
20
21 int kvm_apic_match_physical_addr(struct kvm_lapic *apic, u16 dest);
22 int kvm_apic_match_logical_addr(struct kvm_lapic *apic, u8 mda);
23 int kvm_apic_match_dest(struct kvm_vcpu *vcpu, struct kvm_lapic *source,
24                 int short_hand, int dest, int dest_mode);
25 bool kvm_apic_present(struct kvm_vcpu *vcpu);
26 int kvm_apic_set_irq(struct kvm_vcpu *vcpu, u8 vec, u8 dmode, u8 trig);
27
28 #endif