aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Bulekov <alxndr@bu.edu>2023-04-27 17:10:11 -0400
committerMichael Tokarev <mjt@tls.msk.ru>2023-09-10 19:38:01 +0300
commit83d080e85ae769dddf67118b420ec39bfcc3323f (patch)
treea20183271ca2385724b9c7343ff6fa1fc6b487fd
parent0f0fb19d2bae3a5184fdbfcaa5de24f6ce759042 (diff)
downloadqemu-83d080e85ae769dddf67118b420ec39bfcc3323f.zip
qemu-83d080e85ae769dddf67118b420ec39bfcc3323f.tar.gz
qemu-83d080e85ae769dddf67118b420ec39bfcc3323f.tar.bz2
bcm2835_property: disable reentrancy detection for iomem
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>
-rw-r--r--hw/misc/bcm2835_property.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/hw/misc/bcm2835_property.c b/hw/misc/bcm2835_property.c
index 890ae7b..de056ea 100644
--- a/hw/misc/bcm2835_property.c
+++ b/hw/misc/bcm2835_property.c
@@ -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);
}