[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/4] exec: reintroduce MemoryRegion caching
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 0/4] exec: reintroduce MemoryRegion caching |
Date: |
Tue, 17 Apr 2018 16:07:58 +0200 |
MemoryRegionCache was reverted to "normal" address_space_* operations
for 2.9, due to lack of support for IOMMUs. This series reinstates
optimizations, caching only the IOMMU translation but not the IOMMU
lookup and target AddressSpace translation.
Patches 1 to 3 prepare by introducing a new function
address_space_translate_iommu (split out of address_space_translate)
and new header files for declarations shared by regular and "cached"
address_space_* functions. Patch 4 uses them to introduce both
the slow path for IOMMU and MMIO cached regions, and the fast path
for RAM cached regions.
Paolo
Paolo Bonzini (4):
exec: move memory access declarations to a common header, inline
*_phys functions
exec: small changes to flatview_do_translate
exec: extract address_space_translate_iommu, fix page_mask corner case
exec: reintroduce MemoryRegion caching
exec.c | 245 ++++++++++++++++++++------
include/exec/cpu-all.h | 79 ++++-----
include/exec/memory-internal.h | 3 +
include/exec/memory.h | 209 ++++++++++------------
include/exec/memory_ldst.inc.h | 71 ++++++++
include/exec/memory_ldst_cached.inc.h | 108 ++++++++++++
include/exec/memory_ldst_phys.inc.h | 147 ++++++++++++++++
memory.c | 4 +-
memory_ldst.inc.c | 126 -------------
9 files changed, 651 insertions(+), 341 deletions(-)
create mode 100644 include/exec/memory_ldst.inc.h
create mode 100644 include/exec/memory_ldst_cached.inc.h
create mode 100644 include/exec/memory_ldst_phys.inc.h
--
2.17.0
- [Qemu-devel] [PATCH 0/4] exec: reintroduce MemoryRegion caching,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 2/4] exec: small changes to flatview_do_translate, Paolo Bonzini, 2018/04/17
- [Qemu-devel] [PATCH 3/4] exec: extract address_space_translate_iommu, fix page_mask corner case, Paolo Bonzini, 2018/04/17
- [Qemu-devel] [PATCH 4/4] exec: reintroduce MemoryRegion caching, Paolo Bonzini, 2018/04/17
- [Qemu-devel] [PATCH 1/4] exec: move memory access declarations to a common header, inline *_phys functions, Paolo Bonzini, 2018/04/17