|
@@ -27,6 +27,7 @@ extern bool kvm_kernel_irqchip;
|
|
extern bool kvm_async_interrupts_allowed;
|
|
extern bool kvm_async_interrupts_allowed;
|
|
extern bool kvm_irqfds_allowed;
|
|
extern bool kvm_irqfds_allowed;
|
|
extern bool kvm_msi_via_irqfd_allowed;
|
|
extern bool kvm_msi_via_irqfd_allowed;
|
|
|
|
+extern bool kvm_gsi_routing_allowed;
|
|
|
|
|
|
#if defined CONFIG_KVM || !defined NEED_CPU_H
|
|
#if defined CONFIG_KVM || !defined NEED_CPU_H
|
|
#define kvm_enabled() (kvm_allowed)
|
|
#define kvm_enabled() (kvm_allowed)
|
|
@@ -60,12 +61,21 @@ extern bool kvm_msi_via_irqfd_allowed;
|
|
*/
|
|
*/
|
|
#define kvm_msi_via_irqfd_enabled() (kvm_msi_via_irqfd_allowed)
|
|
#define kvm_msi_via_irqfd_enabled() (kvm_msi_via_irqfd_allowed)
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * kvm_gsi_routing_enabled:
|
|
|
|
+ *
|
|
|
|
+ * Returns: true if GSI routing is enabled (ie the kernel supports
|
|
|
|
+ * it and we're running in a configuration that permits it).
|
|
|
|
+ */
|
|
|
|
+#define kvm_gsi_routing_enabled() (kvm_gsi_routing_allowed)
|
|
|
|
+
|
|
#else
|
|
#else
|
|
#define kvm_enabled() (0)
|
|
#define kvm_enabled() (0)
|
|
#define kvm_irqchip_in_kernel() (false)
|
|
#define kvm_irqchip_in_kernel() (false)
|
|
#define kvm_async_interrupts_enabled() (false)
|
|
#define kvm_async_interrupts_enabled() (false)
|
|
#define kvm_irqfds_enabled() (false)
|
|
#define kvm_irqfds_enabled() (false)
|
|
#define kvm_msi_via_irqfd_enabled() (false)
|
|
#define kvm_msi_via_irqfd_enabled() (false)
|
|
|
|
+#define kvm_gsi_routing_allowed() (false)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
struct kvm_run;
|
|
struct kvm_run;
|