From: Thomas Huth <thuth@redhat.com>
To: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
armbru@redhat.com, david@gibson.dropbear.id.au,
atar4qemu@gmail.com, qemu-devel@nongnu.org, qemu-ppc@nongnu.org
Subject: Re: [PATCH v2 5/6] macio: don't reference serial_hd() directly within the device
Date: Thu, 5 Nov 2020 06:31:22 +0100 [thread overview]
Message-ID: <19068e17-21f0-75a5-f7df-1b11404008c6@redhat.com> (raw)
In-Reply-To: <24aca485-fe87-8aab-7554-ba8dc1a3bbb3@ilande.co.uk>
On 04/11/2020 20.29, Mark Cave-Ayland wrote:
> On 04/11/2020 12:47, Thomas Huth wrote:
>
>> On 26/09/2020 16.02, Mark Cave-Ayland wrote:
>>> Instead use qdev_prop_set_chr() to configure the ESCC serial chardevs at the
>>> Mac Old World and New World machine level.
>>>
>>> Also remove the now obsolete comment referring to the use of serial_hd() and
>>> the setting of user_creatable to false accordingly.
>>>
>>> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
>>> ---
>>> hw/misc/macio/macio.c | 4 ----
>>> hw/ppc/mac_newworld.c | 6 ++++++
>>> hw/ppc/mac_oldworld.c | 6 ++++++
>>> 3 files changed, 12 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c
>>> index 679722628e..51368884d0 100644
>>> --- a/hw/misc/macio/macio.c
>>> +++ b/hw/misc/macio/macio.c
>>> @@ -109,8 +109,6 @@ static void macio_common_realize(PCIDevice *d, Error
>>> **errp)
>>> qdev_prop_set_uint32(DEVICE(&s->escc), "disabled", 0);
>>> qdev_prop_set_uint32(DEVICE(&s->escc), "frequency", ESCC_CLOCK);
>>> qdev_prop_set_uint32(DEVICE(&s->escc), "it_shift", 4);
>>> - qdev_prop_set_chr(DEVICE(&s->escc), "chrA", serial_hd(0));
>>> - qdev_prop_set_chr(DEVICE(&s->escc), "chrB", serial_hd(1));
>>> qdev_prop_set_uint32(DEVICE(&s->escc), "chnBtype", escc_serial);
>>> qdev_prop_set_uint32(DEVICE(&s->escc), "chnAtype", escc_serial);
>>> if (!qdev_realize(DEVICE(&s->escc), BUS(&s->macio_bus), errp)) {
>>> @@ -458,8 +456,6 @@ 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: Uses serial_hds in macio_instance_init */
>>> - dc->user_creatable = false;
>>> }
>>
>> Hi Mark,
>>
>> the macio device can now be used to crash QEMU:
>>
>> $ ./qemu-system-ppc -M sam460ex -device macio-newworld
>> Segmentation fault (core dumped)
>>
>> I guess we should either restore the user_creatable flag or add some sanity
>> checks elsewhere?
>
> (goes and looks)
>
> Ah okay it appears to be because the object property link to the PIC is
> missing, which is to be expected as it is only present on the Mac machines.
>
> With the latest round of QOM updates I can see the solution but it's
> probably a bit much now that we've reached rc-0. The easiest thing for the
> moment is to switch user_creatable back to false if this is causing an issue.
+1 for setting user_creatable back to false ... can you send a patch or
shall I prepare one?
> Just out of interest how did you find this? My new workflow involves a local
> "make check" with all ppc targets and a pass through Travis-CI and it didn't
> show up there for me (or indeed Peter's pre-merge tests).
I've found it with the scripts/device-crash-test script. (You currently need
to apply Eduardo's patch "Check if path is actually an executable file" on
top first to run it)
Thomas
next prev parent reply other threads:[~2020-11-05 5:32 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-26 14:02 [PATCH v2 0/6] QOM minor fixes Mark Cave-Ayland
2020-09-26 14:02 ` [PATCH v2 1/6] sparc32-dma: use object_initialize_child() for espdma and ledma child objects Mark Cave-Ayland
2020-09-26 14:02 ` [PATCH v2 2/6] sparc32-ledma: use object_initialize_child() for lance child object Mark Cave-Ayland
2020-09-26 14:02 ` [PATCH v2 3/6] sparc32-espdma: use object_initialize_child() for esp " Mark Cave-Ayland
2020-09-26 14:02 ` [PATCH v2 4/6] sparc32-ledma: don't reference nd_table directly within the device Mark Cave-Ayland
2020-09-26 20:11 ` Philippe Mathieu-Daudé
2020-09-26 14:02 ` [PATCH v2 5/6] macio: don't reference serial_hd() " Mark Cave-Ayland
2020-11-04 12:47 ` Thomas Huth
2020-11-04 14:16 ` BALATON Zoltan via
2020-11-04 14:24 ` BALATON Zoltan via
2020-11-04 14:51 ` Thomas Huth
2020-11-05 6:29 ` Markus Armbruster
2020-11-04 19:29 ` Mark Cave-Ayland
2020-11-05 5:31 ` Thomas Huth [this message]
2020-11-06 7:35 ` Mark Cave-Ayland
2020-11-09 10:02 ` Thomas Huth
2020-11-10 9:03 ` Mark Cave-Ayland
2020-09-26 14:02 ` [PATCH v2 6/6] sabre: don't call sysbus_mmio_map() in sabre_realize() Mark Cave-Ayland
2020-10-21 9:18 ` [PATCH v2 0/6] QOM minor fixes Mark Cave-Ayland
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=19068e17-21f0-75a5-f7df-1b11404008c6@redhat.com \
--to=thuth@redhat.com \
--cc=armbru@redhat.com \
--cc=atar4qemu@gmail.com \
--cc=david@gibson.dropbear.id.au \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).