diff options
| author | Alexander Graf <agraf@suse.de> | 2013-04-17 13:29:30 +0200 | 
|---|---|---|
| committer | Alexander Graf <agraf@suse.de> | 2013-04-26 20:27:14 +0200 | 
| commit | a725d56a02ec3582bb5b9756f261fdc6962c79ee (patch) | |
| tree | 12951caba7ac5239b18b3aeaba875d4d29833a85 /virt | |
| parent | 8175e5b79c38a1d85225da516fa1a0ecbf2fdbca (diff) | |
| download | linux-a725d56a02ec3582bb5b9756f261fdc6962c79ee.tar.bz2 | |
KVM: Introduce CONFIG_HAVE_KVM_IRQ_ROUTING
Quite a bit of code in KVM has been conditionalized on availability of
IOAPIC emulation. However, most of it is generically applicable to
platforms that don't have an IOPIC, but a different type of irq chip.
Make code that only relies on IRQ routing, not an APIC itself, on
CONFIG_HAVE_KVM_IRQ_ROUTING, so that we can reuse it later.
Signed-off-by: Alexander Graf <agraf@suse.de>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'virt')
| -rw-r--r-- | virt/kvm/Kconfig | 3 | ||||
| -rw-r--r-- | virt/kvm/eventfd.c | 6 | ||||
| -rw-r--r-- | virt/kvm/kvm_main.c | 2 | 
3 files changed, 7 insertions, 4 deletions
| diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig index d01b24b72c61..779262f59e25 100644 --- a/virt/kvm/Kconfig +++ b/virt/kvm/Kconfig @@ -6,6 +6,9 @@ config HAVE_KVM  config HAVE_KVM_IRQCHIP         bool +config HAVE_KVM_IRQ_ROUTING +       bool +  config HAVE_KVM_EVENTFD         bool         select EVENTFD diff --git a/virt/kvm/eventfd.c b/virt/kvm/eventfd.c index c5d43ffbf1f3..64ee720b75c7 100644 --- a/virt/kvm/eventfd.c +++ b/virt/kvm/eventfd.c @@ -35,7 +35,7 @@  #include "iodev.h" -#ifdef __KVM_HAVE_IOAPIC +#ifdef CONFIG_HAVE_KVM_IRQ_ROUTING  /*   * --------------------------------------------------------------------   * irqfd: Allows an fd to be used to inject an interrupt to the guest @@ -433,7 +433,7 @@ fail:  void  kvm_eventfd_init(struct kvm *kvm)  { -#ifdef __KVM_HAVE_IOAPIC +#ifdef CONFIG_HAVE_KVM_IRQ_ROUTING  	spin_lock_init(&kvm->irqfds.lock);  	INIT_LIST_HEAD(&kvm->irqfds.items);  	INIT_LIST_HEAD(&kvm->irqfds.resampler_list); @@ -442,7 +442,7 @@ kvm_eventfd_init(struct kvm *kvm)  	INIT_LIST_HEAD(&kvm->ioeventfds);  } -#ifdef __KVM_HAVE_IOAPIC +#ifdef CONFIG_HAVE_KVM_IRQ_ROUTING  /*   * shutdown any irqfd's that match fd+gsi   */ diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index aaac1a7a9ea8..2c3b226bc13b 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -2404,7 +2404,7 @@ static long kvm_dev_ioctl_check_extension_generic(long arg)  	case KVM_CAP_SIGNAL_MSI:  #endif  		return 1; -#ifdef KVM_CAP_IRQ_ROUTING +#ifdef CONFIG_HAVE_KVM_IRQ_ROUTING  	case KVM_CAP_IRQ_ROUTING:  		return KVM_MAX_IRQ_ROUTES;  #endif |