On Sun, Apr 12, 2020 at 3:41 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>
> Coccinelle failed at processing this file:
>
> $ spatch ... --timeout 60 --sp-file \
> scripts/coccinelle/simplify-init-realize-error_propagate.cocci
> HANDLING: ./hw/arm/xlnx-zynqmp.c
> EXN: Coccinelle_modules.Common.Timeout
>
> Move the calls using &error_abort which don't depend on input
> updated before realize() to init().
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> v3: Typo 'depend of' -> 'depend on' (eblake)
> ---
> hw/arm/xlnx-zynqmp.c | 22 +++++++++++-----------
> 1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c
> index 457057198a..5ec9c24ee7 100644
> --- a/hw/arm/xlnx-zynqmp.c
> +++ b/hw/arm/xlnx-zynqmp.c
> @@ -242,6 +242,11 @@ static void xlnx_zynqmp_init(Object *obj)
> &s->apu_cpu[i], sizeof(s->apu_cpu[i]),
> ARM_CPU_TYPE_NAME("cortex-a53"),
> &error_abort, NULL);
> +
> + object_property_set_int(OBJECT(&s->apu_cpu[i]), QEMU_PSCI_CONDUIT_SMC,
> + "psci-conduit", &error_abort);
> + object_property_set_int(OBJECT(&s->apu_cpu[i]), GIC_BASE_ADDR,
> + "reset-cbar", &error_abort);
> }
>
> sysbus_init_child_obj(obj, "gic", &s->gic, sizeof(s->gic),
> @@ -250,6 +255,10 @@ static void xlnx_zynqmp_init(Object *obj)
> for (i = 0; i < XLNX_ZYNQMP_NUM_GEMS; i++) {
> sysbus_init_child_obj(obj, "gem[*]", &s->gem[i], sizeof(s->gem[i]),
> TYPE_CADENCE_GEM);
> + object_property_set_int(OBJECT(&s->gem[i]), GEM_REVISION, "revision",
> + &error_abort);
> + object_property_set_int(OBJECT(&s->gem[i]), 2, "num-priority-queues",
> + &error_abort);
> }
>
> for (i = 0; i < XLNX_ZYNQMP_NUM_UARTS; i++) {
> @@ -259,6 +268,8 @@ static void xlnx_zynqmp_init(Object *obj)
>
> sysbus_init_child_obj(obj, "sata", &s->sata, sizeof(s->sata),
> TYPE_SYSBUS_AHCI);
> + object_property_set_int(OBJECT(&s->sata), SATA_NUM_PORTS, "num-ports",
> + &error_abort);
>
> for (i = 0; i < XLNX_ZYNQMP_NUM_SDHCI; i++) {
> sysbus_init_child_obj(obj, "sdhci[*]", &s->sdhci[i],
> @@ -370,9 +381,6 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
> for (i = 0; i < num_apus; i++) {
> char *name;
>
> - object_property_set_int(OBJECT(&s->apu_cpu[i]), QEMU_PSCI_CONDUIT_SMC,
> - "psci-conduit", &error_abort);
> -
> name = object_get_canonical_path_component(OBJECT(&s->apu_cpu[i]));
> if (strcmp(name, boot_cpu)) {
> /* Secondary CPUs start in PSCI powered-down state */
> @@ -387,8 +395,6 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
> s->secure, "has_el3", NULL);
> object_property_set_bool(OBJECT(&s->apu_cpu[i]),
> s->virt, "has_el2", NULL);
> - object_property_set_int(OBJECT(&s->apu_cpu[i]), GIC_BASE_ADDR,
> - "reset-cbar", &error_abort);
> object_property_set_int(OBJECT(&s->apu_cpu[i]), num_apus,
> "core-count", &error_abort);
> object_property_set_bool(OBJECT(&s->apu_cpu[i]), true, "realized",
> @@ -490,10 +496,6 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
> qemu_check_nic_model(nd, TYPE_CADENCE_GEM);
> qdev_set_nic_properties(DEVICE(&s->gem[i]), nd);
> }
> - object_property_set_int(OBJECT(&s->gem[i]), GEM_REVISION, "revision",
> - &error_abort);
> - object_property_set_int(OBJECT(&s->gem[i]), 2, "num-priority-queues",
> - &error_abort);
> object_property_set_bool(OBJECT(&s->gem[i]), true, "realized", &err);
> if (err) {
> goto out_propagate_error;
> @@ -514,8 +516,6 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
> gic_spi[uart_intr[i]]);
> }
>
> - object_property_set_int(OBJECT(&s->sata), SATA_NUM_PORTS, "num-ports",
> - &error_abort);
> object_property_set_bool(OBJECT(&s->sata), true, "realized", &err);
> if (err) {
> goto out_propagate_error;
> --
> 2.21.1
>
>