[RFC,v5,6/8] hw/arm/virt: Add tlbi-on-map property to the smmuv3 node
diff mbox

Message ID 1499633493-19865-7-git-send-email-eric.auger@redhat.com
State New
Headers show

Commit Message

Auger Eric July 9, 2017, 8:51 p.m. UTC
For VFIO integration we need to update physical IOMMU mappings
each time the guest updates the vIOMMU translation structures.
For that, we rely on a special smmuv3 option, "tlbi-on-map"
which forces TLB invalidations on map (this mode is similar to
the Intel VTD caching Mode). The smmuv3 driver then sends
SMMU_CMD_TLBI_NH_VA commands, upon which we will update the physical

Signed-off-by: Eric Auger <eric.auger@redhat.com>
 hw/arm/virt.c | 1 +
 1 file changed, 1 insertion(+)

diff mbox

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 3651e41..9b72e8a 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1034,6 +1034,7 @@  static void create_smmu(const VirtMachineState *vms, qemu_irq *pic)
     qemu_fdt_setprop_cell(vms->fdt, smmu, "clocks", vms->clock_phandle);
     qemu_fdt_setprop_string(vms->fdt, smmu, "clock-names", "apb_pclk");
     qemu_fdt_setprop(vms->fdt, smmu, "dma-coherent", NULL, 0);
+    qemu_fdt_setprop(vms->fdt, smmu, "tlbi-on-map", NULL, 0);
     qemu_fdt_setprop_cell(vms->fdt, smmu, "#iommu-cells", 1);