qemu-e2k/hw/vfio
Alexey Kardashevskiy 3df9d74806 memory/iommu: QOM'fy IOMMU MemoryRegion
This defines new QOM object - IOMMUMemoryRegion - with MemoryRegion
as a parent.

This moves IOMMU-related fields from MR to IOMMU MR. However to avoid
dymanic QOM casting in fast path (address_space_translate, etc),
this adds an @is_iommu boolean flag to MR and provides new helper to
do simple cast to IOMMU MR - memory_region_get_iommu. The flag
is set in the instance init callback. This defines
memory_region_is_iommu as memory_region_get_iommu()!=NULL.

This switches MemoryRegion to IOMMUMemoryRegion in most places except
the ones where MemoryRegion may be an alias.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Message-Id: <20170711035620.4232-2-aik@ozlabs.ru>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2017-07-14 12:04:41 +02:00
..
Makefile.objs vfio/ccw: vfio based subchannel passthrough driver 2017-05-19 12:29:01 +02:00
amd-xgbe.c sysbus: Set user_creatable=false by default on TYPE_SYS_BUS_DEVICE 2017-05-17 10:37:01 -03:00
calxeda-xgmac.c sysbus: Set user_creatable=false by default on TYPE_SYS_BUS_DEVICE 2017-05-17 10:37:01 -03:00
ccw.c vfio/ccw: update sense data if a unit check is pending 2017-05-19 12:29:01 +02:00
common.c memory/iommu: QOM'fy IOMMU MemoryRegion 2017-07-14 12:04:41 +02:00
pci-quirks.c vfio/pci-quirks: Exclude non-ioport BAR from NVIDIA quirk 2017-04-06 16:03:26 -06:00
pci.c vfio/pci: Fixup v0 PCIe capabilities 2017-07-10 10:39:43 -06:00
pci.h vfio/pci: Pass an error object to vfio_pci_igd_opregion_init 2016-10-17 10:57:59 -06:00
platform.c vfio: Test realized when using VFIOGroup.device_list iterator 2017-07-10 10:39:43 -06:00
spapr.c memory/iommu: QOM'fy IOMMU MemoryRegion 2017-07-14 12:04:41 +02:00
trace-events vfio: trace map/unmap for notify as well 2017-02-17 21:52:31 +02:00