All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH qemu v18 0/5] spapr_pci/spapr_pci_vfio: Support Dynamic DMA Windows (DDW)
@ 2016-06-21  1:14 Alexey Kardashevskiy
  2016-06-21  1:14 ` [Qemu-devel] [PATCH qemu v18 1/5] memory: Add reporting of supported page sizes Alexey Kardashevskiy
                   ` (4 more replies)
  0 siblings, 5 replies; 23+ messages in thread
From: Alexey Kardashevskiy @ 2016-06-21  1:14 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alexey Kardashevskiy, qemu-ppc, David Gibson, Alex Williamson

Each Partitionable Endpoint (IOMMU group) has an address range on a PCI bus
where devices are allowed to do DMA. These ranges are called DMA windows.
By default, there is a single DMA window, 1 or 2GB big, mapped at zero
on a PCI bus.

PAPR defines a DDW RTAS API which allows pseries guests
querying the hypervisor about DDW support and capabilities (page size mask
for now). A pseries guest may request an additional (to the default)
DMA windows using this RTAS API.
The existing pseries Linux guests request an additional window as big as
the guest RAM and map the entire guest window which effectively creates
direct mapping of the guest memory to a PCI bus.

This patchset reworks PPC64 IOMMU code and adds necessary structures
to support big windows on pseries.

This patchset is based on David's ppc-for-2.7 branch, sha1 8dc2e5e.

This patchset does not contain guest view table reallocation as
it is not a part of DDW and it depends on
"memory: Add MemoryRegionIOMMUOps.notify_started/stopped callbacks"
which went to the VFIO tree; will repost spapr part when the prerequisite
is merged into David's queue.

Please comment. Thanks!


Alexey Kardashevskiy (5):
  memory: Add reporting of supported page sizes
  vfio: spapr: Add DMA memory preregistering (SPAPR IOMMU v2)
  vfio: Add host side DMA window capabilities
  vfio/spapr: Create DMA window dynamically (SPAPR IOMMU v2)
  spapr_pci/spapr_pci_vfio: Support Dynamic DMA Windows (DDW)

 hw/ppc/Makefile.objs          |   1 +
 hw/ppc/spapr.c                |   7 +-
 hw/ppc/spapr_iommu.c          |   8 ++
 hw/ppc/spapr_pci.c            |  77 ++++++++---
 hw/ppc/spapr_rtas_ddw.c       | 295 ++++++++++++++++++++++++++++++++++++++++++
 hw/vfio/Makefile.objs         |   1 +
 hw/vfio/common.c              | 180 ++++++++++++++++++++------
 hw/vfio/spapr.c               | 210 ++++++++++++++++++++++++++++++
 include/exec/memory.h         |  19 ++-
 include/hw/pci-host/spapr.h   |   8 +-
 include/hw/ppc/spapr.h        |  16 ++-
 include/hw/vfio/vfio-common.h |  20 ++-
 memory.c                      |  16 ++-
 trace-events                  |  12 ++
 14 files changed, 800 insertions(+), 70 deletions(-)
 create mode 100644 hw/ppc/spapr_rtas_ddw.c
 create mode 100644 hw/vfio/spapr.c

-- 
2.5.0.rc3

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

end of thread, other threads:[~2016-06-23  4:55 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-21  1:14 [Qemu-devel] [PATCH qemu v18 0/5] spapr_pci/spapr_pci_vfio: Support Dynamic DMA Windows (DDW) Alexey Kardashevskiy
2016-06-21  1:14 ` [Qemu-devel] [PATCH qemu v18 1/5] memory: Add reporting of supported page sizes Alexey Kardashevskiy
2016-06-21  6:16   ` David Gibson
2016-06-21 10:23     ` Paolo Bonzini
2016-06-22  1:13       ` David Gibson
2016-06-21  1:14 ` [Qemu-devel] [PATCH qemu v18 2/5] vfio: spapr: Add DMA memory preregistering (SPAPR IOMMU v2) Alexey Kardashevskiy
2016-06-21  6:46   ` David Gibson
2016-06-22 16:49   ` Alex Williamson
2016-06-21  1:14 ` [Qemu-devel] [PATCH qemu v18 3/5] vfio: Add host side DMA window capabilities Alexey Kardashevskiy
2016-06-21  6:50   ` David Gibson
2016-06-22 17:03     ` Alex Williamson
2016-06-21  1:14 ` [Qemu-devel] [PATCH qemu v18 4/5] vfio/spapr: Create DMA window dynamically (SPAPR IOMMU v2) Alexey Kardashevskiy
2016-06-22  1:29   ` David Gibson
2016-06-22 14:38   ` Laurent Vivier
2016-06-23  3:59     ` Alexey Kardashevskiy
2016-06-23  4:55       ` Alexey Kardashevskiy
2016-06-21  1:14 ` [Qemu-devel] [PATCH qemu v18 5/5] spapr_pci/spapr_pci_vfio: Support Dynamic DMA Windows (DDW) Alexey Kardashevskiy
2016-06-22  2:35   ` David Gibson
2016-06-22  3:23     ` Alexey Kardashevskiy
2016-06-22  7:01       ` David Gibson
2016-06-22  8:26         ` Alexey Kardashevskiy
2016-06-22  9:44       ` Thomas Huth
2016-06-23  2:00         ` Alexey Kardashevskiy

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.