From 614e41bc26dda751321da47acb1f9cb287b52085 Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Thu, 26 Jul 2012 15:35:15 +0100 Subject: kvm: Decouple 'MSI routing via irqfds' from 'kernel irqchip' Decouple another x86-specific assumption about what irqchips imply. Signed-off-by: Peter Maydell Signed-off-by: Avi Kivity --- kvm.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'kvm.h') diff --git a/kvm.h b/kvm.h index 21436ef5d2..34d32c7ccd 100644 --- a/kvm.h +++ b/kvm.h @@ -26,6 +26,7 @@ extern int kvm_allowed; extern bool kvm_kernel_irqchip; extern bool kvm_async_interrupts_allowed; extern bool kvm_irqfds_allowed; +extern bool kvm_msi_via_irqfd_allowed; #if defined CONFIG_KVM || !defined NEED_CPU_H #define kvm_enabled() (kvm_allowed) @@ -50,11 +51,21 @@ extern bool kvm_irqfds_allowed; */ #define kvm_irqfds_enabled() (kvm_irqfds_allowed) +/** + * kvm_msi_via_irqfd_enabled: + * + * Returns: true if we can route a PCI MSI (Message Signaled Interrupt) + * to a KVM CPU via an irqfd. This requires that the kernel supports + * this and that we're running in a configuration that permits it. + */ +#define kvm_msi_via_irqfd_enabled() (kvm_msi_via_irqfd_allowed) + #else #define kvm_enabled() (0) #define kvm_irqchip_in_kernel() (false) #define kvm_async_interrupts_enabled() (false) #define kvm_irqfds_enabled() (false) +#define kvm_msi_via_irqfd_enabled() (false) #endif struct kvm_run; -- cgit v1.2.1