[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH qemu v17 00/12] spapr: vfio: Enable Dynamic DMA wi
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [PATCH qemu v17 00/12] spapr: vfio: Enable Dynamic DMA windows (DDW) |
Date: |
Thu, 2 Jun 2016 13:36:48 +1000 |
User-agent: |
Mutt/1.6.1 (2016-04-27) |
On Wed, Jun 01, 2016 at 06:57:31PM +1000, Alexey Kardashevskiy wrote:
> 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-20160531 tag.
>
>
> Please comment. Thanks!
I've merged 1-5. 6 needs some sort of ack from Paolo. Continuing to
review the remainder.
>
>
> Alexey Kardashevskiy (12):
> vmstate: Define VARRAY with VMS_ALLOC
> spapr_iommu: Introduce "enabled" state for TCE table
> spapr_iommu: Migrate full state
> spapr_iommu: Add root memory region
> spapr_pci: Reset DMA config on PHB reset
> memory: Add reporting of supported page sizes
> vfio: spapr: Add DMA memory preregistering (SPAPR IOMMU v2)
> spapr_pci: Add and export DMA resetting helper
> 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)
> spapr_iommu, vfio, memory: Notify IOMMU about starting/stopping
> listening
>
> hw/ppc/Makefile.objs | 1 +
> hw/ppc/spapr.c | 5 +
> hw/ppc/spapr_iommu.c | 160 +++++++++++++++++++----
> hw/ppc/spapr_pci.c | 96 ++++++++++----
> hw/ppc/spapr_rtas_ddw.c | 293
> ++++++++++++++++++++++++++++++++++++++++++
> hw/ppc/spapr_vio.c | 8 +-
> hw/vfio/Makefile.objs | 1 +
> hw/vfio/common.c | 174 +++++++++++++++++++------
> hw/vfio/spapr.c | 207 +++++++++++++++++++++++++++++
> include/exec/memory.h | 26 +++-
> include/hw/pci-host/spapr.h | 10 +-
> include/hw/ppc/spapr.h | 30 ++++-
> include/hw/vfio/vfio-common.h | 19 ++-
> include/migration/vmstate.h | 10 ++
> memory.c | 26 +++-
> trace-events | 10 ++
> 16 files changed, 961 insertions(+), 115 deletions(-)
> create mode 100644 hw/ppc/spapr_rtas_ddw.c
> create mode 100644 hw/vfio/spapr.c
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature