This patchset removes I/O dispatch through CPU{Read,Write}Func and replaces it with direct dispatch through MemoryRegions (except for MemoryRegionOps::old_mmio, of course).
Avi Kivity (16): memory: move endianness compensation to memory core exec: make phys_page_find() return a temporary memory: move mmio access to functions memory: remove MemoryRegion::backend_registered Fix wrong region_offset when overlaying a page with another Avoid range comparisons on io index types Uninline get_page_addr_code() Convert IO_MEM_{RAM,ROM,UNASSIGNED,NOTDIRTY} to MemoryRegions Switch cpu_register_physical_memory_log() to use MemoryRegions Convert the subpage wrapper to be a MemoryRegion Convert IO_MEM_SUBPAGE_RAM to be a MemoryRegion Convert io_mem_watch to be a MemoryRegion Direct dispatch through MemoryRegion Remove IO_MEM_SUBPAGE Drop IO_MEM_ROMD Remove IO_MEM_SHIFT cpu-all.h | 2 +- cpu-common.h | 15 +- exec-all.h | 33 +-- exec-obsolete.h | 29 +-- exec.c | 889 ++++++++++++++++++---------------------------------- memory.c | 188 +++++------- memory.h | 3 +- softmmu_template.h | 33 ++- 8 files changed, 418 insertions(+), 774 deletions(-) -- 1.7.7.1