Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1175970

[RFC 13/17] KVM: introduce kvm_arch functions for IRQ bypass

From Eric Auger <eric.auger@linaro.org>
Newsgroups linux.kernel
Subject [RFC 13/17] KVM: introduce kvm_arch functions for IRQ bypass
Date 2015-07-02 15:30 +0200
Message-ID <pHMIW-3df-3@gated-at.bofh.it> (permalink)
References <pHMzf-39U-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


This patch introduces
- kvm_arch_add_producer
- kvm_arch_del_producer
- kvm_arch_stop_consumer
- kvm_arch_resume_consumer

They make possible to specialize the KVM IRQ bypass consumer.

Signed-off-by: Eric Auger <eric.auger@linaro.org>
---
 include/linux/kvm_host.h | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 9564fd7..8e981e9 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -24,6 +24,7 @@
 #include <linux/err.h>
 #include <linux/irqflags.h>
 #include <linux/context_tracking.h>
+#include <linux/irqbypass.h>
 #include <asm/signal.h>
 
 #include <linux/kvm.h>
@@ -1133,5 +1134,31 @@ static inline void kvm_vcpu_set_dy_eligible(struct kvm_vcpu *vcpu, bool val)
 {
 }
 #endif /* CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT */
+
+#ifdef CONFIG_IRQ_BYPASS_MANAGER
+
+void kvm_arch_add_producer(struct irq_bypass_consumer *,
+			   struct irq_bypass_producer *);
+void kvm_arch_del_producer(struct irq_bypass_consumer *,
+			   struct irq_bypass_producer *);
+void kvm_arch_stop_consumer(struct irq_bypass_consumer *);
+void kvm_arch_resume_consumer(struct irq_bypass_consumer *);
+
+#else
+void kvm_arch_add_producer(struct irq_bypass_consumer *,
+			   struct irq_bypass_producer *)
+{
+}
+void kvm_arch_del_producer(struct irq_bypass_consumer *,
+			   struct irq_bypass_producer *)
+{
+}
+void kvm_arch_stop_consumer(struct irq_bypass_consumer *)
+{
+}
+void kvm_arch_resume_consumer(struct irq_bypass_consumer *)
+{
+}
+#endif /* CONFIG_IRQ_BYPASS_MANAGER */
 #endif
 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[RFC 00/17] ARM IRQ forward control based on IRQ bypass manager Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:20 +0200
  [RFC 02/17] VFIO: platform: single handler using function pointer Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:20 +0200
  [RFC 01/17] VFIO: platform: test forwarded state when selecting IRQ handler Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:20 +0200
  [RFC 13/17] KVM: introduce kvm_arch functions for IRQ bypass Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:30 +0200
    Re: [RFC 13/17] KVM: introduce kvm_arch functions for IRQ bypass Paolo Bonzini <pbonzini@redhat.com> - 2015-07-02 15:50 +0200
  [RFC 17/17] VFIO: platform: add irq bypass producer management Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:30 +0200
  [RFC 04/17] VFIO: pci: initialize vfio_device_external_ops Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:30 +0200
  [RFC 07/17] KVM: arm: rename pause into power_off Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:30 +0200
  [RFC 06/17] VFIO: add vfio_external_{mask|is_active|set_automasked} Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:30 +0200
  [RFC 09/17] bypass: IRQ bypass manager proto by Alex Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:30 +0200
    RE: [RFC 09/17] bypass: IRQ bypass manager proto by Alex "Wu, Feng" <feng.wu@intel.com> - 2015-07-03 04:20 +0200
  [RFC 10/17] KVM: arm: select IRQ_BYPASS_MANAGER Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:30 +0200
  [RFC 16/17] KVM: eventfd: add irq bypass consumer management Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:30 +0200
    Re: [RFC 16/17] KVM: eventfd: add irq bypass consumer management Paolo Bonzini <pbonzini@redhat.com> - 2015-07-02 15:50 +0200
      Re: [RFC 16/17] KVM: eventfd: add irq bypass consumer management Eric Auger <eric.auger@linaro.org> - 2015-07-02 16:00 +0200
  [RFC 08/17] kvm: arm/arm64: implement kvm_arm_[halt,resume]_guest Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:30 +0200
  [RFC 14/17] KVM: arm/arm64: vgic: forwarding control Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:30 +0200
  [RFC 12/17] irq: bypass: Extend skeleton for ARM forwarding control Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:30 +0200
    Re: [RFC 12/17] irq: bypass: Extend skeleton for ARM forwarding  control Paolo Bonzini <pbonzini@redhat.com> - 2015-07-02 15:50 +0200
      RE: [RFC 12/17] irq: bypass: Extend skeleton for ARM forwarding  control "Wu, Feng" <feng.wu@intel.com> - 2015-07-03 04:30 +0200
        RE: [RFC 12/17] irq: bypass: Extend skeleton for ARM forwarding  control "Wu, Feng" <feng.wu@intel.com> - 2015-07-03 04:30 +0200
      Re: [RFC 12/17] irq: bypass: Extend skeleton for ARM forwarding control Eric Auger <eric.auger@linaro.org> - 2015-07-03 15:20 +0200
    RE: [RFC 12/17] irq: bypass: Extend skeleton for ARM forwarding  control "Wu, Feng" <feng.wu@intel.com> - 2015-07-03 04:50 +0200
  [RFC 05/17] VFIO: platform: implement vfio_device_external_ops callbacks Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:30 +0200
  [RFC 11/17] VFIO: platform: select IRQ_BYPASS_MANAGER Eric Auger <eric.auger@linaro.org> - 2015-07-02 15:30 +0200

csiph-web