qemu-e2k/hw/pci-host
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 hw: xilinx-pcie: Add support for Xilinx AXI PCIe Controller 2017-02-21 23:49:29 +00:00
apb.c memory/iommu: QOM'fy IOMMU MemoryRegion 2017-07-14 12:04:41 +02:00
bonito.c shutdown: Add source information to SHUTDOWN and RESET 2017-05-23 13:28:17 +02:00
gpex.c qdev: Use appropriate getter/setters type 2017-06-20 14:31:32 +02:00
grackle.c qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
pam.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
piix.c object: use more specific property type names 2017-06-20 14:31:32 +02:00
ppce500.c qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
prep.c qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
q35.c QAPI patches for 2017-06-09 2017-06-22 11:34:39 +01:00
uninorth.c qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
versatile.c qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
xilinx-pcie.c qdev: Use appropriate getter/setters type 2017-06-20 14:31:32 +02:00