qemu-e2k/hw
Eric Auger 32cfd7f39e hw/arm/smmuv3: Cache/invalidate config data
Let's cache config data to avoid fetching and parsing STE/CD
structures on each translation. We invalidate them on data structure
invalidation commands.

We put in place a per-smmu mutex to protect the config cache. This
will be useful too to protect the IOTLB cache. The caches can be
accessed without BQL, ie. in IO dataplane. The same kind of mutex was
put in place in the intel viommu.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1529653501-15358-3-git-send-email-eric.auger@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2018-06-26 17:50:42 +01:00
..
9pfs 9p: xattr: Properly translate xattrcreate flags 2018-06-07 12:17:22 +02:00
acpi nvdimm: make persistence option symbolic 2018-06-11 22:19:57 +03:00
adc
alpha iommu: Add IOMMU index argument to translate method 2018-06-15 15:23:34 +01:00
arm hw/arm/smmuv3: Cache/invalidate config data 2018-06-26 17:50:42 +01:00
audio audio/hda: enable new timer code by default. 2018-06-25 13:57:57 +02:00
block Block layer patches: 2018-06-15 16:30:27 +01:00
bt
char hw/char/parallel: Convert away from old_mmio 2018-06-15 15:23:34 +01:00
core Revert "bus: do not unref the added child bus on realize" 2018-06-18 09:15:51 +02:00
cpu
cris
display sm501: Fix hardware cursor color conversion 2018-06-21 21:22:53 +10:00
dma hw/dma/omap_dma: Use qemu_log_mask(GUEST_ERROR) instead of fprintf 2018-06-26 17:50:40 +01:00
gpio
hppa
i2c hw/i2c/omap_i2c: Use qemu_log_mask(UNIMP) instead of fprintf 2018-06-26 17:50:40 +01:00
i386 hw/i386: Deprecate the machine types pc-0.10 and pc-0.11 2018-06-25 14:10:01 -03:00
ide ahci: fix FIS I bit and PIO Setup FIS interrupt 2018-06-25 16:50:48 -04:00
input hw/input/tsc2005: Use qemu_log_mask(GUEST_ERROR) instead of fprintf 2018-06-26 17:50:40 +01:00
intc hw/intc/arm_gicv3_kvm: Get prepared to handle multiple redist regions 2018-06-22 13:28:36 +01:00
ipack
ipmi object: fix OBJ_PROP_LINK_UNREF_ON_RELEASE ambivalence 2018-06-12 12:07:30 +02:00
isa hw/isa/smc37c669: Change the parallel I/O base to 378H 2018-06-16 19:46:54 -10:00
lm32
m68k hw/m68k/mcf5206: Convert away from old_mmio 2018-06-15 15:23:34 +01:00
mem
microblaze
mips hw/mips/boston: Add trailing '\n' to qemu_log() calls 2018-06-08 13:15:33 +01:00
misc hw/misc/iotkit-secctl.c: Implement SECMPCINTSTATUS 2018-06-22 13:28:40 +01:00
moxie
net hw/net/smc91c111: Use qemu_log_mask(UNIMP) instead of fprintf 2018-06-26 17:50:41 +01:00
nios2
nvram
openrisc
pci
pci-bridge
pci-host uninorth: remove token register from uninorth device 2018-06-12 09:33:52 +10:00
pcmcia
ppc spapr: Don't rewrite mmu capabilities in KVM mode 2018-06-22 14:19:07 +10:00
rdma
riscv
s390x s390x/ipl: Try to detect Linux vs non Linux for initial IPL PSW 2018-06-18 10:50:32 +02:00
scsi block: Remove deprecated -drive option serial 2018-06-15 14:49:44 +02:00
sd hw/sd/omap_mmc: Use qemu_log_mask(UNIMP) instead of printf 2018-06-26 17:50:40 +01:00
sh4 hw/sh/sh7750: Convert away from old_mmio 2018-06-15 15:23:34 +01:00
smbios
sparc hw/sparc/sun4m: Fix problems with device introspection 2018-06-17 11:12:53 +01:00
sparc64 hw/sparc64/sun4u: Fix introspection by converting prom instance_init to realize 2018-06-17 11:12:41 +01:00
ssi hw/ssi/omap_spi: Use qemu_log_mask(GUEST_ERROR) instead of fprintf 2018-06-26 17:50:40 +01:00
timer hw/digic: Add trailing '\n' to qemu_log() calls 2018-06-08 13:15:33 +01:00
tpm
tricore
unicore32
usb Revert "usb: release the created buses" 2018-06-18 09:15:51 +02:00
vfio vfio-ccw: add force unlimited prefetch property 2018-06-18 10:50:32 +02:00
virtio iommu: Add IOMMU index argument to notifier APIs 2018-06-15 15:23:34 +01:00
watchdog hw/watchdog/wdt_i6300esb: Convert away from old_mmio 2018-06-15 15:23:34 +01:00
xen xen: Don't use memory_region_init_ram_nomigrate() in pci_assign_dev_load_option_rom() 2018-06-22 13:28:42 +01:00
xenpv
xtensa
Makefile.objs