Hi, This RFC series tries to work over some limitations exposed in https://lore.kernel.org/qemu-devel/9293e63b-8032-4ea0-b516-9db6949fb...@linaro.org/
Eventually all QDev objects would use static QOM properties, but in some cases we can not. ARMv7MState is a such example adding properties that might end up irrelevant. This is just an example, but thinking long term (in particular in the context of dynamic machines) I'm looking at how this could be improved. Thus this series. I don't like much this current approach (because more boiler place and complexity) however this seems to DTRT for the user. Philippe Mathieu-Daudé (5): qdev-properties: Add qdev_property_del_static() qdev-properties: Add OptionalBool QAPI type hw/arm/armv7m: Convert ARMv7MState::vfp from bool to OptionalBool hw/arm/armv7m: Error if trying to set unavailable ARMCPU::vfp property hw/arm/armv7m: Do not expose 'vfp' property if ARM CPU doesn't have it qapi/common.json | 16 ++++++++++++++++ include/hw/arm/armv7m.h | 2 +- include/hw/qdev-properties.h | 7 +++++++ hw/arm/armsse.c | 2 +- hw/arm/armv7m.c | 12 +++++++++++- hw/core/qdev-properties.c | 17 +++++++++++++++++ 6 files changed, 53 insertions(+), 3 deletions(-) -- 2.41.0