Philippe Mathieu-Daudé <phi...@linaro.org> writes: > On 8/9/23 08:54, Mark Cave-Ayland wrote: >> On 07/07/2023 09:29, Philippe Mathieu-Daudé wrote: >> >>> On 2/7/23 17:48, Mark Cave-Ayland wrote: >>>> This determines whether the Apple Sound Chip (ASC) is set to enhanced mode >>>> (default) or to original mode. The real Q800 hardware used an EASC chip >>>> however >>>> a lot of older software only works with the older ASC chip. >>>> >>>> Adding this as a machine parameter allows QEMU to be used as an developer >>>> aid >>>> for testing and migrating code from ASC to EASC. >>>> >>>> Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> >>>> --- >>>> hw/m68k/q800.c | 30 +++++++++++++++++++++++++++++- >>>> include/hw/m68k/q800.h | 1 + >>>> 2 files changed, 30 insertions(+), 1 deletion(-) >>> >>> >>>> +static bool q800_get_easc(Object *obj, Error **errp) >>>> +{ >>>> + Q800MachineState *ms = Q800_MACHINE(obj); >>>> + >>>> + return ms->easc; >>>> +} >>> >>> Is the getter useful? Otherwise: >> Isn't it a requirement? Otherwise I can see that if we decide to enumerate >> machine properties (similar as to how device properties appear in "info >> qtree") then it would be impossible to display its value. Certainly at the >> moment we consider that adding an object property to an underlying struct >> effectively makes it "public". > > Just FYI this is not a requirement, per "qom/object.h": > > /** > * object_property_add_bool: > * @obj: the object to add a property to > * @name: the name of the property > * @get: the getter or NULL if the property is write-only. > * @set: the setter or NULL if the property is read-only > > I'm not sure when we want a write-only QOM boolean property, so I > genuinely ask, since I agree introspecting QOM object fields from > the monitor is helpful.
I suspect write-only properties came out of QOM's generality curse. Do we have even one? QOM's design makes this somewhat to tell.