diff options
author | Zhang Xiantao <xiantao.zhang@intel.com> | 2007-12-11 07:36:00 -0500 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-01-30 10:53:22 -0500 |
commit | 682c59a3f3f211ed555b17144f2d82eb8286a1db (patch) | |
tree | 939bb2644ec6d556d27e82ecfb0cdf8ec9e7378a /drivers/kvm/irq.h | |
parent | 2bacc55c7c3c61e356aef06b9a319b4cee90b519 (diff) |
KVM: Portability: Move kvm{pic,ioapic} accesors to x86 specific code
Signed-off-by: Zhang Xiantao <xiantao.zhang@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/irq.h')
-rw-r--r-- | drivers/kvm/irq.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/kvm/irq.h b/drivers/kvm/irq.h index 730a87c173e5..e88d93957d24 100644 --- a/drivers/kvm/irq.h +++ b/drivers/kvm/irq.h | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/hrtimer.h> | 26 | #include <linux/hrtimer.h> |
27 | #include <asm/kvm.h> | 27 | #include <asm/kvm.h> |
28 | #include "iodev.h" | 28 | #include "iodev.h" |
29 | #include "x86.h" | ||
29 | 30 | ||
30 | struct kvm; | 31 | struct kvm; |
31 | struct kvm_vcpu; | 32 | struct kvm_vcpu; |
@@ -63,8 +64,6 @@ struct kvm_pic { | |||
63 | struct kvm_pic *kvm_create_pic(struct kvm *kvm); | 64 | struct kvm_pic *kvm_create_pic(struct kvm *kvm); |
64 | void kvm_pic_set_irq(void *opaque, int irq, int level); | 65 | void kvm_pic_set_irq(void *opaque, int irq, int level); |
65 | int kvm_pic_read_irq(struct kvm_pic *s); | 66 | int kvm_pic_read_irq(struct kvm_pic *s); |
66 | int kvm_cpu_get_interrupt(struct kvm_vcpu *v); | ||
67 | int kvm_cpu_has_interrupt(struct kvm_vcpu *v); | ||
68 | void kvm_pic_update_irq(struct kvm_pic *s); | 67 | void kvm_pic_update_irq(struct kvm_pic *s); |
69 | 68 | ||
70 | #define IOAPIC_NUM_PINS KVM_IOAPIC_NUM_PINS | 69 | #define IOAPIC_NUM_PINS KVM_IOAPIC_NUM_PINS |
@@ -147,6 +146,21 @@ do { \ | |||
147 | #define ASSERT(x) do { } while (0) | 146 | #define ASSERT(x) do { } while (0) |
148 | #endif | 147 | #endif |
149 | 148 | ||
149 | static inline struct kvm_pic *pic_irqchip(struct kvm *kvm) | ||
150 | { | ||
151 | return kvm->vpic; | ||
152 | } | ||
153 | |||
154 | static inline struct kvm_ioapic *ioapic_irqchip(struct kvm *kvm) | ||
155 | { | ||
156 | return kvm->vioapic; | ||
157 | } | ||
158 | |||
159 | static inline int irqchip_in_kernel(struct kvm *kvm) | ||
160 | { | ||
161 | return pic_irqchip(kvm) != NULL; | ||
162 | } | ||
163 | |||
150 | void kvm_vcpu_kick(struct kvm_vcpu *vcpu); | 164 | void kvm_vcpu_kick(struct kvm_vcpu *vcpu); |
151 | int kvm_apic_has_interrupt(struct kvm_vcpu *vcpu); | 165 | int kvm_apic_has_interrupt(struct kvm_vcpu *vcpu); |
152 | int kvm_apic_accept_pic_intr(struct kvm_vcpu *vcpu); | 166 | int kvm_apic_accept_pic_intr(struct kvm_vcpu *vcpu); |