qemu-e2k/hw/mips
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/mips: MIPS Boston board support 2017-02-24 10:37:21 +00:00
addr.c mips: Clean up includes 2016-01-23 14:30:04 +00:00
boston.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
cps.c error: Strip trailing '\n' from error string arguments (again) 2016-08-08 09:00:44 +02:00
cputimer.c mips: use MIPSCPU instead of CPUMIPSState 2016-05-19 16:42:27 +02:00
gt64xxx_pci.c qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
mips_fulong2e.c Remove/replace sysemu/char.h inclusion 2017-06-02 11:33:52 +04:00
mips_int.c mips: use MIPSCPU instead of CPUMIPSState 2016-05-19 16:42:27 +02:00
mips_jazz.c memory/iommu: QOM'fy IOMMU MemoryRegion 2017-07-14 12:04:41 +02:00
mips_malta.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
mips_mipssim.c mips: use MIPSCPU instead of CPUMIPSState 2016-05-19 16:42:27 +02:00
mips_r4k.c shutdown: Add source information to SHUTDOWN and RESET 2017-05-23 13:28:17 +02:00