qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 40/55] hw/arm/armsse: Pass correct child size to sysbus_init_


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 40/55] hw/arm/armsse: Pass correct child size to sysbus_init_child_obj()
Date: Wed, 20 May 2020 13:51:56 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

On 5/19/20 4:55 PM, Markus Armbruster wrote:
armsse_init() initializes s->armv7m[i] for all i.  It passes the size
of the entire array instead of the array element to
sysbus_init_child_obj().  Harmless, but fix it anyway.

Harmless because the size used to initialize the object is the one declared by its TypeInfo::instance_size. In this case for TYPE_ARMV7M it is:

static const TypeInfo armv7m_info = {
    .name = TYPE_ARMV7M,
    .parent = TYPE_SYS_BUS_DEVICE,
    .instance_size = sizeof(ARMv7MState),

How did you notice btw?

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>


Signed-off-by: Markus Armbruster <address@hidden>
---
  hw/arm/armsse.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/arm/armsse.c b/hw/arm/armsse.c
index 20bedbe044..b6276b7327 100644
--- a/hw/arm/armsse.c
+++ b/hw/arm/armsse.c
@@ -258,7 +258,8 @@ static void armsse_init(Object *obj)
name = g_strdup_printf("armv7m%d", i);
          sysbus_init_child_obj(OBJECT(&s->cluster[i]), name,
-                              &s->armv7m[i], sizeof(s->armv7m), TYPE_ARMV7M);
+                              &s->armv7m[i], sizeof(s->armv7m[i]),
+                              TYPE_ARMV7M);
          qdev_prop_set_string(DEVICE(&s->armv7m[i]), "cpu-type",
                               ARM_CPU_TYPE_NAME("cortex-m33"));
          g_free(name);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]