qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH RFC 0/3] qom: Generalize qdev init to "realize"


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH RFC 0/3] qom: Generalize qdev init to "realize"
Date: Tue, 27 Mar 2012 18:46:06 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1

Il 27/03/2012 18:33, Peter Maydell ha scritto:
>> > Yes, I haven't reviewed this series yet, but my expectation would be that
>> > realize propagates and that the default implementation of
>> > DeviceClass::realize() would explicitly *not* propagate and instead just
>> > call ::init.
> So who calls realize for non-qdev QOM objects which are children of
> qdev QOM objects?
> 
> I really don't like having the object lifecycle methods be different
> for DeviceClass than for base objects if we can avoid it.

The way I read it was that the "realize" property propagates to the
children and calls either the "realize" or "reset" method (in the
appropriate order).

DeviceClass::realize() would also do other things done currently by
qdev_init, such as register vmstate, so there would still be a
separation between DeviceClass::realize and DeviceClass::init (we do not
want yet another pass through the whole tree).

qdev_init would be a thin wrapper around object_realize that takes care
of freeing the object when init fails.

Is this correct?

Paolo



reply via email to

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