On 28 June 2016 at 18:14, Ard Biesheuvel <ard.biesheu...@linaro.org> wrote: > Since QEMU performs cacheable accesses to guest memory when doing DMA > as part of the implementation of emulated PCI devices, guest drivers > should use cacheable accesses as well when running under KVM. Since this > essentially means that emulated PCI devices are DMA coherent, set the > 'dma-coherent' DT property on the PCIe host controller DT node. > > Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org> > --- > hw/arm/virt.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > index c5c125e9204a..6e098afd1fe5 100644 > --- a/hw/arm/virt.c > +++ b/hw/arm/virt.c > @@ -1021,6 +1021,7 @@ static void create_pcie(const VirtBoardInfo *vbi, > qemu_irq *pic, > qemu_fdt_setprop_cell(vbi->fdt, nodename, "#size-cells", 2); > qemu_fdt_setprop_cells(vbi->fdt, nodename, "bus-range", 0, > nr_pcie_buses - 1); > + qemu_fdt_setprop(vbi->fdt, nodename, "dma-coherent", NULL, 0); > > if (vbi->v2m_phandle) { > qemu_fdt_setprop_cells(vbi->fdt, nodename, "msi-parent", > -- > 2.7.4
Applied, thanks. -- PMM