Signed-off-by: Sheng Yang <[email protected]>
---
 libkvm/libkvm.c |   26 ++++++++++++++++++++++++++
 libkvm/libkvm.h |    7 +++++++
 2 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
index 9d3139e..c30f086 100644
--- a/libkvm/libkvm.c
+++ b/libkvm/libkvm.c
@@ -1144,3 +1144,29 @@ int kvm_destroy_memory_region_works(kvm_context_t kvm)
 #endif
        return ret;
 }
+
+#ifdef KVM_CAP_GSI_MSG
+int kvm_request_gsi_msg(kvm_context_t kvm,
+                    struct kvm_assigned_gsi_msg *gsi_msg)
+{
+        int ret;
+
+        ret = ioctl(kvm->vm_fd, KVM_REQUEST_GSI_MSG, gsi_msg);
+        if (ret < 0)
+                return -errno;
+
+        return ret;
+}
+
+int kvm_free_gsi_msg(kvm_context_t kvm, uint32_t gsi)
+{
+        int ret;
+
+        ret = ioctl(kvm->vm_fd, KVM_REQUEST_GSI_MSG, gsi);
+        if (ret < 0)
+                return -errno;
+
+        return ret;
+}
+
+#endif
diff --git a/libkvm/libkvm.h b/libkvm/libkvm.h
index d068fb3..53e57c5 100644
--- a/libkvm/libkvm.h
+++ b/libkvm/libkvm.h
@@ -718,4 +718,11 @@ int kvm_assign_irq(kvm_context_t kvm,
  */
 int kvm_destroy_memory_region_works(kvm_context_t kvm);
 #endif
+
+#ifdef KVM_CAP_GSI_MSG
+int kvm_request_gsi_msg(kvm_context_t kvm,
+                    struct kvm_assigned_gsi_msg *gsi_msg);
+int kvm_free_gsi_msg(kvm_context_t kvm, uint32_t gsi);
+#endif
+
 #endif
-- 
1.5.4.5

--
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

Reply via email to