qemu-e2k/include/exec
Alexey Kardashevskiy f682e9c244 memory: Add reporting of supported page sizes
Every IOMMU has some granularity which MemoryRegionIOMMUOps::translate
uses when translating, however this information is not available outside
the translate context for various checks.

This adds a get_min_page_size callback to MemoryRegionIOMMUOps and
a wrapper for it so IOMMU users (such as VFIO) can know the minimum
actual page size supported by an IOMMU.

As IOMMU MR represents a guest IOMMU, this uses TARGET_PAGE_SIZE
as fallback.

This removes vfio_container_granularity() and uses new helper in
memory_region_iommu_replay() when replaying IOMMU mappings on added
IOMMU memory region.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Alex Williamson <alex.williamson@redhat.com>
[dwg: Removed an unnecessary calculation]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-22 11:13:09 +10:00
..
user thunk: Rename args and fields in host-target bitmask conversion code 2016-06-07 18:19:24 +03:00
address-spaces.h
cpu_ldst_template.h trace: [all] Add "guest_mem_before" event 2016-06-20 17:21:56 +01:00
cpu_ldst_useronly_template.h trace: [all] Add "guest_mem_before" event 2016-06-20 17:21:56 +01:00
cpu_ldst.h
cpu-all.h qemu-common.h: Drop WORDS_ALIGNED define 2016-06-07 18:19:24 +03:00
cpu-common.h memory: split memory_region_from_host from qemu_ram_addr_from_host 2016-05-29 09:11:12 +02:00
cpu-defs.h qemu-common: stop including qemu/host-utils.h from qemu-common.h 2016-05-19 16:42:28 +02:00
cputlb.h
exec-all.h tb hash: track translated blocks with qht 2016-06-11 17:11:16 -07:00
gdbstub.h linux-user: Remove redundant gdb_queuesig() 2016-06-07 16:39:07 +03:00
gen-icount.h gen-icount: Use tcg_set_insn_param 2016-05-12 13:22:26 +01:00
helper-gen.h
helper-head.h include: poison symbols in osdep.h 2016-05-19 16:42:28 +02:00
helper-proto.h
helper-tcg.h
hwaddr.h hw: Clean up includes 2016-06-07 18:19:23 +03:00
ioport.h hw: clean up hw/hw.h includes 2016-05-19 16:42:30 +02:00
log.h log: do not unnecessarily include qom/cpu.h 2016-02-03 09:19:10 +00:00
memattrs.h hw/pci: Introduce pci_requester_id() 2015-10-19 10:13:07 +02:00
memory-internal.h
memory.h memory: Add reporting of supported page sizes 2016-06-22 11:13:09 +10:00
poison.h cpu: move endian-dependent load/store functions to cpu-all.h 2016-05-19 16:42:28 +02:00
ram_addr.h memory: remove qemu_get_ram_fd, qemu_set_ram_fd, qemu_ram_block_host_ptr 2016-05-29 09:11:12 +02:00
semihost.h
softmmu-semi.h
tb-context.h tb hash: track translated blocks with qht 2016-06-11 17:11:16 -07:00
tb-hash-xx.h exec: add tb_hash_func5, derived from xxhash 2016-06-11 23:10:18 +00:00
tb-hash.h tb hash: track translated blocks with qht 2016-06-11 17:11:16 -07:00