On Tue, May 13, 2025 at 11:26:31AM +0200, BALATON Zoltan wrote: > On Tue, 13 May 2025, Markus Armbruster wrote: > > Mark Cave-Ayland <mark.caveayl...@nutanix.com> writes: > > > On a related note this also brings us back to the discussion as to > > > the relationship between qdev and QOM: at one point I was under the > > > impression that qdev properties were simply QOM properties that were > > > exposed externally, i.e on the commmand line for use with -device. > > > > > > Can you provide an update on what the current thinking is in this > > > area, in particular re: scoping of qdev vs QOM properties? > > > > qdev is a leaky layer above QOM. > > > > qdev properties are also QOM properties. > > > > All device properties are exposed externally. > > That was clear but the question was if QOM properties (that are not qdev > properties) exist and if so are they also exposed? If not exposed it may be > used for internal properties (where simpler solutions aren't convenient) but > maybe qdev also adds easier definition of properties that's why they used > instead of QOM properties?
NB, not everything we expose is a QDev. We directly expose QOM via "-object" if they implement the 'UserCreatable' interface. If we want internal properties, that should likely be wired in to the QOM level directly. Conceptually you could even say that everything QEMU creates should live under -object, and no other args ought to need to exist. We have decades of evolved code making that impractical though. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|