diff options
author | Alexey Kardashevskiy <aik@ozlabs.ru> | 2013-08-10 01:09:08 +1000 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2013-08-27 08:30:48 +0300 |
commit | 9eda7d373e9c691c070eddcbe3467b991f67f6bd (patch) | |
tree | 79b9f450dd31dc5ab348b4620ea2852d993181ab /include/hw | |
parent | 1ae2757c6c4525c9b42f408c86818f843bad7418 (diff) |
pci: Introduce helper to retrieve a PCI device's DMA address space
A PCI device's DMA address space (possibly an IOMMU) is returned by a
method on the PCIBus. At the moment that only has one caller, so the
method is simply open coded. We'll need another caller for VFIO, so
this patch introduces a helper/wrapper function.
If IOMMU is not set, the pci_device_iommu_address_space() function
returns the parent's IOMMU skipping the "bus master" address space as
otherwise proper emulation would require more effort for no benefit.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
[aik: added inheritance from parent if iommu is not set for the current bus]
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include/hw')
-rw-r--r-- | include/hw/pci/pci.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h index ccec2bac31..2374aa95ba 100644 --- a/include/hw/pci/pci.h +++ b/include/hw/pci/pci.h @@ -405,6 +405,7 @@ void pci_device_deassert_intx(PCIDevice *dev); typedef AddressSpace *(*PCIIOMMUFunc)(PCIBus *, void *, int); +AddressSpace *pci_device_iommu_address_space(PCIDevice *dev); void pci_setup_iommu(PCIBus *bus, PCIIOMMUFunc fn, void *opaque); static inline void |