qemu-devel
[Top][All Lists]
Advanced

[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(-)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]