From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:41285) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TMPsu-0005Av-9I for qemu-devel@nongnu.org; Thu, 11 Oct 2012 17:01:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TMPso-0005KK-Bu for qemu-devel@nongnu.org; Thu, 11 Oct 2012 17:01:36 -0400 Received: from mail-oa0-f45.google.com ([209.85.219.45]:55963) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TMPso-0005K9-59 for qemu-devel@nongnu.org; Thu, 11 Oct 2012 17:01:30 -0400 Received: by mail-oa0-f45.google.com with SMTP id i18so2114197oag.4 for ; Thu, 11 Oct 2012 14:01:28 -0700 (PDT) From: Anthony Liguori In-Reply-To: <1349800368-15228-1-git-send-email-avi@redhat.com> References: <1349800368-15228-1-git-send-email-avi@redhat.com> Date: Thu, 11 Oct 2012 16:01:24 -0500 Message-ID: <87626g3eqj.fsf@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [Qemu-devel] [PULL v3 00/23] Integrate DMA into the memory API List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity , qemu-devel@nongnu.org, liu ping fan , "Michael S. Tsirkin" , Paolo Bonzini , Blue Swirl Avi Kivity writes: > 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. > > Changes from v2: > - fix series numbering > - drop MEMORY_LISTENER_DEFAULT_OPS, use traditional if (x->op) { x->op(); } instead > > Changes from v1: > - fix typo on commit log for patch 7 > - add address space destruction (resolved FIXME) > > Two FIXMEs are introduced for the PCI bus master address space, however they're only > exposed by this patch set; the incorrect behaviour is preexisting. They will be resolved > in a future patchset. > > Available as a git tree in: > > git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git memory/dma This conflicts with a recent pull from Stefano in xen-all.c. The difference doesn't look that awful but since I don't have a xen test setup, I'm not confident in resolving it myself. Can you rebase and fixup? Regards, Anthony Liguori > > Avi Kivity (23): > 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: drop no-op MemoryListener callbacks > vfio: drop no-op MemoryListener callbacks > xen_pt: drop no-op MemoryListener callbacks > kvm: drop no-op MemoryListener callbacks > xen: drop no-op MemoryListener callbacks > 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 > memory: add address_space_destroy() > 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 | 318 +++++++++++++++-------------------- > hw/Makefile.objs | 5 +- > hw/pci.c | 25 ++- > hw/pci.h | 2 + > hw/spapr_iommu.c | 3 +- > hw/vfio_pci.c | 32 +--- > hw/vhost.c | 5 +- > hw/xen_pt.c | 47 +++--- > hw/xen_pt.h | 1 + > kvm-all.c | 105 +++++------- > kvm-stub.c | 10 -- > kvm.h | 2 - > exec-obsolete.h => memory-internal.h | 31 +++- > memory.c | 173 +++++++++++-------- > memory.h | 107 +++++++++++- > target-s390x/misc_helper.c | 3 +- > xen-all.c | 44 +---- > 22 files changed, 488 insertions(+), 483 deletions(-) > rename exec-obsolete.h => memory-internal.h (86%) > > -- > 1.7.12