]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
loongarch: mark loongarch_ipi_iocsr re-entrnacy safe
authorAlexander Bulekov <alxndr@bu.edu>
Sat, 6 May 2023 11:21:45 +0000 (07:21 -0400)
committerMichael Tokarev <mjt@tls.msk.ru>
Sun, 10 Sep 2023 16:38:01 +0000 (19:38 +0300)
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 <alxndr@bu.edu>
Reviewed-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20230506112145.3563708-1-alxndr@bu.edu>
Signed-off-by: Song Gao <gaosong@loongson.cn>
(cherry picked from commit 6d0589e0e6c64b888864a2bf980537be20389264)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
hw/intc/loongarch_ipi.c

index aa4bf9eb747bc4bc937d0ec72e1775f70963fd70..40e98af2ce68d39cb2fc30c72437a9392e284f74 100644 (file)
@@ -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,