qemu/hw/misc
David Gibson 5e70018b00 vfio: Add guest side IOMMU support
This patch uses the new IOMMU notifiers to allow VFIO pass through devices
to work with guest side IOMMUs, as long as the host-side VFIO iommu has
sufficient capability and granularity to match the guest side. This works
by tracking all map and unmap operations on the guest IOMMU using the
notifiers, and mirroring them into VFIO.

There are a number of FIXMEs, and the scheme involves rather more notifier
structures than I'd like, but it should make for a reasonable proof of
concept.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2014-05-30 13:10:07 -06:00
..
macio savevm: Remove all the unneeded version_minimum_id_old (rest) 2014-05-14 15:24:51 +02:00
a9scu.c
applesmc.c qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
arm11scu.c
arm_integrator_debug.c
arm_l2x0.c sysbus: Set cannot_instantiate_with_device_add_yet 2013-12-23 00:27:22 +01:00
arm_sysctl.c hw/misc/arm_sysctl: Fix bad boundary check on mb clock accesses 2014-02-26 17:19:57 +00:00
cbus.c
debugexit.c qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
eccmemctl.c savevm: Remove all the unneeded version_minimum_id_old (rest) 2014-05-14 15:24:51 +02:00
exynos4210_pmu.c savevm: Remove all the unneeded version_minimum_id_old (arm) 2014-05-13 16:09:35 +01:00
imx_ccm.c savevm: Remove all the unneeded version_minimum_id_old (arm) 2014-05-13 16:09:35 +01:00
ivshmem.c qerror.h: Remove QERR defines that are only used once 2014-04-25 09:19:59 -04:00
Makefile.objs lm32: remove lm32_sys 2014-05-24 19:43:52 +02:00
max111x.c savevm: Remove all the unneeded version_minimum_id_old (arm) 2014-05-13 16:09:35 +01:00
milkymist-hpdmc.c savevm: Remove all the unneeded version_minimum_id_old (rest) 2014-05-14 15:24:51 +02:00
milkymist-pfpu.c savevm: Remove all the unneeded version_minimum_id_old (rest) 2014-05-14 15:24:51 +02:00
mst_fpga.c savevm: Remove all the unneeded version_minimum_id_old (arm) 2014-05-13 16:09:35 +01:00
omap_clk.c
omap_gpmc.c hw/arm/omap_gpmc: Avoid buffer overrun filling prefetch FIFO 2014-05-13 16:09:39 +01:00
omap_l4.c
omap_sdrc.c
omap_tap.c
pc-testdev.c
pci-testdev.c
puv3_pm.c
pvpanic.c pc: get rid of builtin pvpanic for "-M pc-1.5" 2013-11-21 17:38:54 +01:00
sga.c
slavio_misc.c savevm: Remove all the unneeded version_minimum_id_old (rest) 2014-05-14 15:24:51 +02:00
tmp105.c savevm: Remove all the unneeded version_minimum_id_old (arm) 2014-05-13 16:09:35 +01:00
tmp105.h
vfio.c vfio: Add guest side IOMMU support 2014-05-30 13:10:07 -06:00
vmport.c isa: Clean up use of cannot_instantiate_with_device_add_yet 2013-12-23 00:27:23 +01:00
zynq_slcr.c savevm: Remove all the unneeded version_minimum_id_old (arm) 2014-05-13 16:09:35 +01:00