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. We use device properties for: * Letting users configure pluggable devices, with -device or device_add * Letting code configure onboard devices For onboard devices that are also pluggable, everything exposed to code is also exposed externally. This might be a mistake in places. * Letting the machine versioning machinery adjust device configuration Some properties are meant to be used just for this. They're exposed externally regardless, which is a mistake.