aboutsummaryrefslogtreecommitdiff
path: root/hw/ssi/xlnx-versal-ospi.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/ssi/xlnx-versal-ospi.c')
-rw-r--r--hw/ssi/xlnx-versal-ospi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/hw/ssi/xlnx-versal-ospi.c b/hw/ssi/xlnx-versal-ospi.c
index c7b95b1f37..c479138ec1 100644
--- a/hw/ssi/xlnx-versal-ospi.c
+++ b/hw/ssi/xlnx-versal-ospi.c
@@ -1772,6 +1772,12 @@ static void xlnx_versal_ospi_init(Object *obj)
memory_region_init_io(&s->iomem_dac, obj, &ospi_dac_ops, s,
TYPE_XILINX_VERSAL_OSPI "-dac", 0x20000000);
sysbus_init_mmio(sbd, &s->iomem_dac);
+ /*
+ * The OSPI DMA reads flash data through the OSPI linear address space (the
+ * iomem_dac region), because of this the reentrancy guard needs to be
+ * disabled.
+ */
+ s->iomem_dac.disable_reentrancy_guard = true;
sysbus_init_irq(sbd, &s->irq);