[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v1 00/22] Integrate DMA into the memory API
From: |
Avi Kivity |
Subject: |
Re: [Qemu-devel] [RFC v1 00/22] Integrate DMA into the memory API |
Date: |
Thu, 04 Oct 2012 08:41:31 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120911 Thunderbird/15.0.1 |
Adding missing cc's: there are minor changes to vfio and xen here,
please review and test.
On 10/03/2012 06:03 PM, Avi Kivity wrote:
> Most of the work on the memory API focused on memory access targets - the
> memory regions
> and how they are composed into an address space. This patchset tackles the
> initator
> side of the question - how to originate accesses.
>
> The AddressSpace object, is exported to users and becomes the representation
> of an
> initiator. Each address space describes the paths from some point in the
> system
> (a device or cpu) to the devices reachable from that initiator.
>
> As an example, the API is used to support PCI_COMMAND_MASTER bit.
>
> Avi Kivity (22):
> memory: rename 'exec-obsolete.h'
> vhost: use MemoryListener filtering to only monitor RAM address space
> kvm: use separate MemoryListeners for memory and I/O
> xen_pt: use separate MemoryListeners for memory and I/O
> memory: prepare AddressSpace for exporting
> memory: export AddressSpace
> memory: maintain a list of address spaces
> memory: provide defaults for MemoryListener operations
> memory: use new MEMORY_LISTENER_DEFAULT_OPS
> vfio: use new MEMORY_LISTENER_DEFAULT_OPS
> xen_pt: use new MEMORY_LISTENER_DEFAULT_OPS
> kvm: use new MEMORY_LISTENER_DEFAULT_OPS
> xen: use new MEMORY_LISTENER_DEFAULT_OPS
> memory: manage coalesced mmio via a MemoryListener
> memory: move address_space_memory and address_space_io out of memory
> core
> memory: move tcg flush into a tcg memory listener
> memory: use AddressSpace for MemoryListener filtering
> s390: avoid reaching into memory core internals
> memory: per-AddressSpace dispatch
> dma: make dma access its own address space
> pci: give each device its own address space
> pci: honor PCI_COMMAND_MASTER
>
> cputlb.c | 6 +-
> cputlb.h | 3 +-
> dma-helpers.c | 25 ++-
> dma.h | 17 +-
> exec-memory.h | 7 +-
> exec.c | 312
> ++++++++++++++---------------------
> hw/Makefile.objs | 5 +-
> hw/pci.c | 19 ++-
> hw/pci.h | 2 +
> hw/spapr_iommu.c | 3 +-
> hw/vfio_pci.c | 33 +---
> hw/vhost.c | 5 +-
> hw/xen_pt.c | 49 +++---
> hw/xen_pt.h | 1 +
> kvm-all.c | 107 +++++-------
> kvm-stub.c | 10 --
> kvm.h | 2 -
> exec-obsolete.h => memory-internal.h | 30 +++-
> memory.c | 158 +++++++++++-------
> memory.h | 122 +++++++++++++-
> target-s390x/misc_helper.c | 2 +-
> xen-all.c | 45 +----
> 22 files changed, 487 insertions(+), 476 deletions(-)
> rename exec-obsolete.h => memory-internal.h (87%)
>
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.