]> git.proxmox.com Git - mirror_qemu.git/commit
vfio: Remove unneeded union from VFIOContainer
authorDavid Gibson <david@gibson.dropbear.id.au>
Wed, 30 Sep 2015 02:13:51 +0000 (12:13 +1000)
committerAlex Williamson <alex.williamson@redhat.com>
Mon, 5 Oct 2015 18:36:08 +0000 (12:36 -0600)
commitee0bf0e59bb1c07c0196142f2ecfd88f7f8b194e
tree5b15e491f3990044cda1654e9df2d27eb3908a65
parenta5b39cd3f647eaaaef5b648beda5cb2f387418c0
vfio: Remove unneeded union from VFIOContainer

Currently the VFIOContainer iommu_data field contains a union with
different information for different host iommu types.  However:
   * It only actually contains information for the x86-like "Type1" iommu
   * Because we have a common listener the Type1 fields are actually used
on all IOMMU types, including the SPAPR TCE type as well

In fact we now have a general structure for the listener which is unlikely
to ever need per-iommu-type information, so this patch removes the union.

In a similar way we can unify the setup of the vfio memory listener in
vfio_connect_container() that is currently split across a switch on iommu
type, but is effectively the same in both cases.

The iommu_data.release pointer was only needed as a cleanup function
which would handle potentially different data in the union.  With the
union gone, it too can be removed.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Laurent Vivier <lvivier@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
hw/vfio/common.c
include/hw/vfio/vfio-common.h