]> Git Repo - qemu.git/commit - cputlb.c
memory: add address_space_translate
authorPaolo Bonzini <[email protected]>
Fri, 24 May 2013 10:59:37 +0000 (12:59 +0200)
committerPaolo Bonzini <[email protected]>
Wed, 29 May 2013 14:26:50 +0000 (16:26 +0200)
commit149f54b53b7666a3facd45e86eece60ce7d3b114
tree716ff4eeaca8647f328eb06730476d46adbe6bc0
parentb018ddf633f77195e9ae859c6d940a334e68879f
memory: add address_space_translate

Using phys_page_find to translate an AddressSpace to a MemoryRegionSection
is unwieldy.  It requires to pass the page index rather than the address,
and later memory_region_section_addr has to be called.  Replace
memory_region_section_addr with a function that does all of it: call
phys_page_find, compute the offset within the region, and check how
big the current mapping is.  This way, a large flat region can be written
with a single lookup rather than a page at a time.

address_space_translate will also provide a single point where IOMMU
forwarding is implemented.

Reviewed-by: Peter Maydell <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
cputlb.c
exec.c
include/exec/cputlb.h
include/exec/memory.h
translate-all.c
This page took 0.022362 seconds and 4 git commands to generate.