From nobody Fri Mar 29 06:18:25 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1585164327; cv=none; d=zohomail.com; s=zohoarc; b=FYXSGXz8xkMTGtKFLjFwKMSdh8c7LaAEK1sBgDwgRhKW9PHumRUaqploYkJNiIn9Tv1pm2eF1gO6Pu6198J3Lnj+iNc0N6fmEcXFinNeEaG3pY7oUjLbmqP3BmvaFEy1opVr07kfqVpwNJ4XW0wAMBHzdSnYZlJ2Hn9P+T/Goqg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1585164327; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=r9hrbhBuaNbQeWGl1mm7dnqJYIZiyDKEgrGsnKIPUcM=; b=cZZ8eiNzRKYVXK74BatwsSQ/UIeM8KmZhtH2M2DbQ/NaYJV9kmG9vWQrkV52DbixhsPfkIAsBrSVkamAgu+OSBvF7KyGZi3Uz2GGTCsYUcTun48xwV7YqH3vSiigWeTaSskk2pEaFwEv3NPcFMRV3RVZrnkLfUK85MdW7ptPZxk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1585164327933586.7057978639473; Wed, 25 Mar 2020 12:25:27 -0700 (PDT) Received: from localhost ([::1]:42020 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBeY-00017k-Ei for importer@patchew.org; Wed, 25 Mar 2020 15:25:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53417) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBYH-0000JE-Rq for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:19:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHBYG-0008Sf-IC for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:18:57 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:38965) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jHBYG-0008Rx-Ay; Wed, 25 Mar 2020 15:18:56 -0400 Received: by mail-wm1-x342.google.com with SMTP id a9so4165536wmj.4; Wed, 25 Mar 2020 12:18:56 -0700 (PDT) Received: from localhost.localdomain (37.red-83-52-54.dynamicip.rima-tde.net. [83.52.54.37]) by smtp.gmail.com with ESMTPSA id r17sm6345672wrx.46.2020.03.25.12.18.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2020 12:18:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=r9hrbhBuaNbQeWGl1mm7dnqJYIZiyDKEgrGsnKIPUcM=; b=SezOYz6oc+EApTTqVJvWAuQbWiYgDL12PNUdLUj9R0pzsIaE4R+L3VYxi5VRpB9NI8 oXRyNZKNjNyWGoGGjHjdAsoEd+pLRXsGb6jgsw4C32QtuDsJqRyyTFhOfWA/vRvfBc3j zNVPhQAPJz8r3ObHeF3FYaVIOfnx7qflf+l3qG6AT7Q16p9/2w91ZmwF7f60tyTAaxcg QLrvojwqjqwdgdEah/PyDs3kgOgx3C7jnfQxVvmOMgp/N7T29IEWXwdMmsQLPHpESqWQ ihxSheQkzMJGb5yZp2p4klTgVUpY/O8VeNGVOSjo3lLCaMppBfhNdUzA/xCYDRn9NhgT MK8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=r9hrbhBuaNbQeWGl1mm7dnqJYIZiyDKEgrGsnKIPUcM=; b=A77tngFstThjiZdsUKZ23Gdf55tEvXMNsk7pUYNGszSI/dIvBGZMSpJFzDy1rEfiFx XyZsSZyCdhb9OgZDk2MsnsXl0fj6F3kc+wgVSmRla0tWm3eG6bB5BaIw93hnAB9+tnVn h4yM8JWPEt/KNy0BTcXmBNuNtq8s6w8RS0sMA2JZicEMpGf93LhGNM9obJ0ul4Am8EWs W7CN0ly7bRl1/te8rxsf/WWNOxEXZnYCgTXkd2B2eUXWJ9QOH8D9AxM0O7+5h/Jt0j3G PBpsRnt4dewFv7nA0aH2C1tKqo++PBBhc5HPHmEqs/4E1f+fl9wMMRaWlT7hPCeMJv9W FLfQ== X-Gm-Message-State: ANhLgQ1GleVf4nfo6Po6C6Vxv8EXHfpu/F3yqFabOTcDKWYMel603A6n nJhEGShORNQtBfNG30scz8Yo0VX8v44= X-Google-Smtp-Source: ADFU+vvsD/UjeB9AddoTLd45jff2BJbXWW3gEE7CoPDDqErMz+LmEmNVorX2Nr7Fxi++HnZLzRrs/g== X-Received: by 2002:a1c:6285:: with SMTP id w127mr5147255wmb.133.1585163934933; Wed, 25 Mar 2020 12:18:54 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH-for-5.0 07/12] hw/mips/cps: Add missing error-propagation code Date: Wed, 25 Mar 2020 20:18:25 +0100 Message-Id: <20200325191830.16553-8-f4bug@amsat.org> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200325191830.16553-1-f4bug@amsat.org> References: <20200325191830.16553-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::342 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paul Burton , Sagar Karandikar , "Michael S. Tsirkin" , Jason Wang , Mark Cave-Ayland , Alistair Francis , "Edgar E. Iglesias" , Peter Maydell , Markus Armbruster , Aleksandar Markovic , Palmer Dabbelt , Aleksandar Rikalo , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Eduardo Habkost , Alistair Francis , qemu-arm@nongnu.org, David Gibson , qemu-riscv@nongnu.org, Bastian Koppelmann , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Jean-Christophe Dubois , qemu-ppc@nongnu.org, Paolo Bonzini , Aurelien Jarno Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Patch created mechanically by running: $ spatch \ --macro-file scripts/cocci-macro-file.h --include-headers \ --sp-file scripts/coccinelle/object_property_missing_error_propagate.co= cci \ --keep-comments --smpl-spacing --in-place --dir hw Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Aleksandar Markovic --- hw/mips/cps.c | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/hw/mips/cps.c b/hw/mips/cps.c index 92b9b1a5f6..d682633401 100644 --- a/hw/mips/cps.c +++ b/hw/mips/cps.c @@ -68,100 +68,152 @@ static bool cpu_mips_itu_supported(CPUMIPSState *env) static void mips_cps_realize(DeviceState *dev, Error **errp) { MIPSCPSState *s =3D MIPS_CPS(dev); CPUMIPSState *env; MIPSCPU *cpu; int i; Error *err =3D NULL; target_ulong gcr_base; bool itu_present =3D false; bool saar_present =3D false; =20 for (i =3D 0; i < s->num_vp; i++) { cpu =3D MIPS_CPU(cpu_create(s->cpu_type)); =20 /* Init internal devices */ cpu_mips_irq_init_cpu(cpu); cpu_mips_clock_init(cpu); =20 env =3D &cpu->env; if (cpu_mips_itu_supported(env)) { itu_present =3D true; /* Attach ITC Tag to the VP */ env->itc_tag =3D mips_itu_get_tag_region(&s->itu); env->itu =3D &s->itu; } qemu_register_reset(main_cpu_reset, cpu); } =20 cpu =3D MIPS_CPU(first_cpu); env =3D &cpu->env; saar_present =3D (bool)env->saarp; =20 /* Inter-Thread Communication Unit */ if (itu_present) { sysbus_init_child_obj(OBJECT(dev), "itu", &s->itu, sizeof(s->itu), TYPE_MIPS_ITU); object_property_set_int(OBJECT(&s->itu), 16, "num-fifo", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_int(OBJECT(&s->itu), 16, "num-semaphores", &er= r); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_bool(OBJECT(&s->itu), saar_present, "saar-pres= ent", &err); + if (err) { + error_propagate(errp, err); + return; + } if (saar_present) { s->itu.saar =3D &env->CP0_SAAR; } object_property_set_bool(OBJECT(&s->itu), true, "realized", &err); + if (err) { + error_propagate(errp, err); + return; + } if (err !=3D NULL) { error_propagate(errp, err); return; } =20 memory_region_add_subregion(&s->container, 0, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->itu),= 0)); } =20 /* Cluster Power Controller */ sysbus_init_child_obj(OBJECT(dev), "cpc", &s->cpc, sizeof(s->cpc), TYPE_MIPS_CPC); object_property_set_int(OBJECT(&s->cpc), s->num_vp, "num-vp", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_int(OBJECT(&s->cpc), 1, "vp-start-running", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_bool(OBJECT(&s->cpc), true, "realized", &err); if (err !=3D NULL) { error_propagate(errp, err); return; } =20 memory_region_add_subregion(&s->container, 0, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->cpc)= , 0)); =20 /* Global Interrupt Controller */ sysbus_init_child_obj(OBJECT(dev), "gic", &s->gic, sizeof(s->gic), TYPE_MIPS_GIC); object_property_set_int(OBJECT(&s->gic), s->num_vp, "num-vp", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_int(OBJECT(&s->gic), 128, "num-irq", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_bool(OBJECT(&s->gic), true, "realized", &err); if (err !=3D NULL) { error_propagate(errp, err); return; } =20 memory_region_add_subregion(&s->container, 0, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->gic)= , 0)); =20 /* Global Configuration Registers */ gcr_base =3D env->CP0_CMGCRBase << 4; =20 sysbus_init_child_obj(OBJECT(dev), "gcr", &s->gcr, sizeof(s->gcr), TYPE_MIPS_GCR); object_property_set_int(OBJECT(&s->gcr), s->num_vp, "num-vp", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_int(OBJECT(&s->gcr), 0x800, "gcr-rev", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_int(OBJECT(&s->gcr), gcr_base, "gcr-base", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_link(OBJECT(&s->gcr), OBJECT(&s->gic.mr), "gic", &= err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_link(OBJECT(&s->gcr), OBJECT(&s->cpc.mr), "cpc", &= err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_bool(OBJECT(&s->gcr), true, "realized", &err); if (err !=3D NULL) { error_propagate(errp, err); return; } =20 memory_region_add_subregion(&s->container, gcr_base, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->gcr)= , 0)); } --=20 2.21.1