[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in
From: |
Peter Maydell |
Subject: |
Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via |
Date: |
Mon, 9 Mar 2020 10:10:07 +0000 |
On Mon, 9 Mar 2020 at 10:02, Pan Nengyuan <address@hidden> wrote:
> On 3/9/2020 5:21 PM, Peter Maydell wrote:
> > Could you explain more? My thought is that we should be using
> > sysbus_init_child_obj() and we should be doing it in the init method.
> > Why does that break the tests ? It's the same thing various other
> > devices do.
>
> device-introspect-test do the follow check for each device type:
>
> qtree_start = qtest_hmp(qts, "info qtree");
> ...
> qtest_qmp(qts, "{'execute': 'device-list-properties','arguments':
> {'typename': %s}}", type);
> ...
> qtree_end = qtest_hmp(qts, "info qtree");
> g_assert_cmpstr(qtree_start, ==, qtree_end);
>
> If we do qdev_set_parent_bus in init, it will check fail when type =
> 'mac_via'.
> mac_via_init() is called by q800_init(). But it will not be called in
> qtest(-machine none) in the step qtree_start.
> And after we call 'device-list-properties', mac_via_init() was called and set
> dev parent bus. We can find these
> devices in the qtree_end. So it break the test on the assert.
Markus, do you know what's happening here? Why is
trying to use sysbus_init_child_obj() breaking the
device-introspect-test for this particular device,
but fine for the other places where we use it?
(Maybe we're accidentally leaking a reference to
something so the sub-device stays on the sysbus
when it should have removed itself when the
device was deinited ?)
> Here is the output:
>
> # Testing device 'mac_via'
> adb.0=<child<apple-desktop-bus>>
> drive=<str> - Node name or ID of a block device to use as a
> backend
> irq[0]=<link<irq>>
> irq[1]=<link<irq>>
> mac-via[0]=<child<qemu:memory-region>>
> via1=<child<mos6522-q800-via1>>
> via1[0]=<child<qemu:memory-region>>
> via2=<child<mos6522-q800-via2>>
> via2[0]=<child<qemu:memory-region>>
> qtree_start: bus: main-system-bus
> type System
>
> qtree_end: bus: main-system-bus
> type System
> dev: mos6522-q800-via2, id ""
> gpio-in "via2-irq" 8
> gpio-out "sysbus-irq" 1
> frequency = 0 (0x0)
> mmio ffffffffffffffff/0000000000000010
> dev: mos6522-q800-via1, id ""
> gpio-in "via1-irq" 8
> gpio-out "sysbus-irq" 1
> frequency = 0 (0x0)
> mmio ffffffffffffffff/0000000000000010
thanks
-- PMM
- [PATCH v4 1/3] s390x: fix memleaks in cpu_finalize, (continued)
- [PATCH v4 1/3] s390x: fix memleaks in cpu_finalize, Pan Nengyuan, 2020/03/05
- [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Pan Nengyuan, 2020/03/05
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Pan Nengyuan, 2020/03/05
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Pan Nengyuan, 2020/03/05
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Peter Maydell, 2020/03/08
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Pan Nengyuan, 2020/03/08
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Peter Maydell, 2020/03/09
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Pan Nengyuan, 2020/03/09
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via,
Peter Maydell <=
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Markus Armbruster, 2020/03/09
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Pan Nengyuan, 2020/03/09
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Markus Armbruster, 2020/03/09
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Mark Cave-Ayland, 2020/03/09
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Pan Nengyuan, 2020/03/09
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Markus Armbruster, 2020/03/10
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Peter Maydell, 2020/03/10
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, BALATON Zoltan, 2020/03/10
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Mark Cave-Ayland, 2020/03/14
- Re: [PATCH v4 2/3] mac_via: fix incorrect creation of mos6522 device in mac_via, Paolo Bonzini, 2020/03/14