aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCédric Le Goater <clg@redhat.com>2023-12-19 07:58:21 +0100
committerCédric Le Goater <clg@redhat.com>2024-01-05 21:25:20 +0100
commit61d893f2cdb34a2b0255f9b5fbba6b49b94ff730 (patch)
tree39c8d922c0f2614e77660694893b85043e62fed6
parent9812feefab3a4ff95a6cfd73aecb120b406bc98c (diff)
downloadqemu-61d893f2cdb34a2b0255f9b5fbba6b49b94ff730.zip
qemu-61d893f2cdb34a2b0255f9b5fbba6b49b94ff730.tar.gz
qemu-61d893f2cdb34a2b0255f9b5fbba6b49b94ff730.tar.bz2
vfio/container: Intoduce a new VFIOIOMMUClass::setup handler
This will help in converting the sPAPR IOMMU backend to a QOM interface. Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Tested-by: Eric Farman <farman@linux.ibm.com> Signed-off-by: Cédric Le Goater <clg@redhat.com>
-rw-r--r--hw/vfio/container.c1
-rw-r--r--include/hw/vfio/vfio-container-base.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/hw/vfio/container.c b/hw/vfio/container.c
index 220e838..c22bdd3 100644
--- a/hw/vfio/container.c
+++ b/hw/vfio/container.c
@@ -1129,6 +1129,7 @@ static void vfio_iommu_legacy_class_init(ObjectClass *klass, void *data)
{
VFIOIOMMUClass *vioc = VFIO_IOMMU_CLASS(klass);
+ vioc->setup = vfio_legacy_setup;
vioc->dma_map = vfio_legacy_dma_map;
vioc->dma_unmap = vfio_legacy_dma_unmap;
vioc->attach_device = vfio_legacy_attach_device;
diff --git a/include/hw/vfio/vfio-container-base.h b/include/hw/vfio/vfio-container-base.h
index c60370f..ce8b1fb 100644
--- a/include/hw/vfio/vfio-container-base.h
+++ b/include/hw/vfio/vfio-container-base.h
@@ -109,6 +109,7 @@ struct VFIOIOMMUClass {
InterfaceClass parent_class;
/* basic feature */
+ int (*setup)(VFIOContainerBase *bcontainer, Error **errp);
int (*dma_map)(const VFIOContainerBase *bcontainer,
hwaddr iova, ram_addr_t size,
void *vaddr, bool readonly);