[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 00/40] Memory-related changes sneak peek for 1.6
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 00/40] Memory-related changes sneak peek for 1.6 |
Date: |
Tue, 7 May 2013 16:16:38 +0200 |
Patches 1-10 are small changes, some of them bugfixes for the IOMMU
portion of the patches.
Patches 11-13 introduce three new address_space APIs and clean up
the dispatch logic a bit by removing memory_region_section_addr.
Patches 14-22 introduce IOMMU memory regions, convert sPAPR to the
new API, and finally eliminate DMAContext in favor of AddressSpace.
Patches 24-37 set an owner on all regions owned by hot-unpluggable
devices (and several others when that was easy), and add ref/unref
calls that keep the regions alive even if the owner is hot-unplugged.
Patches 38-40 make memory_region_find safe for usage outside the BQL.
These patches are also at git://github.com/bonzini/qemu.git, branch
iommu.
Please review!
Alexey Kardashevskiy (1):
memory: give name to every AddressSpace
Avi Kivity (5):
memory: fix address space initialization/destruction
memory: limit sections in the radix tree to the actual address space
size
memory: iommu support
vfio: abort if an emulated iommu is used
pci: use memory core for iommu support
Jan Kiszka (3):
memory: Replace open-coded memory_region_is_romd
memory: Rename readable flag to romd_mode
memory: Introduce address_space_lookup_region
Paolo Bonzini (31):
memory: assert that PhysPageEntry's ptr does not overflow
memory: allow memory_region_find() to run on non-root memory regions
memory: do not duplicate memory_region_destructor_none
memory: make memory_global_sync_dirty_bitmap take an AddressSpace
memory: create FlatView for new address spaces
exec: remove obsolete comment
memory: add address_space_valid
memory: add address_space_translate
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
memory: add getter/setter for owner
memory: add ref/unref
memory: add ref/unref calls
pci: set owner for BARs
sysbus: set owner for MMIO regions
acpi: add memory_region_set_owner calls
misc: add memory_region_set_owner calls
isa/portio: allow setting an owner
vga: add memory_region_set_owner calls
pci-assign: add memory_region_set_owner calls
vfio: add memory_region_set_owner calls
exec: check MRU in qemu_ram_addr_from_host
memory: return MemoryRegion from qemu_ram_addr_from_host
memory: ref/unref memory across address_space_map/unmap
memory: access FlatView from a local variable
memory: use a new FlatView pointer on every topology update
memory: add reference counting to FlatView
arch_init.c | 2 +-
cputlb.c | 20 ++-
dma-helpers.c | 180 +------------------
exec.c | 315 ++++++++++++++++++++++-----------
hw/acpi/ich9.c | 1 +
hw/acpi/piix4.c | 5 +
hw/block/pflash_cfi01.c | 6 +-
hw/block/pflash_cfi02.c | 2 +-
hw/char/serial-pci.c | 1 +
hw/core/loader.c | 1 +
hw/core/sysbus.c | 2 +
hw/display/cirrus_vga.c | 19 ++-
hw/display/exynos4210_fimd.c | 6 +
hw/display/framebuffer.c | 10 +-
hw/display/qxl.c | 5 +-
hw/display/vga-isa-mm.c | 2 +-
hw/display/vga-isa.c | 4 +-
hw/display/vga-pci.c | 5 +-
hw/display/vga.c | 19 ++-
hw/display/vga_int.h | 9 +-
hw/display/vmware_vga.c | 4 +-
hw/dma/pl330.c | 8 +-
hw/i386/kvm/ioapic.c | 2 +
hw/i386/kvm/pci-assign.c | 11 ++
hw/i386/kvmvapic.c | 1 +
hw/ide/ahci.c | 18 +-
hw/ide/ahci.h | 4 +-
hw/ide/ich.c | 2 +-
hw/ide/macio.c | 4 +-
hw/isa/apm.c | 1 +
hw/isa/isa-bus.c | 2 +
hw/misc/pc-testdev.c | 7 +
hw/misc/vfio.c | 12 ++
hw/pci/pci.c | 53 +++---
hw/ppc/spapr_iommu.c | 108 +++++-------
hw/ppc/spapr_pci.c | 18 ++-
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 | 7 +
hw/virtio/vhost.c | 2 +
hw/virtio/virtio-balloon.c | 1 +
hw/xen/xen_pt.c | 4 +
include/exec/cpu-common.h | 2 +-
include/exec/cputlb.h | 12 +-
include/exec/ioport.h | 3 +
include/exec/memory.h | 186 +++++++++++++++----
include/hw/pci-host/spapr.h | 2 +-
include/hw/pci/pci.h | 24 ++--
include/hw/pci/pci_bus.h | 5 +-
include/hw/ppc/spapr.h | 12 +-
include/hw/ppc/spapr_vio.h | 36 +++--
include/hw/virtio/dataplane/hostmem.h | 1 +
include/sysemu/dma.h | 158 +++++------------
ioport.c | 10 +
kvm-all.c | 2 +
memory.c | 267 ++++++++++++++++++++++------
target-arm/kvm.c | 2 +
target-i386/kvm.c | 4 +-
target-sparc/mmu_helper.c | 1 +
translate-all.c | 8 +-
xen-all.c | 2 +
70 files changed, 983 insertions(+), 734 deletions(-)