ARMV7M container can only accept M-profile CPU types.
Check requested type is valid once to allow further simplifications.
Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/arm/armv7m.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c
index d239468558..8900730e53 100644
--- a/hw/arm/armv7m.c
+++ b/hw/arm/armv7m.c
@@ -300,6 +300,10 @@ static void armv7m_realize(DeviceState *dev, Error **errp)
error_propagate(errp, err);
return;
}
+ if (!arm_feature(&s->cpu->env, ARM_FEATURE_M)) {
+ error_setg(errp, "armv7m: CPU must be of Cortex-M family");
+ return;
+ }
cpudev = DEVICE(s->cpu);
object_property_set_link(OBJECT(s->cpu), "memory", OBJECT(&s->container),
--
2.41.0