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é <philmd@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