qemu-e2k/include/hw
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
..
acpi migration: Remove unneeded includes of migration/vmstate.h 2017-06-01 18:49:22 +02:00
adc
arm aspeed: Register all watchdogs 2017-07-11 11:21:26 +01:00
audio audio: Rename hw/audio/audio.h to hw/audio/soundhw.h 2017-05-19 10:48:54 +02:00
block hw/block: Introduce share-rw qdev property 2017-02-28 20:40:36 +01:00
char char: move CharBackend handling in char-fe unit 2017-06-02 11:33:53 +04:00
core
cpu
cris
display
dma
gpio bcm2835_gpio: add bcm2835 gpio controller 2017-02-28 17:10:00 +00:00
i2c
i386 memory/iommu: QOM'fy IOMMU MemoryRegion 2017-07-14 12:04:41 +02:00
ide ide: core: add cleanup function 2017-03-15 20:50:14 -04:00
input ps2: add and use PS2State typedef 2017-06-23 11:51:50 +02:00
intc hw/intc/arm_gicv3_its: Implement state save/restore 2017-06-13 14:57:00 +01:00
ipack
ipmi ipmi: introduce an ipmi_bmc_gen_event() API 2017-04-26 12:41:55 +10:00
isa isa: use get_uint() for "io-base" 2017-06-20 14:31:32 +02:00
kvm
lm32
m68k
mem
mips memory/iommu: QOM'fy IOMMU MemoryRegion 2017-07-14 12:04:41 +02:00
misc hw/misc: add missing includes 2017-07-11 11:18:37 +03:00
net net/ftgmac100: add a 'aspeed' property 2017-04-25 19:17:25 +08:00
nvram
pci pci: Convert shpc_init() to Error 2017-07-03 22:29:49 +03:00
pci-host q35/mch: implement extended TSEG sizes 2017-06-16 18:07:08 +03:00
ppc memory/iommu: QOM'fy IOMMU MemoryRegion 2017-07-14 12:04:41 +02:00
s390x s390x: vmstatify config migration for virtio-ccw 2017-07-05 12:16:55 +02:00
scsi hw: Deprecate -drive if=scsi with non-onboard HBAs 2017-02-21 13:17:45 +01:00
sd hw/sd: add card-reparenting function 2017-02-28 17:10:00 +00:00
sh4
smbios
sparc
ssi
timer qtest: add rtc periodic timer test 2017-06-06 20:18:35 +02:00
tricore
unicore32
usb
vfio memory/iommu: QOM'fy IOMMU MemoryRegion 2017-07-14 12:04:41 +02:00
virtio virtio-net: enable configurable tx queue size 2017-07-03 22:29:48 +03:00
watchdog
xen xenfb: remove xen_init_display "temporary" hack 2017-07-07 11:10:03 -07:00
boards.h machine: call machine init from wrapper 2017-05-11 16:08:50 -03:00
bt.h
compat.h migration: move skip_section_footers 2017-06-28 11:18:39 +02:00
devices.h sm501: QOMify 2017-04-24 12:32:12 +01:00
elf_ops.h elf-loader: Allow late loading of elf 2017-02-28 12:04:48 +01:00
empty_slot.h
fw-path-provider.h
hotplug.h
hw.h migration: Split qemu-file.h 2017-06-01 18:49:22 +02:00
ide.h
irq.h
loader-fit.h loader: Support Flattened Image Trees (FIT images) 2017-02-21 23:47:40 +00:00
loader.h elf-loader: Allow late loading of elf 2017-02-28 12:04:48 +01:00
nmi.h
or-irq.h
pcmcia.h
platform-bus.h
ptimer.h include/hw/ptimer.h: Add documentation comments 2017-07-11 17:44:27 +03:00
qdev-core.h qdev: avoid type casts between signed and unsigned 2017-06-20 14:31:32 +02:00
qdev-dma.h
qdev-properties.h accel: introduce AccelClass.global_props 2017-06-28 11:18:38 +02:00
qdev.h
register.h
registerfields.h
stream.h
sysbus.h
usb.h usb: replace handle_destroy with unrealize 2017-02-23 15:40:19 +01:00