[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] target-arm: Declare virtio-mmio as dma-coherent in
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PATCH] target-arm: Declare virtio-mmio as dma-coherent in dt |
Date: |
Wed, 8 Feb 2017 14:31:52 +0100 |
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 <address@hidden>
---
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
- [Qemu-devel] [PATCH] target-arm: Declare virtio-mmio as dma-coherent in dt,
Alexander Graf <=
- Re: [Qemu-devel] [PATCH] target-arm: Declare virtio-mmio as dma-coherent in dt, Laszlo Ersek, 2017/02/08
- Re: [Qemu-devel] [PATCH] target-arm: Declare virtio-mmio as dma-coherent in dt, Alexander Graf, 2017/02/08
- Re: [Qemu-devel] [PATCH] target-arm: Declare virtio-mmio as dma-coherent in dt, Laszlo Ersek, 2017/02/08
- Re: [Qemu-devel] [PATCH] target-arm: Declare virtio-mmio as dma-coherent in dt, Ard Biesheuvel, 2017/02/08
- Re: [Qemu-devel] [Qemu-arm] [PATCH] target-arm: Declare virtio-mmio as dma-coherent in dt, Peter Maydell, 2017/02/08
- Re: [Qemu-devel] [Qemu-arm] [PATCH] target-arm: Declare virtio-mmio as dma-coherent in dt, Laszlo Ersek, 2017/02/08
- Re: [Qemu-devel] [Qemu-arm] [PATCH] target-arm: Declare virtio-mmio as dma-coherent in dt, Heyi Guo, 2017/02/09
- Re: [Qemu-devel] [Qemu-arm] [PATCH] target-arm: Declare virtio-mmio as dma-coherent in dt, Alex Hung, 2017/02/10
- Re: [Qemu-devel] [Qemu-arm] [PATCH] target-arm: Declare virtio-mmio as dma-coherent in dt, Ard Biesheuvel, 2017/02/09
- Re: [Qemu-devel] [PATCH] target-arm: Declare virtio-mmio as dma-coherent in dt, Alexander Graf, 2017/02/09