On 07/11/2020 12.28, Mark Cave-Ayland wrote: > 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 <th...@redhat.com> > Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> > --- > hw/misc/macio/macio.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c > index 51368884d0..bb601f782c 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; > }
Reviewed-by: Thomas Huth <th...@redhat.com>