diff options
author | Alexander Bulekov <alxndr@bu.edu> | 2023-04-27 17:10:11 -0400 |
---|---|---|
committer | Michael Tokarev <mjt@tls.msk.ru> | 2023-09-10 19:38:01 +0300 |
commit | 83d080e85ae769dddf67118b420ec39bfcc3323f (patch) | |
tree | a20183271ca2385724b9c7343ff6fa1fc6b487fd | |
parent | 0f0fb19d2bae3a5184fdbfcaa5de24f6ce759042 (diff) | |
download | qemu-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.c | 7 |
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); } |