qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: qemu-devel@nongnu.org, Anthony Liguori <anthony@codemonkey.ws>,
	liu ping fan <qemulist@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Blue Swirl <blauwirbel@gmail.com>
Subject: [Qemu-devel] [PATCH v1 00/23] Integrate DMA into the memory API
Date: Sun,  7 Oct 2012 14:38:05 +0200	[thread overview]
Message-ID: <1349613508-22980-1-git-send-email-avi@redhat.com> (raw)

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 v1:
 - fix typo on commit log for patch 7
 - add address space destruction (resolved FIXME)

Still unresolved:
 - use of structure literal non-extension
 - DEFAULT_OPS vs. if (listener->op) { listener->op(...); }

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.

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: 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
  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                               | 322 +++++++++++++++--------------------
 hw/Makefile.objs                     |   5 +-
 hw/pci.c                             |  25 ++-
 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 |  31 +++-
 memory.c                             | 172 ++++++++++++-------
 memory.h                             | 134 ++++++++++++++-
 target-s390x/misc_helper.c           |   3 +-
 xen-all.c                            |  45 +----
 22 files changed, 530 insertions(+), 477 deletions(-)
 rename exec-obsolete.h => memory-internal.h (86%)

-- 
1.7.12

             reply	other threads:[~2012-10-07 12:38 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-07 12:38 Avi Kivity [this message]
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 01/23] memory: rename 'exec-obsolete.h' Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 02/23] vhost: use MemoryListener filtering to only monitor RAM address space Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 03/23] kvm: use separate MemoryListeners for memory and I/O Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 04/23] xen_pt: " Avi Kivity
2012-10-08 12:18   ` Stefano Stabellini
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 05/23] memory: prepare AddressSpace for exporting Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 06/23] memory: export AddressSpace Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 07/23] memory: maintain a list of address spaces Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 08/23] memory: provide defaults for MemoryListener operations Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 09/23] memory: use new MEMORY_LISTENER_DEFAULT_OPS Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 10/23] vfio: " Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 11/23] xen_pt: " Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 12/23] kvm: " Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 13/23] xen: " Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 14/23] memory: manage coalesced mmio via a MemoryListener Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 15/23] memory: move address_space_memory and address_space_io out of memory core Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 16/23] memory: move tcg flush into a tcg memory listener Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 17/23] memory: use AddressSpace for MemoryListener filtering Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 18/23] s390: avoid reaching into memory core internals Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 19/23] memory: per-AddressSpace dispatch Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 20/23] dma: make dma access its own address space Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 21/23] memory: add address_space_destroy() Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 22/23] pci: give each device its own address space Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 23/23] pci: honor PCI_COMMAND_MASTER Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1349613508-22980-1-git-send-email-avi@redhat.com \
    --to=avi@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=blauwirbel@gmail.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemulist@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).