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. 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%) >