On Mon, 17 Apr 2023 at 12:33, Alex Bennée <alex.ben...@linaro.org> wrote: > The use-case is this whole series. Basically I want to have a generic > device (vhost-user-device) which has a bunch of control knobs the user > can fiddle with (e.g. virtio id, num_vqs and the like). However for the > specialised versions of this device (e.g. vhost-user-gpio) some of these > values (e.g. virtio id) need to be fixed.
> Mark suggested maybe just duplicating the properties in a similar way to > DEFINE_AUDIO_PROPERTIES but that doesn't really address the problem > wanting to "fix" some of the values for the subclasses and preventing > the user from changing things. This shouldn't be something visible to the user of the object, though, surely? An object which doesn't have a configurable virtio-id property because the specific subclass has a fixed value should look exactly like an object which doesn't have a configurable virtio-id property because that property just doesn't exist. If we add a facility for "constant properties" (which is pretty much what this would be) then we should do it because it's useful for users of QOM objects (and especially for users of QOM objects via the QMP interface) to be able to introspect them and say "ah, this is a property of the object but it's a constant value". thanks -- PMM