We want to know if the 'vfp' property has been initialized. Convert it from boolean to OptionalBool (which contain the 'unset' enum).
Note the monitor output is changed as: (qemu) info qtree ... dev: armv7m, id "" gpio-in "NMI" 1 gpio-out "SYSRESETREQ" 1 gpio-in "" 96 clock-in "cpuclk" freq_hz=40 MHz clock-in "refclk" freq_hz=0 Hz cpu-type = "cortex-m33-arm-cpu" init-svtor = 270532608 (0x10200000) init-nsvtor = 0 (0x0) enable-bitband = false start-powered-off = false - vfp = false + vfp = "false" dsp = false mpu-ns-regions = 8 (0x8) mpu-s-regions = 8 (0x8) Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- include/hw/arm/armv7m.h | 2 +- hw/arm/armsse.c | 2 +- hw/arm/armv7m.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/hw/arm/armv7m.h b/include/hw/arm/armv7m.h index e2cebbd15c..6c9e65b644 100644 --- a/include/hw/arm/armv7m.h +++ b/include/hw/arm/armv7m.h @@ -105,7 +105,7 @@ struct ARMv7MState { uint32_t mpu_s_regions; bool enable_bitband; bool start_powered_off; - bool vfp; + OptionalBool vfp; bool dsp; }; diff --git a/hw/arm/armsse.c b/hw/arm/armsse.c index 31acbf7347..472b16fc30 100644 --- a/hw/arm/armsse.c +++ b/hw/arm/armsse.c @@ -1028,7 +1028,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) } } if (!s->cpu_fpu[i]) { - if (!object_property_set_bool(cpuobj, "vfp", false, errp)) { + if (!object_property_set_str(cpuobj, "vfp", "false", errp)) { return; } } diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c index d10abb36a8..3610f6f4a1 100644 --- a/hw/arm/armv7m.c +++ b/hw/arm/armv7m.c @@ -548,7 +548,7 @@ static Property armv7m_properties[] = { DEFINE_PROP_BOOL("enable-bitband", ARMv7MState, enable_bitband, false), DEFINE_PROP_BOOL("start-powered-off", ARMv7MState, start_powered_off, false), - DEFINE_PROP_BOOL("vfp", ARMv7MState, vfp, true), + DEFINE_PROP_BOOL_NODEFAULT("vfp", ARMv7MState, vfp), DEFINE_PROP_BOOL("dsp", ARMv7MState, dsp, true), DEFINE_PROP_UINT32("mpu-ns-regions", ARMv7MState, mpu_ns_regions, UINT_MAX), DEFINE_PROP_UINT32("mpu-s-regions", ARMv7MState, mpu_s_regions, UINT_MAX), -- 2.41.0