[PATCH conditional] qemu-kvm: ioeventfd fixup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Make ioeventfd patchset apply to qemu-kvm.

Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
---

This patch will need to be applied when ioeventfd is merged in qemu.git.

 kvm-all.c  |    2 +-
 kvm.h      |    1 +
 qemu-kvm.c |    2 ++
 qemu-kvm.h |    1 +
 4 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/kvm-all.c b/kvm-all.c
index adfb892..c7bd993 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -455,7 +455,7 @@ int kvm_check_extension(KVMState *s, unsigned int extension)
     return ret;
 }
 
-static int kvm_check_many_ioeventfds(void)
+int kvm_check_many_ioeventfds(void)
 {
     /* Older kernels have a 6 device limit on the KVM io bus.  Find out so we
      * can avoid creating too many ioeventfds.
diff --git a/kvm.h b/kvm.h
index 45124ef..345b740 100644
--- a/kvm.h
+++ b/kvm.h
@@ -204,6 +204,7 @@ int kvm_set_irqfd(int gsi, int fd, bool assigned)
 }
 #endif
 
+int kvm_check_many_ioeventfds(void);
 int kvm_set_ioeventfd_pio_word(int fd, uint16_t adr, uint16_t val, bool assign);
 
 int kvm_has_gsi_routing(void);
diff --git a/qemu-kvm.c b/qemu-kvm.c
index 471306b..76731fe 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -1686,6 +1686,8 @@ static int kvm_create_context(void)
     kvm_state->xcrs = kvm_check_extension(kvm_state, KVM_CAP_XCRS);
 #endif
 
+    kvm_state->many_ioeventfds = kvm_check_many_ioeventfds();
+
     kvm_init_ap();
     if (kvm_irqchip) {
         if (!qemu_kvm_has_gsi_routing()) {
diff --git a/qemu-kvm.h b/qemu-kvm.h
index 7e6edfb..db4e340 100644
--- a/qemu-kvm.h
+++ b/qemu-kvm.h
@@ -754,6 +754,7 @@ struct KVMState {
     int irqchip_in_kernel;
     int pit_in_kernel;
     int xsave, xcrs;
+    int many_ioeventfds;
 
     struct kvm_context kvm_context;
 };
-- 
1.7.3.2.91.g446ac
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux