qemu/hw
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
..
9pfs trace: split out trace events for hw/9pfs/ directory 2016-06-20 17:22:16 +01:00
acpi -----BEGIN PGP SIGNATURE----- 2016-06-20 22:30:34 +01:00
alpha trace: split out trace events for hw/alpha/ directory 2016-06-20 17:22:17 +01:00
arm trace: split out trace events for hw/arm/ directory 2016-06-20 17:22:16 +01:00
audio -----BEGIN PGP SIGNATURE----- 2016-06-20 22:30:34 +01:00
block trace: split out trace events for hw/block/ directory 2016-06-20 17:22:15 +01:00
bt bt: rewrite csrhci_write to avoid out-of-bounds writes 2016-05-29 09:11:11 +02:00
char -----BEGIN PGP SIGNATURE----- 2016-06-20 22:30:34 +01:00
core qdev: Use GList for global properties 2016-06-17 10:42:21 -03:00
cpu cpu: Abstract CPU core type 2016-06-17 16:33:48 +10:00
cris hw/char: QOM'ify etraxfs_ser.c 2016-05-29 09:11:10 +02:00
display milkymist: fix tmu2.c build failure (missing error.h include) 2016-06-21 13:25:09 +01:00
dma trace: split out trace events for hw/dma/ directory 2016-06-20 17:22:16 +01:00
gpio hw/gpio: QOM'ify zaurus.c 2016-06-14 15:59:13 +01:00
i2c hw/i2c-ddc.c: Implement DDC I2C slave 2016-06-14 15:59:15 +01:00
i386 trace: split out trace events for hw/i386/ directory 2016-06-20 17:22:16 +01:00
ide error: Remove NULL checks on error_propagate() calls 2016-06-20 16:38:13 +02:00
input trace: split out trace events for hw/input/ directory 2016-06-20 17:22:15 +01:00
intc -----BEGIN PGP SIGNATURE----- 2016-06-20 22:30:34 +01:00
ipack ipack: Update e-mail address 2016-05-18 15:04:27 +03:00
ipmi hw/ipmi: fix spelling 2016-06-07 18:02:48 +03:00
isa trace: split out trace events for hw/isa/ directory 2016-06-20 17:22:16 +01:00
lm32 hw/char: QOM'ify milkymist-uart.c 2016-05-29 09:11:10 +02:00
m68k
mem pc-dimm: introduce realize callback 2016-06-07 15:39:28 +03:00
microblaze hw/char: QOM'ify xilinx_uartlite model 2016-06-06 16:59:32 +01:00
mips mips: use MIPSCPU instead of CPUMIPSState 2016-05-19 16:42:27 +02:00
misc -----BEGIN PGP SIGNATURE----- 2016-06-20 22:30:34 +01:00
moxie
net -----BEGIN PGP SIGNATURE----- 2016-06-20 22:30:34 +01:00
nvram trace: split out trace events for hw/nvram/ directory 2016-06-20 17:22:15 +01:00
openrisc
pci trace: split out trace events for hw/pci/ directory 2016-06-20 17:22:16 +01:00
pci-bridge fix some coding style problems 2016-06-17 03:28:03 +03:00
pci-host coccinelle: Remove unnecessary variables for function return value 2016-06-20 16:38:13 +02:00
pcmcia
ppc memory: Add reporting of supported page sizes 2016-06-22 11:13:09 +10:00
s390x -----BEGIN PGP SIGNATURE----- 2016-06-20 22:30:34 +01:00
scsi -----BEGIN PGP SIGNATURE----- 2016-06-20 22:30:34 +01:00
sd -----BEGIN PGP SIGNATURE----- 2016-06-20 22:30:34 +01:00
sh4 cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
smbios
sparc trace: split out trace events for hw/sparc/ directory 2016-06-20 17:22:16 +01:00
sparc64
ssi hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
timer -----BEGIN PGP SIGNATURE----- 2016-06-20 22:30:34 +01:00
tpm
tricore
unicore32
usb -----BEGIN PGP SIGNATURE----- 2016-06-20 22:30:34 +01:00
vfio memory: Add reporting of supported page sizes 2016-06-22 11:13:09 +10:00
virtio -----BEGIN PGP SIGNATURE----- 2016-06-20 22:30:34 +01:00
watchdog nmi: remove x86 specific nmi handling 2016-05-23 16:53:46 +02:00
xen os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00
xenpv xen: add pvUSB backend 2016-05-23 13:30:03 +02:00
xtensa replace muldiv64(a, b, c) by (uint64_t)a * b / c 2016-06-07 18:02:49 +03:00
Makefile.objs