qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 3/5] PXB: convert to realize()


From: Cao jin
Subject: Re: [Qemu-devel] [PATCH 3/5] PXB: convert to realize()
Date: Tue, 22 Dec 2015 17:16:20 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0



On 12/22/2015 03:34 PM, Marcel Apfelbaum wrote:
On 12/22/2015 05:58 AM, Cao jin wrote:


On 12/21/2015 11:49 PM, Paolo Bonzini wrote:


On 20/12/2015 12:38, Cao jin wrote:

+    object_unref(OBJECT(ds));
+    object_unref(OBJECT(bds));
+    object_unref(OBJECT(bus));

I think these should be object_unparent, not unref.


But, it seems these 3 objects isn`t added as a child-property via
object_property_add_child() during creation, so OBJECT(ds)->parent(so
does the other 2) will be NULL, and so object_unparent will do nothing?

qdev_init_nofail adds them (qdev_init_nofail -> object_property_set_bool
-> device_set_realized -> object_property_add_child).

If you haven't reached qdev_init_nofail, you should indeed unref ds and
bds instead.  However, the bus should be unparented because pci_bus_new
makes it a child of ds (pci_bus_new -> qbus_create -> qbus_realize ->
object_property_add_child).


Yes...that`s true.

and @Marcel, I think maybe this is final decision?


I say add a debug trace line before pxb_register_bus (or use the debugger)
and check ds->parent, bds->parent and bus->parent.


uh..sorry I don`t get it, what does the debug trace line/use debugger mean?

Run the qemu with -device pxb,bus=80,... and for every one that its parent
is not null add unparent. :)

don`t get it too, could you detail it?


Thanks,
Marcel





Paolo


.







--
Yours Sincerely,

Cao Jin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]