]> git.proxmox.com Git - qemu.git/commit
iommu: Allow PCI to use IOMMU infrastructure
authorDavid Gibson <david@gibson.dropbear.id.au>
Wed, 27 Jun 2012 04:50:45 +0000 (14:50 +1000)
committerAnthony Liguori <aliguori@us.ibm.com>
Wed, 27 Jun 2012 21:33:26 +0000 (16:33 -0500)
commit5fa45de5623abd3a6d0b9575a4f014cbfe886b36
tree31bc5582b36329cd3c277bb20bb776e0705833d1
parentad0ebb91cd8b5fdc4a583b03645677771f420a46
iommu: Allow PCI to use IOMMU infrastructure

This patch adds some hooks to let PCI devices and busses use the new IOMMU
infrastructure.  When IOMMU support is enabled, each PCI device now
contains a DMAContext * which is used by the pci_dma_*() wrapper functions.

By default, the contexts are initialized to NULL, assuming no IOMMU.
However the platform or host bridge code which sets up the PCI bus can use
pci_setup_iommu() to set a function which will determine the correct
DMAContext for a given PCI device.

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/pci.c
hw/pci.h
hw/pci_internals.h