The patch introduces helper function vfio_pci_container_ioctl() to
pass ioctl commands to the specified VFIO container that is identified
by IOMMU group id. On sPAPR platform, each container only has one
IOMMU group.
Signed-off-by: Gavin Shan <address@hidden>
---
hw/misc/vfio.c | 31 +++++++++++++++++++++++++++++++
include/hw/misc/vfio.h | 2 ++
2 files changed, 33 insertions(+)
diff --git a/hw/misc/vfio.c b/hw/misc/vfio.c
index 0796abf..999d97d 100644
--- a/hw/misc/vfio.c
+++ b/hw/misc/vfio.c
@@ -4310,3 +4310,34 @@ put_group_exit:
return n;
}
+
+int vfio_pci_container_ioctl(int iommu_group_id, int req, int opt)
+{
+ VFIOGroup *group;
+ int ret, fd = 0;
+
+ /* Search container's fd */
+ QLIST_FOREACH(group, &group_list, next) {
+ if (group->groupid == iommu_group_id) {
+ fd = group->container ? group->container->fd : 0;
+ break;
+ }
+ }
+
+ if (fd <= 0) {