On 11/06/19 10:56, Markus Armbruster wrote: > Yes, this is how introspection (both QMP and QOM) is commonly used. > Just keep in mind one difference: QMP is static, QOM is dynamic. > > QMP being static means it's defined at compile time. So is the value of > query-qmp-schema. Same QEMU build, same value. This permits caching. > > QOM being dynamic means to introspect an object's properties, you have > to create it. Worse, an object's properties may (in theory) change at > any time. *Properties*, not just property *values*. In practice, I'd > expect properties to change only at realize time.
Right, and we should move more towards class-based properties so that the dynamic nature of QOM is only used for the bare minimum needed (e.g. memory regions). Paolo