Both "idau" and "init-svtor" properties are added to ARMCPU
when the ARM_FEATURE_M_SECURITY feature is available. Rather
than checking whether the QOM properties are present, directly
check the feature.
Since we are sure the "init-svtor" is present, the
object_property_set_uint() can't fail.
Instead of using &error_abort, replace:
object_property_set_uint(OBJECT(s->cpu), "init-svtor",
s->init_svtor, &error_abort);
by:
qdev_prop_set_uint32(cpudev, "init-svtor", s->init_svtor);
which is a one-to-one replacement.
Suggested-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/arm/armv7m.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c
index 530729f42e..8350267d96 100644
--- a/hw/arm/armv7m.c
+++ b/hw/arm/armv7m.c
@@ -311,16 +311,11 @@ static void armv7m_realize(DeviceState *dev, Error **errp)
qdev_prop_set_bit(cpudev, "start-powered-off", s->start_powered_off);
qdev_prop_set_uint32(cpudev, "init-nsvtor", s->init_nsvtor);
- if (object_property_find(OBJECT(s->cpu), "idau")) {
+ if (arm_feature(&s->cpu->env, ARM_FEATURE_M_SECURITY)) {
+ qdev_prop_set_uint32(cpudev, "init-svtor", s->init_svtor);
object_property_set_link(OBJECT(s->cpu), "idau", s->idau,
&error_abort);
}
- if (object_property_find(OBJECT(s->cpu), "init-svtor")) {
- if (!object_property_set_uint(OBJECT(s->cpu), "init-svtor",
- s->init_svtor, errp)) {
- return;
- }
- }
if (object_property_find(OBJECT(s->cpu), "vfp")) {
if (!object_property_set_bool(OBJECT(s->cpu), "vfp", s->vfp, errp)) {
return;
--
2.41.0