blob: e42109e6ca470cb75816d0d765e8723e32976f37 [file] [log] [blame]
Xiantao Zhanga4f50032008-04-01 16:00:24 +08001#ifndef __KVM_IA64_LAPIC_H
2#define __KVM_IA64_LAPIC_H
3
4#include <linux/kvm_host.h>
5
6/*
7 * vlsapic
8 */
9struct 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
18int kvm_create_lapic(struct kvm_vcpu *vcpu);
19void kvm_free_lapic(struct kvm_vcpu *vcpu);
20
21int kvm_apic_match_physical_addr(struct kvm_lapic *apic, u16 dest);
22int kvm_apic_match_logical_addr(struct kvm_lapic *apic, u8 mda);
Gleb Natapov343f94f2009-03-05 16:34:54 +020023int kvm_apic_match_dest(struct kvm_vcpu *vcpu, struct kvm_lapic *source,
24 int short_hand, int dest, int dest_mode);
Gleb Natapove1035712009-03-05 16:34:59 +020025int kvm_apic_compare_prio(struct kvm_vcpu *vcpu1, struct kvm_vcpu *vcpu2);
Gleb Natapov343f94f2009-03-05 16:34:54 +020026bool kvm_apic_present(struct kvm_vcpu *vcpu);
Gleb Natapov6da7e3f2009-03-05 16:34:44 +020027int kvm_apic_set_irq(struct kvm_vcpu *vcpu, u8 vec, u8 dmode, u8 trig);
Xiantao Zhanga4f50032008-04-01 16:00:24 +080028
29#endif