diff options
| author | Paolo Bonzini | 2013-05-24 12:59:37 +0200 |
|---|---|---|
| committer | Paolo Bonzini | 2013-05-29 16:26:50 +0200 |
| commit | 149f54b53b7666a3facd45e86eece60ce7d3b114 (patch) | |
| tree | 716ff4eeaca8647f328eb06730476d46adbe6bc0 /include/exec/cpu-common.h | |
| parent | memory: dispatch unassigned accesses based on .valid.accepts (diff) | |
| download | qemu-149f54b53b7666a3facd45e86eece60ce7d3b114.tar.gz qemu-149f54b53b7666a3facd45e86eece60ce7d3b114.tar.xz qemu-149f54b53b7666a3facd45e86eece60ce7d3b114.zip | |
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 <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/exec/cpu-common.h')
0 files changed, 0 insertions, 0 deletions
