This part includes Jan's subpage reorganization (needed to unify MMIO and PIO dispatch) and the implementation of IOMMU regions. Compared to previous submissions, there is full support for 64-bit-sized IOMMU regions, so I'm reverting the patches from part 1 that reduced the maximum size of sections to 62 bits.
Patches 1-10 are the new ones. Alexey Kardashevskiy (1): memory: give name to every AddressSpace Avi Kivity (3): memory: iommu support vfio: abort if an emulated iommu is used pci: use memory core for iommu support David Gibson (1): memory: Add iommu map/unmap notifiers Jan Kiszka (4): memory: Introduce address_space_lookup_region exec: Allow unaligned address_space_rw exec: Resolve subpages in one step except for IOTLB fills exec: Implement subpage_read/write via address_space_rw Paolo Bonzini (12): memory: move private types to exec.c exec: return MemoryRegion from address_space_translate Revert "memory: limit sections in the radix tree to the actual address space size" Revert "s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62" exec: reorganize mem_add to match Int128 version memory: make section size a 128-bit integer spapr: convert TCE API to use an opaque type spapr: make IOMMU translation go through IOMMUTLBEntry spapr: use memory core for iommu support dma: eliminate old-style IOMMU support spapr_vio: take care of creating our own AddressSpace/DMAContext dma: eliminate DMAContext cputlb.c | 4 +- dma-helpers.c | 190 +---------------- exec.c | 456 ++++++++++++++++++++++------------------- hw/core/loader.c | 2 +- hw/display/exynos4210_fimd.c | 4 +- hw/display/framebuffer.c | 3 +- hw/dma/pl330.c | 8 +- hw/ide/ahci.c | 18 +- hw/ide/ahci.h | 4 +- hw/ide/ich.c | 2 +- hw/ide/macio.c | 4 +- hw/misc/vfio.c | 6 +- hw/pci/pci.c | 44 ++-- hw/ppc/spapr_iommu.c | 119 ++++++----- hw/ppc/spapr_pci.c | 16 +- hw/ppc/spapr_vio.c | 13 +- hw/scsi/megasas.c | 4 +- hw/scsi/virtio-scsi.c | 2 +- hw/scsi/vmw_pvscsi.c | 2 +- hw/sd/sdhci.c | 22 +- hw/usb/hcd-ehci-pci.c | 4 +- hw/usb/hcd-ehci-sysbus.c | 2 +- hw/usb/hcd-ehci.c | 12 +- hw/usb/hcd-ehci.h | 2 +- hw/usb/hcd-ohci.c | 30 +-- hw/usb/libhw.c | 4 +- hw/virtio/dataplane/hostmem.c | 2 +- hw/virtio/vhost.c | 4 +- hw/virtio/virtio-balloon.c | 2 +- include/exec/cputlb.h | 4 + include/exec/memory-internal.h | 15 -- include/exec/memory.h | 114 ++++++++++- include/hw/pci-host/spapr.h | 3 +- include/hw/pci/pci.h | 21 +- include/hw/pci/pci_bus.h | 4 +- include/hw/ppc/spapr.h | 12 +- include/hw/ppc/spapr_vio.h | 21 +- include/qemu/int128.h | 10 + include/sysemu/dma.h | 144 ++++--------- kvm-all.c | 23 ++- memory.c | 56 +++-- target-s390x/cpu.h | 5 +- xen-all.c | 6 +- 43 files changed, 671 insertions(+), 752 deletions(-) -- 1.8.1.4