All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [0/13] RFC: Guest visible IOMMU
@ 2012-03-22  2:14 David Gibson
  2012-03-22  2:14 ` [Qemu-devel] [PATCH 01/13] Use DMADirection type for dma_bdrv_io David Gibson
                   ` (13 more replies)
  0 siblings, 14 replies; 24+ messages in thread
From: David Gibson @ 2012-03-22  2:14 UTC (permalink / raw)
  To: qemu-devel

Here's another version of my series implementing the nevessary
framework for emulation of guest-visible IOMMUs.  I've incorporated
the feedback from the last posting.  I'm fairly confident that
preliminary patches 1-3 are ready to go in, the rest might still need
more consideration.

In particular, if anyone has thoughts on how to handle the case where
an IOMMU mapping is invalidated by the guest where a qemu-side device
currently has that piece of IOVA-space dma_memory_map()ed, I'd be
interested to hear it.

^ permalink raw reply	[flat|nested] 24+ messages in thread
* [Qemu-devel] [0/13] Implement support for guest visible IOMMUs
@ 2012-03-09  5:01 David Gibson
  2012-03-09  5:01 ` [Qemu-devel] [PATCH 13/13] pseries: Implement IOMMU and DMA for PAPR PCI devices David Gibson
  0 siblings, 1 reply; 24+ messages in thread
From: David Gibson @ 2012-03-09  5:01 UTC (permalink / raw)
  To: qemu-devel; +Cc: rth, mst, agraf, eduard.munteanu

This patch series introduces a general DMA infrastructure which allows
the emulation of guest-visible IOMMUs.  That is, it provides a
framework by which an IOMMU device can be implemented, such that DMA
from other device emulations will be translated according to the
mappings provided by the IOMMU.

One example IOMMU implementation is included, for the para-virtualized
TCE tables specified by PAPR and used in the pseries machine for both
virtual IO and PCI devices.

This series is an updated and cleaned-up version of patches posted by
Eduard - Gabriel Munteanu some time ago.  Those prompted some
discussion at the time, but no resolution was reached.

The series also converts a number of existing device models to use the
new DMA infrastructure, so they can be used with IOMMUs.  Along with
the pci_dma_*() wrapper functions which are already in, this means
that with this series applied, essentially all PCI devices should work
with an emulated IOMMU, as well as pseries VIO devices.  Other types
of devices would need some further conversion to work with the new
framework, but that should be quite straightforward.

This new version of the series has incorporated feedback from the last
RFC round.  I think it's ready to be considered for merge.

^ permalink raw reply	[flat|nested] 24+ messages in thread
* [Qemu-devel] [0/13] RFC: Support for guest-visible IOMMUs
@ 2012-03-01  5:35 David Gibson
  2012-03-01  5:36 ` [Qemu-devel] [PATCH 13/13] pseries: Implement IOMMU and DMA for PAPR PCI devices David Gibson
  0 siblings, 1 reply; 24+ messages in thread
From: David Gibson @ 2012-03-01  5:35 UTC (permalink / raw)
  To: qemu-devel; +Cc: eduard.munteanu, rth, mst

This patch series introduces a general DMA infrastructure which allows
the emulation of guest-visible IOMMUs.  That is, it provides a
framework by which an IOMMU device can be implemented, such that DMA
from other device emulations will be translated according to the
mappings provided by the IOMMU.

One example IOMMU implementation is included, for the para-virtualized
TCE tables specified by PAPR and used in the pseries machine for both
virtual IO and PCI devices.

This series is an updated and cleaned-up version of patches posted by
Eduard - Gabriel Munteanu some time ago.  Those prompted some
discussion at the time, but no resolution was reached.  These patches
are now pretty polished although I'd like to get some comment from
people working with other IOMMUs to make sure the infrastructure is
sufficient to cover those.

Specifically, Eduard - Gabriel, if you have an updated version of your
AMD IOMMU driver, it would be good to see if that can work with this
infrastructure.

The series also converts a number of existing device models to use the
new DMA infrastructure, so they can be used with IOMMUs.  Along with
the pci_dma_*() wrapper functions which are already in, this means
that with this series applied, essentially all PCI devices should work
with an emulated IOMMU, as well as pseries VIO devices.  Other types
of devices would need some further conversion to work with the new
framework, but that should be quite straightforward.

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2012-03-23  2:20 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-22  2:14 [Qemu-devel] [0/13] RFC: Guest visible IOMMU David Gibson
2012-03-22  2:14 ` [Qemu-devel] [PATCH 01/13] Use DMADirection type for dma_bdrv_io David Gibson
2012-03-22  2:14 ` [Qemu-devel] [PATCH 02/13] Better support for dma_addr_t variables David Gibson
2012-03-22  2:14 ` [Qemu-devel] [PATCH 03/13] usb-xhci: Use PCI DMA helper functions David Gibson
2012-03-22 10:00   ` Gerd Hoffmann
2012-03-23  2:05     ` David Gibson
2012-03-22  2:14 ` [Qemu-devel] [PATCH 04/13] Implement cpu_physical_memory_zero() David Gibson
2012-03-22  2:14 ` [Qemu-devel] [PATCH 05/13] iommu: Add universal DMA helper functions David Gibson
2012-03-22  2:14 ` [Qemu-devel] [PATCH 06/13] usb-ohci: Use " David Gibson
2012-03-22 10:01   ` Gerd Hoffmann
2012-03-22  2:14 ` [Qemu-devel] [PATCH 07/13] iommu: Make sglists and dma_bdrv helpers use new universal DMA helpers David Gibson
2012-03-22  2:14 ` [Qemu-devel] [PATCH 08/13] ide/ahci: Use universal DMA helper functions David Gibson
2012-03-22  2:14 ` [Qemu-devel] [PATCH 09/13] usb: Convert usb_packet_{map, unmap} to universal DMA helpers David Gibson
2012-03-22  2:14 ` [Qemu-devel] [PATCH 10/13] iommu: Introduce IOMMU emulation infrastructure David Gibson
2012-03-22  2:14 ` [Qemu-devel] [PATCH 11/13] pseries: Convert sPAPR TCEs to use generic IOMMU infrastructure David Gibson
2012-03-22  2:14 ` [Qemu-devel] [PATCH 12/13] iommu: Allow PCI to use " David Gibson
2012-03-22  2:14 ` [Qemu-devel] [PATCH 13/13] pseries: Implement IOMMU and DMA for PAPR PCI devices David Gibson
2012-03-22 13:50 ` [Qemu-devel] [0/13] RFC: Guest visible IOMMU Wei Wang
2012-03-23  2:02   ` David Gibson
  -- strict thread matches above, loose matches on Subject: below --
2012-03-09  5:01 [Qemu-devel] [0/13] Implement support for guest visible IOMMUs David Gibson
2012-03-09  5:01 ` [Qemu-devel] [PATCH 13/13] pseries: Implement IOMMU and DMA for PAPR PCI devices David Gibson
2012-03-09 10:23   ` Paolo Bonzini
2012-03-09 10:58     ` David Gibson
2012-03-11  2:02       ` Benjamin Herrenschmidt
2012-03-01  5:35 [Qemu-devel] [0/13] RFC: Support for guest-visible IOMMUs David Gibson
2012-03-01  5:36 ` [Qemu-devel] [PATCH 13/13] pseries: Implement IOMMU and DMA for PAPR PCI devices David Gibson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.