On 5/7/24 11:20, Zhenzhong Duan wrote:
TYPE_HOST_IOMMU_DEVICE_LEGACY_VFIO represents a host IOMMU device under
VFIO legacy container backend.

It will have its own realize implementation.

Suggested-by: Eric Auger <eric.au...@redhat.com>
Suggested-by: Cédric Le Goater <c...@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.d...@intel.com>
---
  include/hw/vfio/vfio-common.h | 3 +++
  hw/vfio/container.c           | 5 ++++-
  2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h
index e4c60374fa..05a199ce65 100644
--- a/include/hw/vfio/vfio-common.h
+++ b/include/hw/vfio/vfio-common.h
@@ -31,6 +31,7 @@
  #endif
  #include "sysemu/sysemu.h"
  #include "hw/vfio/vfio-container-base.h"
+#include "sysemu/host_iommu_device.h"

This breaks build on windows because <linux/iommufd.h> is included
by <sysemu/host_iommu_device.h>. See patch 5.


Thanks,

C.


#define VFIO_MSG_PREFIX "vfio %s: " @@ -147,6 +148,8 @@ typedef struct VFIOGroup {
      bool ram_block_discard_allowed;
  } VFIOGroup;
+#define TYPE_HOST_IOMMU_DEVICE_LEGACY_VFIO TYPE_HOST_IOMMU_DEVICE "-legacy-vfio"
+
  typedef struct VFIODMABuf {
      QemuDmaBuf buf;
      uint32_t pos_x, pos_y, pos_updates;
diff --git a/hw/vfio/container.c b/hw/vfio/container.c
index 86266f3b83..1b4fc2f3e8 100644
--- a/hw/vfio/container.c
+++ b/hw/vfio/container.c
@@ -1139,7 +1139,10 @@ static const TypeInfo types[] = {
          .name = TYPE_VFIO_IOMMU_LEGACY,
          .parent = TYPE_VFIO_IOMMU,
          .class_init = vfio_iommu_legacy_class_init,
-    },
+    }, {
+        .name = TYPE_HOST_IOMMU_DEVICE_LEGACY_VFIO,
+        .parent = TYPE_HOST_IOMMU_DEVICE,
+    }
  };
DEFINE_TYPES(types)


Reply via email to