v2: In the optimization patch, factor out section_covers_addr() and use it.
[Paolo, Peter]
Check "ram_block == NULL" in patch 3. [Gonglei]
Add Gonglei's rev-by in patches 1, 2, 4 and 5.
The first four patches drop ram_addr from MemoryRegion on top of Gonglei's
optimization.
The next patch simplifies qemu_ram_free a bit by passing the RAMBlock pointer.
The last patch speeds up address_space_translate with a cache pointer inside
the AddressSpaceDispatch.
Fam Zheng (7):
exec: Return RAMBlock pointer from allocating functions
memory: Move assignment to ram_block to memory_region_init_*
memory: Implement memory_region_get_ram_addr with mr->ram_block
memory: Drop MemoryRegion.ram_addr
exec: Pass RAMBlock pointer to qemu_ram_free
exec: Factor out section_covers_addr
exec: Introduce AddressSpaceDispatch.mru_section
cputlb.c | 4 +-
exec.c | 106 +++++++++++++++++++++++++-----------------------
hw/misc/ivshmem.c | 9 ++--
include/exec/memory.h | 9 +---
include/exec/ram_addr.h | 24 +++++------
kvm-all.c | 3 +-
memory.c | 56 ++++++++++++++-----------
7 files changed, 111 insertions(+), 100 deletions(-)
--
2.4.3