[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 00/22] Memory/IOMMU patches, part 2: unassigned acce

From: Paolo Bonzini
Subject: [Qemu-devel] [PATCH 00/22] Memory/IOMMU patches, part 2: unassigned access detection
Date: Fri, 24 May 2013 19:05:35 +0200

This is part 2 of the memory/IOMMU patches.  These reorganize the
handling of unassigned accesses so that they are propagated as
errors during I/O dispatch.  In the end, a return value is added to
address_space_rw/read/write.  This is particularly useful when an IOMMU
is available, because it lets devices detect faulting accesses.

Compared to v1, there is no special casing of the "unassigned" dummy
section and subpages are handled correctly.  Most of the patches are new.

The updated full series, including the IOMMU and ref/unref patches, is
available at refs/heads/iommu on my github repository.


Paolo Bonzini (22):
  exec: eliminate io_mem_ram
  exec: drop useless #if
  cputlb: simplify tlb_set_page
  exec: make io_mem_unassigned private
  exec: do not use error_mem_read
  memory: dispatch unassigned accesses based on .valid.accepts
  memory: add address_space_translate
  memory: move unassigned_mem_ops to memory.c
  memory: assign MemoryRegionOps to all regions
  exec: expect mr->ops to be initialized for ROM
  exec: introduce memory_access_is_direct
  exec: introduce memory_access_size
  memory: export memory_region_access_valid to exec.c
  exec: implement .valid.accepts for subpages
  memory: add address_space_access_valid
  memory: accept mismatching sizes in memory_region_access_valid
  memory: add big endian support to access_with_adjusted_size
  memory: split accesses even when the old MMIO callbacks are used
  memory: correctly handle endian-swapped 64-bit accesses
  exec: just use io_mem_read/io_mem_write for 8-byte I/O accesses
  memory: propagate errors on I/O dispatch
  memory: add return value to address_space_rw/read/write

 cputlb.c                        |  31 ++-
 dma-helpers.c                   |   5 +
 exec.c                          | 412 ++++++++++++++++++++--------------------
 include/exec/cpu-common.h       |   2 -
 include/exec/cputlb.h           |  12 +-
 include/exec/exec-all.h         |   6 +-
 include/exec/memory-internal.h  |   5 +
 include/exec/memory.h           |  58 ++++--
 include/exec/softmmu_template.h |  36 +---
 include/sysemu/dma.h            |   3 +-
 memory.c                        | 215 +++++++++++++--------
 translate-all.c                 |   6 +-
 12 files changed, 419 insertions(+), 372 deletions(-)


reply via email to

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