diff options
author | Alexander Graf <agraf@suse.de> | 2012-10-08 18:22:59 -0400 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2012-12-05 19:33:49 -0500 |
commit | 914daba865cb5c38cd5fdee024ca38029315b38f (patch) | |
tree | 5d0906d4fd82da801fb230256fc6bb1abb25bd0a /include/linux/kvm_host.h | |
parent | 45e3cc7d9fe69844cd12d51c511e1e98d156bbe1 (diff) |
KVM: Distangle eventfd code from irqchip
The current eventfd code assumes that when we have eventfd, we also have
irqfd for in-kernel interrupt delivery. This is not necessarily true. On
PPC we don't have an in-kernel irqchip yet, but we can still support easily
support eventfd.
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'include/linux/kvm_host.h')
-rw-r--r-- | include/linux/kvm_host.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 8e5c7b651655..c823e47c3641 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h | |||
@@ -900,10 +900,20 @@ static inline void kvm_free_irq_routing(struct kvm *kvm) {} | |||
900 | #ifdef CONFIG_HAVE_KVM_EVENTFD | 900 | #ifdef CONFIG_HAVE_KVM_EVENTFD |
901 | 901 | ||
902 | void kvm_eventfd_init(struct kvm *kvm); | 902 | void kvm_eventfd_init(struct kvm *kvm); |
903 | int kvm_ioeventfd(struct kvm *kvm, struct kvm_ioeventfd *args); | ||
904 | |||
905 | #ifdef CONFIG_HAVE_KVM_IRQCHIP | ||
903 | int kvm_irqfd(struct kvm *kvm, struct kvm_irqfd *args); | 906 | int kvm_irqfd(struct kvm *kvm, struct kvm_irqfd *args); |
904 | void kvm_irqfd_release(struct kvm *kvm); | 907 | void kvm_irqfd_release(struct kvm *kvm); |
905 | void kvm_irq_routing_update(struct kvm *, struct kvm_irq_routing_table *); | 908 | void kvm_irq_routing_update(struct kvm *, struct kvm_irq_routing_table *); |
906 | int kvm_ioeventfd(struct kvm *kvm, struct kvm_ioeventfd *args); | 909 | #else |
910 | static inline int kvm_irqfd(struct kvm *kvm, struct kvm_irqfd *args) | ||
911 | { | ||
912 | return -EINVAL; | ||
913 | } | ||
914 | |||
915 | static inline void kvm_irqfd_release(struct kvm *kvm) {} | ||
916 | #endif | ||
907 | 917 | ||
908 | #else | 918 | #else |
909 | 919 | ||