diff options
Diffstat (limited to 'arch/x86/kvm/irq.h')
-rw-r--r-- | arch/x86/kvm/irq.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/x86/kvm/irq.h b/arch/x86/kvm/irq.h index 9e6e7e04de98..2f9703dcd913 100644 --- a/arch/x86/kvm/irq.h +++ b/arch/x86/kvm/irq.h | |||
@@ -83,13 +83,22 @@ static inline struct kvm_pic *pic_irqchip(struct kvm *kvm) | |||
83 | return kvm->arch.vpic; | 83 | return kvm->arch.vpic; |
84 | } | 84 | } |
85 | 85 | ||
86 | static inline int irqchip_split(struct kvm *kvm) | ||
87 | { | ||
88 | return kvm->arch.irqchip_split; | ||
89 | } | ||
90 | |||
86 | static inline int irqchip_in_kernel(struct kvm *kvm) | 91 | static inline int irqchip_in_kernel(struct kvm *kvm) |
87 | { | 92 | { |
88 | struct kvm_pic *vpic = pic_irqchip(kvm); | 93 | struct kvm_pic *vpic = pic_irqchip(kvm); |
94 | bool ret; | ||
95 | |||
96 | ret = (vpic != NULL); | ||
97 | ret |= irqchip_split(kvm); | ||
89 | 98 | ||
90 | /* Read vpic before kvm->irq_routing. */ | 99 | /* Read vpic before kvm->irq_routing. */ |
91 | smp_rmb(); | 100 | smp_rmb(); |
92 | return vpic != NULL; | 101 | return ret; |
93 | } | 102 | } |
94 | 103 | ||
95 | static inline int lapic_in_kernel(struct kvm_vcpu *vcpu) | 104 | static inline int lapic_in_kernel(struct kvm_vcpu *vcpu) |