aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>2020-11-10 10:31:11 +0000
committerMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>2020-11-12 09:26:20 +0000
commit6bfa035ec31f4f5a14499f17e08f62e8f14760cc (patch)
tree1cd9623f00d6609c2669370fb5d4384d6e35205a /hw
parenta4c141dca466ed3e9451f147efe6304b1b659ff5 (diff)
downloadqemu-6bfa035ec31f4f5a14499f17e08f62e8f14760cc.zip
qemu-6bfa035ec31f4f5a14499f17e08f62e8f14760cc.tar.gz
qemu-6bfa035ec31f4f5a14499f17e08f62e8f14760cc.tar.bz2
macio: set user_creatable to false in macio_class_init()
Commit 348b8d1a76 "macio: don't reference serial_hd() directly within the device" removed the setting of user_creatable to false on the basis that the restriction was due to the use of serial_hd() in macio_instance_init(). Unfortunately this isn't the full story since the PIC object property links must still be set before the device is realized. Whilst it is possible to update the macio device and Mac machines to resolve this, the fix is too invasive at this point in the release cycle. For now simply set user_creatable back to false in macio_class_init() to prevent QEMU from segfaulting in anticipation of the proper fix arriving in QEMU 6.0. Reported-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20201110103111.18395-1-mark.cave-ayland@ilande.co.uk> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Diffstat (limited to 'hw')
-rw-r--r--hw/misc/macio/macio.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c
index 5136888..bb601f7 100644
--- a/hw/misc/macio/macio.c
+++ b/hw/misc/macio/macio.c
@@ -456,6 +456,8 @@ static void macio_class_init(ObjectClass *klass, void *data)
k->class_id = PCI_CLASS_OTHERS << 8;
device_class_set_props(dc, macio_properties);
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
+ /* Reason: requires PIC property links to be set in macio_*_realize() */
+ dc->user_creatable = false;
}
static const TypeInfo macio_bus_info = {