[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 00/22] Memory/IOMMU patches, part 2: unassigned acces
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 00/22] Memory/IOMMU patches, part 2: unassigned access detection |
Date: |
Thu, 30 May 2013 23:03:34 +0200 |
Anthony,
the following changes since commit 6a4e17711442849bf2cc731ccddef5a2a2d92d29:
Remove Sun4c, Sun4d and a few CPUs (2013-05-26 11:37:58 +0000)
are available in the git repository at:
git://github.com/bonzini/qemu.git iommu-for-anthony
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.
All patches were reviewed by rth.
Paolo
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 | 415 +++++++++++++++++++--------------------
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, 422 insertions(+), 372 deletions(-)
--
1.7.4.1
- [Qemu-devel] [PULL 00/22] Memory/IOMMU patches, part 2: unassigned access detection,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 01/22] exec: eliminate io_mem_ram, Paolo Bonzini, 2013/05/30
- [Qemu-devel] [PATCH 02/22] exec: drop useless #if, Paolo Bonzini, 2013/05/30
- [Qemu-devel] [PATCH 03/22] cputlb: simplify tlb_set_page, Paolo Bonzini, 2013/05/30
- [Qemu-devel] [PATCH 04/22] exec: make io_mem_unassigned private, Paolo Bonzini, 2013/05/30
- [Qemu-devel] [PATCH 05/22] exec: do not use error_mem_read, Paolo Bonzini, 2013/05/30
- [Qemu-devel] [PATCH 06/22] memory: dispatch unassigned accesses based on .valid.accepts, Paolo Bonzini, 2013/05/30
- [Qemu-devel] [PATCH 08/22] memory: move unassigned_mem_ops to memory.c, Paolo Bonzini, 2013/05/30
- [Qemu-devel] [PATCH 09/22] memory: assign MemoryRegionOps to all regions, Paolo Bonzini, 2013/05/30
- [Qemu-devel] [PATCH 07/22] memory: add address_space_translate, Paolo Bonzini, 2013/05/30
- [Qemu-devel] [PATCH 10/22] exec: expect mr->ops to be initialized for ROM, Paolo Bonzini, 2013/05/30