Avi Kivity <a...@redhat.com> 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

Reply via email to