]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
bcm2835_property: disable reentrancy detection for iomem
authorAlexander Bulekov <alxndr@bu.edu>
Thu, 27 Apr 2023 21:10:11 +0000 (17:10 -0400)
committerMichael Tokarev <mjt@tls.msk.ru>
Sun, 10 Sep 2023 16:38:01 +0000 (19:38 +0300)
As the code is designed for re-entrant calls from bcm2835_property to
bcm2835_mbox and back into bcm2835_property, mark iomem as
reentrancy-safe.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20230427211013.2994127-7-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>
(cherry picked from commit 985c4a4e547afb9573b6bd6843d20eb2c3d1d1cd)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
hw/misc/bcm2835_property.c

index 890ae7bae56c628b6bebe773cba9289bd4bf706c..de056ea2df89aeaf3d8c77b770b89c2ccef74e50 100644 (file)
@@ -382,6 +382,13 @@ static void bcm2835_property_init(Object *obj)
 
     memory_region_init_io(&s->iomem, OBJECT(s), &bcm2835_property_ops, s,
                           TYPE_BCM2835_PROPERTY, 0x10);
+
+    /*
+     * bcm2835_property_ops call into bcm2835_mbox, which in-turn reads from
+     * iomem. As such, mark iomem as re-entracy safe.
+     */
+    s->iomem.disable_reentrancy_guard = true;
+
     sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->iomem);
     sysbus_init_irq(SYS_BUS_DEVICE(s), &s->mbox_irq);
 }