aboutsummaryrefslogtreecommitdiff
path: root/hw/arm
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2023-11-09 18:42:36 +0100
committerKevin Wolf <kwolf@redhat.com>2023-11-10 18:19:13 +0100
commit2394c782a9040891429d0f160cf695bf00379a0d (patch)
tree334491993fb699fdf82cfcfd1d9eb81fb0def283 /hw/arm
parent3c86b9dadc378db207d36f6f9c988d6886c8a2e3 (diff)
downloadqemu-2394c782a9040891429d0f160cf695bf00379a0d.zip
qemu-2394c782a9040891429d0f160cf695bf00379a0d.tar.gz
qemu-2394c782a9040891429d0f160cf695bf00379a0d.tar.bz2
hw/arm/xlnx-versal: Use qdev_prop_set_array()
Instead of manually setting "foo-len" and "foo[i]" properties, build a QList and use the new qdev_prop_set_array() helper to set the whole array property with a single call. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-ID: <20231109174240.72376-8-kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'hw/arm')
-rw-r--r--hw/arm/xlnx-versal.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/hw/arm/xlnx-versal.c b/hw/arm/xlnx-versal.c
index 4f74a64..9600551 100644
--- a/hw/arm/xlnx-versal.c
+++ b/hw/arm/xlnx-versal.c
@@ -12,6 +12,7 @@
#include "qemu/osdep.h"
#include "qemu/units.h"
#include "qapi/error.h"
+#include "qapi/qmp/qlist.h"
#include "qemu/module.h"
#include "hw/sysbus.h"
#include "net/net.h"
@@ -69,6 +70,7 @@ static void versal_create_apu_gic(Versal *s, qemu_irq *pic)
};
SysBusDevice *gicbusdev;
DeviceState *gicdev;
+ QList *redist_region_count;
int nr_apu_cpus = ARRAY_SIZE(s->fpd.apu.cpu);
int i;
@@ -79,8 +81,11 @@ static void versal_create_apu_gic(Versal *s, qemu_irq *pic)
qdev_prop_set_uint32(gicdev, "revision", 3);
qdev_prop_set_uint32(gicdev, "num-cpu", nr_apu_cpus);
qdev_prop_set_uint32(gicdev, "num-irq", XLNX_VERSAL_NR_IRQS + 32);
- qdev_prop_set_uint32(gicdev, "len-redist-region-count", 1);
- qdev_prop_set_uint32(gicdev, "redist-region-count[0]", nr_apu_cpus);
+
+ redist_region_count = qlist_new();
+ qlist_append_int(redist_region_count, nr_apu_cpus);
+ qdev_prop_set_array(gicdev, "redist-region-count", redist_region_count);
+
qdev_prop_set_bit(gicdev, "has-security-extensions", true);
sysbus_realize(SYS_BUS_DEVICE(&s->fpd.apu.gic), &error_fatal);