Peter Maydell <[email protected]> writes:
> On Fri, 23 Oct 2026 at 12:08, Daniel P. Berrangé <[email protected]> wrote:
>> The memory backends are all implementing the UserCreatable
>> interface, which provides a "complete" method where they
>> could gracefully report lack of the feature via 'errp'.
>
> I didn't realize UserCreatable was a thing. It seems unfortunate
> that we have accumulated three different kinds of object
> creation/destruction life cycle:
Yes. See also "Problem 5: QOM lacks a clear life cycle" in
Subject: Dynamic & heterogeneous machines, initial configuration: problems
Date: Wed, 31 Jan 2024 21:14:21 +0100
Message-ID: <[email protected]>
https://lore.kernel.org/qemu-devel/[email protected]/
> - instance_init / instance_finalize
All QOM types (but some add to this protocol).
> - instance_init / realize / unrealize / instance_finalize
Device types, i.e. subtypes of "device".
> - instance_init / complete / prepare_delete / instance_finalize
User-createble object types, i.e. types that provide interface
"user-creatable". No device type does that.
Related: machine init done notifiers.