qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] target-arm: Declare virtio-mmio as dma-coherent in dt
@ 2017-02-08 13:31 Alexander Graf
  2017-02-08 15:29 ` Laszlo Ersek
  0 siblings, 1 reply; 16+ messages in thread
From: Alexander Graf @ 2017-02-08 13:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-arm, mst

QEMU emulated hardware is always dma coherent with its guest. We do
annotate that correctly on the PCI host controller, but left out
virtio-mmio.

Recent kernels have started to interpret that flag rather than take
dma coherency as granted with virtio-mmio. While that is considered
a kernel bug, as it breaks previously working systems, it showed that
our dt description is incomplete.

This patch adds the respective marker that allows guest OSs to evaluate
that our virtio-mmio devices are indeed cache coherent.

Signed-off-by: Alexander Graf <agraf@suse.de>
---
 hw/arm/vexpress.c | 1 +
 hw/arm/virt.c     | 1 +
 2 files changed, 2 insertions(+)

diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c
index 58760f4..e057568 100644
--- a/hw/arm/vexpress.c
+++ b/hw/arm/vexpress.c
@@ -452,6 +452,7 @@ static int add_virtio_mmio_node(void *fdt, uint32_t acells, uint32_t scells,
                                        acells, addr, scells, size);
     qemu_fdt_setprop_cells(fdt, nodename, "interrupt-parent", intc);
     qemu_fdt_setprop_cells(fdt, nodename, "interrupts", 0, irq, 1);
+    qemu_fdt_setprop(fdt, nodename, "dma-coherent", NULL, 0);
     g_free(nodename);
     if (rc) {
         return -1;
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 1f216cf..14881fa 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -797,6 +797,7 @@ static void create_virtio_devices(const VirtMachineState *vms, qemu_irq *pic)
         qemu_fdt_setprop_cells(vms->fdt, nodename, "interrupts",
                                GIC_FDT_IRQ_TYPE_SPI, irq,
                                GIC_FDT_IRQ_FLAGS_EDGE_LO_HI);
+        qemu_fdt_setprop(vms->fdt, nodename, "dma-coherent", NULL, 0);
         g_free(nodename);
     }
 }
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2017-02-10  1:40 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-08 13:31 [Qemu-devel] [PATCH] target-arm: Declare virtio-mmio as dma-coherent in dt Alexander Graf
2017-02-08 15:29 ` Laszlo Ersek
2017-02-08 16:12   ` Alexander Graf
2017-02-08 16:17     ` Laszlo Ersek
2017-02-08 16:27       ` Ard Biesheuvel
2017-02-08 18:23         ` [Qemu-devel] [Qemu-arm] " Peter Maydell
2017-02-08 18:47           ` Laszlo Ersek
2017-02-09 12:04             ` Heyi Guo
2017-02-10  1:40               ` Alex Hung
2017-02-09 10:35           ` Ard Biesheuvel
2017-02-09 12:24       ` [Qemu-devel] " Alexander Graf
2017-02-09 12:30         ` Ard Biesheuvel
2017-02-09 12:43           ` Alexander Graf
2017-02-09 12:41         ` Andrew Jones
2017-02-09 12:29       ` Alexander Graf
2017-02-09 12:31         ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).