Paolo Bonzini <pbonz...@redhat.com> writes: > Il 03/10/2012 18:03, Avi Kivity ha scritto: >> 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. > > Very nice, IMHO patches 1-18 should get in soon. They are a useful > cleanup on their own.
Yup, other than a few minor cosmetics, the series is a very nice cleanup. I think this probably gets us fairly close to being able to write unit tests for the memory layer too which is really nice. Regards, Anthony Liguori > > Paolo > >> 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%) >>