Message ID | 1435843047-6327-14-git-send-email-eric.auger@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 02/07/2015 15:17, Eric Auger wrote: > +#ifdef CONFIG_IRQ_BYPASS_MANAGER Please use a separate symbol CONFIG_KVM_HAVE_IRQ_BYPASS. > +void kvm_arch_add_producer(struct irq_bypass_consumer *, > + struct irq_bypass_producer *); add_irq_bypass_producer, and so on below. Paolo > +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 *) > +{ > +}
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
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(+)