]> git.proxmox.com Git - mirror_qemu.git/commit - include/exec/memory.h
memory: iommu support
authorAvi Kivity <avi.kivity@gmail.com>
Tue, 30 Oct 2012 11:47:46 +0000 (13:47 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 20 Jun 2013 14:32:47 +0000 (16:32 +0200)
commit30951157441aed950ad8ca326500b4986d431c7a
treea5b3ba2434175eb5e87b533d4791038d33ac73a0
parent052e87b073cb70afcd767d32f45af2794a5a65de
memory: iommu support

Add a new memory region type that translates addresses it is given,
then forwards them to a target address space.  This is similar to
an alias, except that the mapping is more flexible than a linear
translation and trucation, and also less efficient since the
translation happens at runtime.

The implementation uses an AddressSpace mapping the target region to
avoid hierarchical dispatch all the way to the resolved region; only
iommu regions are looked up dynamically.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Avi Kivity <avi.kivity@gmail.com>
[Modified to put translation in address_space_translate; assume
 IOMMUs are not reachable from TCG. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
exec.c
include/exec/memory.h
memory.c