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 exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
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
cpu_ldst.h softmmu: remove now unused functions 2015-09-11 08:16:05 -07:00
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
cputlb.h include/exec: Move cputlb exec.c defs out 2015-09-16 17:33:33 +02:00
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 trace: [tcg] Include TCG-tracing helpers 2014-08-12 14:26:12 +01:00
helper-head.h include: poison symbols in osdep.h 2016-05-19 16:42:28 +02:00
helper-proto.h trace: [tcg] Include TCG-tracing helpers 2014-08-12 14:26:12 +01:00
helper-tcg.h trace: [tcg] Include TCG-tracing helpers 2014-08-12 14:26:12 +01:00
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: unregister AddressSpace MemoryListener within BQL 2015-02-10 10:25:44 -07:00
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 semihosting: add --semihosting-config arg sub-argument 2015-06-19 14:17:45 +01:00
softmmu-semi.h include/exec/softmmu-semi.h: Add support for 64-bit values 2015-09-07 10:39:27 +01:00
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