From: Alexander Bulekov Date: Sat, 6 May 2023 11:21:45 +0000 (-0400) Subject: loongarch: mark loongarch_ipi_iocsr re-entrnacy safe X-Git-Tag: qemu-xen-4.19.1~61 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=48c04e42f033bf2e717052d99192fada589d62b3;p=qemu-xen.git loongarch: mark loongarch_ipi_iocsr re-entrnacy safe loongarch_ipi_iocsr MRs rely on re-entrant IO through the ipi_send function. As such, mark these MRs re-entrancy-safe. Fixes: a2e1753b80 ("memory: prevent dma-reentracy issues") Signed-off-by: Alexander Bulekov Reviewed-by: Song Gao Message-Id: <20230506112145.3563708-1-alxndr@bu.edu> Signed-off-by: Song Gao (cherry picked from commit 6d0589e0e6c64b888864a2bf980537be20389264) Signed-off-by: Michael Tokarev --- diff --git a/hw/intc/loongarch_ipi.c b/hw/intc/loongarch_ipi.c index aa4bf9eb74..40e98af2ce 100644 --- a/hw/intc/loongarch_ipi.c +++ b/hw/intc/loongarch_ipi.c @@ -215,6 +215,10 @@ static void loongarch_ipi_init(Object *obj) for (cpu = 0; cpu < MAX_IPI_CORE_NUM; cpu++) { memory_region_init_io(&s->ipi_iocsr_mem[cpu], obj, &loongarch_ipi_ops, &lams->ipi_core[cpu], "loongarch_ipi_iocsr", 0x48); + + /* loongarch_ipi_iocsr performs re-entrant IO through ipi_send */ + s->ipi_iocsr_mem[cpu].disable_reentrancy_guard = true; + sysbus_init_mmio(sbd, &s->ipi_iocsr_mem[cpu]); memory_region_init_io(&s->ipi64_iocsr_mem[cpu], obj, &loongarch_ipi64_ops,