Make ioeventfd patchset apply to qemu-kvm.
Signed-off-by: Michael S. Tsirkin <[email protected]>
---
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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html