qemu/include/exec
Avi Kivity 3095115744 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>
2013-06-20 16:32:47 +02:00
..
user elfload: use abi_llong/ullong instead of target_llong/ullong 2013-04-18 14:12:31 +02:00
address-spaces.h exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
cpu-all.h cpu: Pass CPUState to cpu_interrupt() 2013-03-12 10:35:55 +01:00
cpu-common.h exec: make io_mem_unassigned private 2013-05-29 16:26:41 +02:00
cpu-defs.h tcg: Use QEMU_BUILD_BUG_ON for CPU_TLB_ENTRY_BITS 2013-06-05 05:54:00 -07:00
cputlb.h exec: Resolve subpages in one step except for IOTLB fills 2013-06-20 16:32:46 +02:00
def-helper.h exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
exec-all.h tcg/aarch64: implement new TCG target for aarch64 2013-06-12 16:20:22 +01:00
gdbstub.h cpu: Move host_tid field to CPUState 2013-02-16 14:50:59 +01:00
gen-icount.h tcg: Don't make exitreq flag a local temporary 2013-03-09 18:16:43 +01:00
hwaddr.h exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
ioport.h exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
iorange.h exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
memory-internal.h memory: move private types to exec.c 2013-06-20 16:32:46 +02:00
memory.h memory: iommu support 2013-06-20 16:32:47 +02:00
poison.h exec: eliminate stq_phys_notdirty 2013-05-24 18:42:27 +02:00
softmmu_defs.h exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
softmmu_exec.h exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
softmmu_header.h exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
softmmu_template.h memory: propagate errors on I/O dispatch 2013-05-29 16:27:32 +02:00
softmmu-semi.h exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
spinlock.h exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00