diff mbox

[3/6] kvm: ioctl for gsi_route

Message ID 1231325371-22896-4-git-send-email-sheng@linux.intel.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Sheng Yang Jan. 7, 2009, 10:49 a.m. UTC
Signed-off-by: Sheng Yang <sheng@linux.intel.com>
---
 libkvm/libkvm.c |   27 +++++++++++++++++++++++++++
 libkvm/libkvm.h |    8 ++++++++
 2 files changed, 35 insertions(+), 0 deletions(-)
diff mbox

Patch

diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
index 0408fdb..6d53f38 100644
--- a/libkvm/libkvm.c
+++ b/libkvm/libkvm.c
@@ -1164,3 +1164,30 @@  int kvm_reinject_control(kvm_context_t kvm, int pit_reinject)
 #endif
 	return -ENOSYS;
 }
+
+#ifdef KVM_CAP_GSI_ROUTE
+int kvm_request_gsi_route(kvm_context_t kvm,
+			  struct kvm_gsi_route_guest *route)
+{
+        int ret;
+
+        ret = ioctl(kvm->vm_fd, KVM_REQUEST_GSI_ROUTE, route);
+        if (ret < 0)
+                return -errno;
+
+        return ret;
+}
+
+int kvm_free_gsi_route(kvm_context_t kvm,
+		       struct kvm_gsi_route_guest *route)
+{
+        int ret;
+
+        ret = ioctl(kvm->vm_fd, KVM_FREE_GSI_ROUTE, route);
+        if (ret < 0)
+                return -errno;
+
+        return ret;
+}
+
+#endif
diff --git a/libkvm/libkvm.h b/libkvm/libkvm.h
index ee1ba68..2bfcfe3 100644
--- a/libkvm/libkvm.h
+++ b/libkvm/libkvm.h
@@ -720,4 +720,12 @@  int kvm_assign_irq(kvm_context_t kvm,
  */
 int kvm_destroy_memory_region_works(kvm_context_t kvm);
 #endif
+
+#ifdef KVM_CAP_GSI_ROUTE
+int kvm_request_gsi_route(kvm_context_t kvm,
+			  struct kvm_gsi_route_guest *route);
+int kvm_free_gsi_route(kvm_context_t kvm,
+		       struct kvm_gsi_route_guest *route);
+#endif
+
 #endif