• Avi Kivity's avatar
    memory: iommu support · 30951157
    Avi Kivity authored
    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: default avatarPeter Maydell <peter.maydell@linaro.org>
    Signed-off-by: default avatarAvi Kivity <avi.kivity@gmail.com>
    [Modified to put translation in address_space_translate; assume
     IOMMUs are not reachable from TCG. - Paolo]
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
memory.c 56.3 KB