[PATCH 2/5] qemu-kvm: Ioctl for in-kernel mask support

Sheng Yang
2010-11-11T07:51:33Z

qemu-kvm.c | 14 ++++++++++++++
qemu-kvm.h | 7 +++++++
2 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/qemu-kvm.c b/qemu-kvm.c
index 733d0a9..aa30144 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -1094,6 +1094,20 @@ int kvm_assign_set_msix_entry(kvm_context_t kvm,
}
#endif

+#ifdef KVM_CAP_MSIX_MASK
+int kvm_get_msix_entry(kvm_context_t kvm,
+ struct kvm_msix_entry *entry)
+{
+ return kvm_vm_ioctl(kvm_state, KVM_GET_MSIX_ENTRY, entry);
+}
+
+int kvm_update_msix_mmio(kvm_context_t kvm,
+ struct kvm_msix_mmio *msix_mmio)
+{
+ return kvm_vm_ioctl(kvm_state, KVM_UPDATE_MSIX_MMIO, msix_mmio);
+}
+#endif
+
#if defined(KVM_CAP_IRQFD) && defined(CONFIG_EVENTFD)

#include <sys/eventfd.h>
diff --git a/qemu-kvm.h b/qemu-kvm.h
index 9c08ab4..d103140 100644
--- a/qemu-kvm.h
+++ b/qemu-kvm.h
@@ -745,6 +745,13 @@ int kvm_assign_set_msix_entry(kvm_context_t kvm,
struct kvm_assigned_msix_entry *entry);
#endif

+#ifdef KVM_CAP_MSIX_MASK
+int kvm_get_msix_entry(kvm_context_t kvm,
+ struct kvm_msix_entry *entry);
+int kvm_update_msix_mmio(kvm_context_t kvm,
+ struct kvm_msix_mmio *msix_mmio);
+#endif
+
#else /* !CONFIG_KVM */

typedef struct kvm_context *kvm_context_t;
--
1.7.0.1