>From 79fd6880a8e7caaecc98e559a673400d20fb14be Mon Sep 17 00:00:00 2001 From: Weidong Han <[EMAIL PROTECTED]> Date: Fri, 14 Nov 2008 16:31:12 +0800 Subject: [PATCH] Deassign ioctl
Add this to support hot remove assigned device
Signed-off-by: Weidong Han <[EMAIL PROTECTED]>
---
libkvm/libkvm.c | 12 ++++++++++++
libkvm/libkvm.h | 12 ++++++++++++
2 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
index e7dba8a..a42bcad 100644
--- a/libkvm/libkvm.c
+++ b/libkvm/libkvm.c
@@ -1125,6 +1125,18 @@ int kvm_assign_pci_device(kvm_context_t kvm,
return ret;
}
+int kvm_deassign_pci_device(kvm_context_t kvm,
+ struct kvm_assigned_pci_dev *assigned_dev)
+{
+ int ret;
+
+ ret = ioctl(kvm->vm_fd, KVM_DEASSIGN_PCI_DEVICE, assigned_dev);
+ if (ret < 0)
+ return -errno;
+
+ return ret;
+}
+
int kvm_assign_irq(kvm_context_t kvm,
struct kvm_assigned_irq *assigned_irq)
{
diff --git a/libkvm/libkvm.h b/libkvm/libkvm.h
index 53d67f2..e2da8da 100644
--- a/libkvm/libkvm.h
+++ b/libkvm/libkvm.h
@@ -701,6 +701,18 @@ int kvm_assign_pci_device(kvm_context_t kvm,
struct kvm_assigned_pci_dev *assigned_dev);
/*!
+ * \brief Notifies host kernel about a PCI device to be deassigned from a guest
+ *
+ * Used for hot remove PCI device, this function notifies the host
+ * kernel about the deassigning of the physical PCI device from a guest.
+ *
+ * \param kvm Pointer to the current kvm_context
+ * \param assigned_dev Parameters, like bus, devfn number, etc
+ */
+int kvm_deassign_pci_device(kvm_context_t kvm,
+ struct kvm_assigned_pci_dev *assigned_dev);
+
+/*!
* \brief Notifies host kernel about changes to IRQ for an assigned device
*
* Used for PCI device assignment, this function notifies the host
--
1.5.1
0002-Deassign-ioctl.patch
Description: 0002-Deassign-ioctl.patch
