From nobody Fri Apr 26 04:43:39 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; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1585164026; cv=none; d=zohomail.com; s=zohoarc; b=naDE3QJjOKyjM8fpIn9J9kck9ltgrCx8ohp7BbC1lr/yPla2ZXmWjcBJ1yzxVCpVuTZ7PNnjIUQfRczcT9rs38jQbhWJR5QZlsBdBTOHkqpy+5l3/BK6oBLSnbYDBltmOymuQNbh8r9pab8OZ9qDerjLZf0T1upCT0X4THKsN3A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1585164026; 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=K/JaHB+lFk7HG80DcgONiqIurhrs6UE02bBz6uqJR8c=; b=FoGpGVJhPJYQM3il+sZ42ahovqL8m0MU4qLfFXa5vAhnnugDEAasOxQbHAllCYvyG/+QUhZPJWmW9/4zR/kYKs3jhTeXycgncPrpmstbG5pU5NBMxgZEmfhFBNW4+EEXbgjKZwILHAQWM1kZyGur0up6gWxmj238PHp6NQGCHQM= 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1585164026926289.7558841162993; Wed, 25 Mar 2020 12:20:26 -0700 (PDT) Received: from localhost ([::1]:41914 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBZd-0001eb-7s for importer@patchew.org; Wed, 25 Mar 2020 15:20:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53156) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBY0-0008AA-G1 for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:18:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHBXz-0008H2-8v for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:18:40 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:38798) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jHBXz-0008GY-2u; Wed, 25 Mar 2020 15:18:39 -0400 Received: by mail-wm1-x341.google.com with SMTP id l20so4168702wmi.3; Wed, 25 Mar 2020 12:18:39 -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.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2020 12:18:37 -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=K/JaHB+lFk7HG80DcgONiqIurhrs6UE02bBz6uqJR8c=; b=cLVwX8/AKjx5dwLq4t8JJORTVvuXAwK1uGvNmRoxl6ZLkb+MntiBtYZ2hBIgiWV+e9 jZJ6/YYqMxgMIFkBI0f14zO3qTy5xVv2pyRksIqKoXGVCA3KShdjBZ7SnM25JH6NrmqR JUhVSihnxCr3lQdmAJzxZX/YuxRAdUL3b0XhzWdiNCekoyB/KXjqFoVJzi7U0+REAOiz dbJQXNI3xPnCoRcopblHfzGguFYbOMKoaT1GlCaYD5K+YXys4jo+wiY72orvR+TVJYuH He1QkL7vL4bTu2EGqPboeQQLTNDAkxvMIajZednFRdJjSmyF9BHqDxtKjsnWF0P3v2FD Hu3Q== 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=K/JaHB+lFk7HG80DcgONiqIurhrs6UE02bBz6uqJR8c=; b=gUjQ3osXYzhxTt8BBu84ytOJJr9gvitpIh3SZCTtdsRhDa20iWzUEQtyiTXJn+WAmc hIvQVfqQnTSJG5T6B0CVDuLgcQWNTUDm7/JYDPAIYIn0wSDZKo8YeuDEK8N5oqYqFTrI Afb/y1YLYW4RgzwMvuJGvWLWCjcZjoISHVKBTY1tM6Plv1oqqHv54ayj4/C8YjJXCEH4 orvN5WcXX59oPmF5HkqBrL00LQ544T+EnY7Mw9R/Y8f7EQcl3pBlBQe3f23MyvWrpnoI L9S6klir2ZHhJ8lIUL7tr0Ktv8ltxUyRaMQRT6lde+LAshXueLzYQBMtyKzQpHVqCJqh 8OHA== X-Gm-Message-State: ANhLgQ1s10ACC9wNHyH91fjk23EGYWBYGF4QpoDaAe5fBPRHrCK2rQDW fZcG+4ojtrx8OUtvbz5byAabLscVHCc= X-Google-Smtp-Source: ADFU+vuROd1aMCAmH89F03zQCayPuBM54QQs9QdkvzeModzun4oQn5Zc+cBk7XEeNC3dyQQtxl6cZA== X-Received: by 2002:a1c:456:: with SMTP id 83mr4977190wme.54.1585163917680; Wed, 25 Mar 2020 12:18:37 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH-for-5.0 01/12] scripts/coccinelle: Add script to catch missing error_propagate() calls Date: Wed, 25 Mar 2020 20:18:19 +0100 Message-Id: <20200325191830.16553-2-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::341 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) In some places in we put an error into a local Error*, but forget to check for failure and pass it back to the caller. Add a Coccinelle patch to catch automatically add the missing code. Inspired-by: Peter Maydell Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- ...ect_property_missing_error_propagate.cocci | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 scripts/coccinelle/object_property_missing_error_propag= ate.cocci diff --git a/scripts/coccinelle/object_property_missing_error_propagate.coc= ci b/scripts/coccinelle/object_property_missing_error_propagate.cocci new file mode 100644 index 0000000000..104e345273 --- /dev/null +++ b/scripts/coccinelle/object_property_missing_error_propagate.cocci @@ -0,0 +1,58 @@ +// Add missing error-propagation code +// +// Copyright: (C) 2020 Philippe Mathieu-Daud=C3=A9. +// This work is licensed under the terms of the GNU GPLv2 or later. +// +// spatch \ +// --macro-file scripts/cocci-macro-file.h --include-headers \ +// --sp-file scripts/coccinelle/object_property_missing_error_propagate.c= occi \ +// --keep-comments --smpl-spacing --in-place --dir hw +// +// Inspired by https://www.mail-archive.com/qemu-devel@nongnu.org/msg69163= 8.html + +@match exists@ +typedef Error; +Error *err; +identifier func, errp; +identifier object_property_set_type1 =3D~ "^object_property_set_.*"; +identifier object_property_set_type2 =3D~ "^object_property_set_.*"; +expression obj; +@@ +void func(..., Error **errp) +{ + <+... + object_property_set_type1(obj, ..., &err); + ... when !=3D err + object_property_set_type2(obj, ..., &err); + ...+> +} + +@@ +Error *match.err; +identifier match.errp; +identifier match.object_property_set_type1; +expression match.obj; +@@ + object_property_set_type1(obj, ..., &err); ++if (err) { ++ error_propagate(errp, err); ++ return; ++} + +@manual depends on never match@ +Error *err; +identifier object_property_set_type1 =3D~ "^object_property_set_.*"; +identifier object_property_set_type2 =3D~ "^object_property_set_.*"; +position p; +@@ + object_property_set_type1@p(..., &err); + ... when !=3D err + object_property_set_type2(..., &err); + +@script:python@ +f << manual.object_property_set_type1; +p << manual.p; +@@ +print("[[manual check required: " + "error_propagate() might be missing in {}() {}:{}:{}]]".format( + f, p[0].file, p[0].line, p[0].column)) --=20 2.21.1 From nobody Fri Apr 26 04:43:39 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=1585164079; cv=none; d=zohomail.com; s=zohoarc; b=I/xGdBmdTLomoiirZPxCafWejD4OnXooGUoMJeDvTolPd2Sxl8j1WLdBt8pq0QAqfHWmToI6CNqx034A8t39xoZL6Dm8QzoGc+Zqr6WhuRq5KJal+2kGGwaCLoA8acl+7NtUHkGzfW23vEnJH7UBF+e7mxHn9BSsMbmGxRx5OzU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1585164079; 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=8yPGDXJm798UrCxUOiQor4+AbZXIPYYexJrMJiTmsiE=; b=hj4lawoXWjPbfP/Y1tv+jMQnkzvdW6pG3a8G0vcavBKpQgofaO/HdhurUSzUzT2cB2ewInCmMGCVxovHkw4tiN/3HndjhEctL6V7DdSP0JLKpco57215B1HdNf1vdQXvt8K+dDXgxf9GdDbKlcHbYvvjWNHJMsuKX2DxNEvFLp8= 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 1585164079783978.0768864850193; Wed, 25 Mar 2020 12:21:19 -0700 (PDT) Received: from localhost ([::1]:41936 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBaY-00030f-8z for importer@patchew.org; Wed, 25 Mar 2020 15:21:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53196) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBY3-0008CP-Vu for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:18:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHBY2-0008IW-6s for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:18:43 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:33555) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jHBY1-0008I4-VB; Wed, 25 Mar 2020 15:18:42 -0400 Received: by mail-wr1-x435.google.com with SMTP id a25so4753865wrd.0; Wed, 25 Mar 2020 12:18:41 -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.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2020 12:18:39 -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=8yPGDXJm798UrCxUOiQor4+AbZXIPYYexJrMJiTmsiE=; b=bSZmvO9fA0Rdt86RuTRa8dBQUHPcxfTO63JpNIUBd4hyv8UAkT6Doo9Gk08mZtqOKe BKDL+NM7YqGLfiWTPT2QCiIW4lmH0bJbzMVjxhlQl9dhuFPV9jPJdJfIrHrYbtOO9HU1 8A1IgN+mN71bWrZr/pWWqHghOamKSYtRGu1xYXvK3ljRgojnYFw5R1QL1kRPiNnAN1Y5 LuzuI11hN+ZehLWTB/VNxGi2Z7aiqBxy3uPuliUKRww+hl3xmRmIjsw4M7Eqzf3XPqac 8MkyXOXOniQ5aOwCzfWkbPJV41QdQr6TQPqAbJ/4KS20cQLhiRcV8SBHQr+IJ/xRSByT 5y5w== 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=8yPGDXJm798UrCxUOiQor4+AbZXIPYYexJrMJiTmsiE=; b=FKL5RR7z9v9xidRE6fXvnuHS7CIxo08aHbIAxAO+Lqc4OX0PNpdD6G/gcVVP3kWGzO B3aIQIkRbGhmaqx9Byu3e3iWbAVq9UYes5A3U21BdYPgW+ZFxo0XXDxjXfThNWpfzF/r qKMpp1lfpFGVZeU2aU/KrHiNH/MFeFHpxbMq3FlzMeb9euRziho9DFoX8oIKYtld7b+z tb/vSYdtVFdi1nJQ0OBD5lks/WkmVTXzizcn8KkqDJ6nxHkBRIxbFvILg+rabrycG1Gx oaj3VZxO5P827Mpbgo4a7rZGe1R+l35rmxBPKs0761j57GNpQxerhNXagAPztzJpVpiS e19w== X-Gm-Message-State: ANhLgQ2EHQpHgLurNdcbj+HNMpeM+FHImnai/zNEKTeSIsNJljxmcl/5 N1EkdaJLkv5V74lACqKRxm4QHwo9R6Q= X-Google-Smtp-Source: ADFU+vtAu7HeBAYn0I/Cm9qvdFP0POqkVUjTEcWbYZSOUHxoH44ZMoaQW9V0rLALgtIGdbYJJl2X3g== X-Received: by 2002:adf:8187:: with SMTP id 7mr5272025wra.358.1585163920496; Wed, 25 Mar 2020 12:18:40 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH-for-5.0 02/12] hw/arm/bcm2835_peripherals: Add missing error-propagation code Date: Wed, 25 Mar 2020 20:18:20 +0100 Message-Id: <20200325191830.16553-3-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::435 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: Peter Maydell --- hw/arm/bcm2835_peripherals.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index edcaa4916d..a111e91069 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -133,254 +133,262 @@ static void bcm2835_peripherals_init(Object *obj) static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) { BCM2835PeripheralState *s =3D BCM2835_PERIPHERALS(dev); Object *obj; MemoryRegion *ram; Error *err =3D NULL; uint64_t ram_size, vcram_size; int n; =20 obj =3D object_property_get_link(OBJECT(dev), "ram", &err); if (obj =3D=3D NULL) { error_setg(errp, "%s: required ram link not found: %s", __func__, error_get_pretty(err)); return; } =20 ram =3D MEMORY_REGION(obj); ram_size =3D memory_region_size(ram); =20 /* Map peripherals and RAM into the GPU address space. */ memory_region_init_alias(&s->peri_mr_alias, OBJECT(s), "bcm2835-peripherals", &s->peri_mr, 0, memory_region_size(&s->peri_mr)); =20 memory_region_add_subregion_overlap(&s->gpu_bus_mr, BCM2835_VC_PERI_BA= SE, &s->peri_mr_alias, 1); =20 /* RAM is aliased four times (different cache configurations) on the G= PU */ for (n =3D 0; n < 4; n++) { memory_region_init_alias(&s->ram_alias[n], OBJECT(s), "bcm2835-gpu-ram-alias[*]", ram, 0, ram_s= ize); memory_region_add_subregion_overlap(&s->gpu_bus_mr, (hwaddr)n << 3= 0, &s->ram_alias[n], 0); } =20 /* Interrupt Controller */ object_property_set_bool(OBJECT(&s->ic), true, "realized", &err); if (err) { error_propagate(errp, err); return; } =20 memory_region_add_subregion(&s->peri_mr, ARMCTRL_IC_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->ic), 0)); sysbus_pass_irq(SYS_BUS_DEVICE(s), SYS_BUS_DEVICE(&s->ic)); =20 /* Sys Timer */ object_property_set_bool(OBJECT(&s->systmr), true, "realized", &err); if (err) { error_propagate(errp, err); return; } memory_region_add_subregion(&s->peri_mr, ST_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->systmr), 0)); sysbus_connect_irq(SYS_BUS_DEVICE(&s->systmr), 0, qdev_get_gpio_in_named(DEVICE(&s->ic), BCM2835_IC_ARM_IRQ, INTERRUPT_ARM_TIMER)); =20 /* UART0 */ qdev_prop_set_chr(DEVICE(&s->uart0), "chardev", serial_hd(0)); object_property_set_bool(OBJECT(&s->uart0), true, "realized", &err); if (err) { error_propagate(errp, err); return; } =20 memory_region_add_subregion(&s->peri_mr, UART0_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->uart0), 0)); sysbus_connect_irq(SYS_BUS_DEVICE(&s->uart0), 0, qdev_get_gpio_in_named(DEVICE(&s->ic), BCM2835_IC_GPU_IRQ, INTERRUPT_UART0)); =20 /* AUX / UART1 */ qdev_prop_set_chr(DEVICE(&s->aux), "chardev", serial_hd(1)); =20 object_property_set_bool(OBJECT(&s->aux), true, "realized", &err); if (err) { error_propagate(errp, err); return; } =20 memory_region_add_subregion(&s->peri_mr, AUX_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->aux), 0)); sysbus_connect_irq(SYS_BUS_DEVICE(&s->aux), 0, qdev_get_gpio_in_named(DEVICE(&s->ic), BCM2835_IC_GPU_IRQ, INTERRUPT_AUX)); =20 /* Mailboxes */ object_property_set_bool(OBJECT(&s->mboxes), true, "realized", &err); if (err) { error_propagate(errp, err); return; } =20 memory_region_add_subregion(&s->peri_mr, ARMCTRL_0_SBM_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->mboxes), 0)); sysbus_connect_irq(SYS_BUS_DEVICE(&s->mboxes), 0, qdev_get_gpio_in_named(DEVICE(&s->ic), BCM2835_IC_ARM_IRQ, INTERRUPT_ARM_MAILBOX)); =20 /* Framebuffer */ vcram_size =3D object_property_get_uint(OBJECT(s), "vcram-size", &err); if (err) { error_propagate(errp, err); return; } =20 object_property_set_uint(OBJECT(&s->fb), ram_size - vcram_size, "vcram-base", &err); if (err) { error_propagate(errp, err); return; } =20 object_property_set_bool(OBJECT(&s->fb), true, "realized", &err); if (err) { error_propagate(errp, err); return; } =20 memory_region_add_subregion(&s->mbox_mr, MBOX_CHAN_FB << MBOX_AS_CHAN_= SHIFT, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->fb), 0)); sysbus_connect_irq(SYS_BUS_DEVICE(&s->fb), 0, qdev_get_gpio_in(DEVICE(&s->mboxes), MBOX_CHAN_FB)); =20 /* Property channel */ object_property_set_bool(OBJECT(&s->property), true, "realized", &err); if (err) { error_propagate(errp, err); return; } =20 memory_region_add_subregion(&s->mbox_mr, MBOX_CHAN_PROPERTY << MBOX_AS_CHAN_SHIFT, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->property), 0)); sysbus_connect_irq(SYS_BUS_DEVICE(&s->property), 0, qdev_get_gpio_in(DEVICE(&s->mboxes), MBOX_CHAN_PROPE= RTY)); =20 /* Random Number Generator */ object_property_set_bool(OBJECT(&s->rng), true, "realized", &err); if (err) { error_propagate(errp, err); return; } =20 memory_region_add_subregion(&s->peri_mr, RNG_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->rng), 0)); =20 /* Extended Mass Media Controller * * Compatible with: * - SD Host Controller Specification Version 3.0 Draft 1.0 * - SDIO Specification Version 3.0 * - MMC Specification Version 4.4 * * For the exact details please refer to the Arasan documentation: * SD3.0_Host_AHB_eMMC4.4_Usersguide_ver5.9_jan11_10.pdf */ object_property_set_uint(OBJECT(&s->sdhci), 3, "sd-spec-version", &err= ); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_uint(OBJECT(&s->sdhci), BCM2835_SDHC_CAPAREG, "cap= areg", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_bool(OBJECT(&s->sdhci), true, "pending-insert-quir= k", &err); if (err) { error_propagate(errp, err); return; } =20 object_property_set_bool(OBJECT(&s->sdhci), true, "realized", &err); if (err) { error_propagate(errp, err); return; } =20 memory_region_add_subregion(&s->peri_mr, EMMC1_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->sdhci), 0)); sysbus_connect_irq(SYS_BUS_DEVICE(&s->sdhci), 0, qdev_get_gpio_in_named(DEVICE(&s->ic), BCM2835_IC_GPU_IRQ, INTERRUPT_ARASANSDIO)); =20 /* SDHOST */ object_property_set_bool(OBJECT(&s->sdhost), true, "realized", &err); if (err) { error_propagate(errp, err); return; } =20 memory_region_add_subregion(&s->peri_mr, MMCI0_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->sdhost), 0)); sysbus_connect_irq(SYS_BUS_DEVICE(&s->sdhost), 0, qdev_get_gpio_in_named(DEVICE(&s->ic), BCM2835_IC_GPU_IRQ, INTERRUPT_SDIO)); =20 /* DMA Channels */ object_property_set_bool(OBJECT(&s->dma), true, "realized", &err); if (err) { error_propagate(errp, err); return; } =20 memory_region_add_subregion(&s->peri_mr, DMA_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->dma), 0)); memory_region_add_subregion(&s->peri_mr, DMA15_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->dma), 1)); =20 for (n =3D 0; n <=3D 12; n++) { sysbus_connect_irq(SYS_BUS_DEVICE(&s->dma), n, qdev_get_gpio_in_named(DEVICE(&s->ic), BCM2835_IC_GPU_IRQ, INTERRUPT_DMA0 + n)); } =20 /* THERMAL */ object_property_set_bool(OBJECT(&s->thermal), true, "realized", &err); if (err) { error_propagate(errp, err); return; } memory_region_add_subregion(&s->peri_mr, THERMAL_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->thermal), 0)); =20 /* GPIO */ object_property_set_bool(OBJECT(&s->gpio), true, "realized", &err); if (err) { error_propagate(errp, err); return; } =20 memory_region_add_subregion(&s->peri_mr, GPIO_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->gpio), 0)); =20 object_property_add_alias(OBJECT(s), "sd-bus", OBJECT(&s->gpio), "sd-b= us", &err); if (err) { error_propagate(errp, err); return; } =20 create_unimp(s, &s->armtmr, "bcm2835-sp804", ARMCTRL_TIMER0_1_OFFSET, = 0x40); create_unimp(s, &s->cprman, "bcm2835-cprman", CPRMAN_OFFSET, 0x1000); create_unimp(s, &s->a2w, "bcm2835-a2w", A2W_OFFSET, 0x1000); create_unimp(s, &s->i2s, "bcm2835-i2s", I2S_OFFSET, 0x100); create_unimp(s, &s->smi, "bcm2835-smi", SMI_OFFSET, 0x100); create_unimp(s, &s->spi[0], "bcm2835-spi0", SPI0_OFFSET, 0x20); create_unimp(s, &s->bscsl, "bcm2835-spis", BSC_SL_OFFSET, 0x100); create_unimp(s, &s->i2c[0], "bcm2835-i2c0", BSC0_OFFSET, 0x20); create_unimp(s, &s->i2c[1], "bcm2835-i2c1", BSC1_OFFSET, 0x20); create_unimp(s, &s->i2c[2], "bcm2835-i2c2", BSC2_OFFSET, 0x20); create_unimp(s, &s->otp, "bcm2835-otp", OTP_OFFSET, 0x80); create_unimp(s, &s->dbus, "bcm2835-dbus", DBUS_OFFSET, 0x8000); create_unimp(s, &s->ave0, "bcm2835-ave0", AVE0_OFFSET, 0x8000); create_unimp(s, &s->dwc2, "dwc-usb2", USB_OTG_OFFSET, 0x1000); create_unimp(s, &s->sdramc, "bcm2835-sdramc", SDRAMC_OFFSET, 0x100); } --=20 2.21.1 From nobody Fri Apr 26 04:43:39 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=1585164170; cv=none; d=zohomail.com; s=zohoarc; b=gkzX+dCV3+yDgW5UQXB6r9EIZ08FZAiq83025rD0yWxiF8kH7q7usYvFcbran5iG/wWYowJgzC/BCepeIlNSjh1+W66/oF1LKNMQ3TOEFLtjP/YVhmCfvqF6OgukpUOqAvFZmlYkNnPEumSeSnnAhOqdEQr79nCJ33bhGiMPK5Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1585164170; 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=b4kiIC5lo8LMjfx4QypRFj4ZCNBWHZLJD1nJLY4etCk=; b=BMymCQ7x3eRLIM4NSOyt4oqGnA3JM0nCPWNZ45urom7Eix9w1bmoa8FmsX4i+A95sXs1uBH62fgmbSplGurztPo3b1uS0A7fMIki19t6HqfLKw5noj5DgAMFQDl8yhFoJp5AstpGpW0hXEL0NV5C+HOFHh7JlwQo8v+8UR9mqis= 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 15851641705321021.5346663978997; Wed, 25 Mar 2020 12:22:50 -0700 (PDT) Received: from localhost ([::1]:41988 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBc1-00067b-0v for importer@patchew.org; Wed, 25 Mar 2020 15:22:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53260) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBY8-0008KM-BT for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:18:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHBY5-0008Kl-H0 for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:18:48 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:45164) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jHBY5-0008KB-6S; Wed, 25 Mar 2020 15:18:45 -0400 Received: by mail-wr1-x434.google.com with SMTP id t7so4630603wrw.12; Wed, 25 Mar 2020 12:18:45 -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.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2020 12:18:42 -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=b4kiIC5lo8LMjfx4QypRFj4ZCNBWHZLJD1nJLY4etCk=; b=TD7KDGHiYFucyDcZtSGToWPcXlYdOxCQkTM5UAaZVovKtIeNVhLD71H6npGGveTmnO psJZv6RxBIHhwYmFqFY4C/Br9KDk/hVjXb0hVOZ8Osu6vcL0iLuOfoWKVvzALvvxJPhT rtt0Gw80WBVZO9wzlqSxxv0xGKEuxUbqvy4DxahHYDH7oSCQC62SqaGIhCirGKRJk823 mHPCdcIzk+0axYW/oJoUFwRcriAocdK7/6ZUpfDUeYlA3hnAdQieNuMHFLY4L+lFrAmt 4Z9jl/9STFWilAJqPnVqyhfsSldjEi1MaiRIDZqQrhbPHwDdKE80uM2GZWEhQuMq6Gmn zNeA== 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=b4kiIC5lo8LMjfx4QypRFj4ZCNBWHZLJD1nJLY4etCk=; b=t5iyXE0Gh1w7mPzL5MHz0BtZhot0ppqsxKVKw5fp6T7StlB42yChT67CtxVp+k+Xjy zzfUJsvUujqhy5Tfaxu5r2B/hbBVG1qaY9Yi+z+22UuxmYgFYO3nzBqnKVrd0vtC9yp2 IYOwdYzIDczi5NsG4346YDykYSF0+PWIvBK46CDCS8Sx4R13OtWiF1cGE/vsTpgA4AFv AFxtUOLT32YkvNfBEoKTYZc6oFjbNEo14f+2wl+MKXHpL9llTHOppq3xuMYKZzenHXkW zgy8v7cUMzCsB1dKXanrVxXWGTJ+1n69Nrf8TuZ7/9m9jzElh6rxXXU8IkXrwCsvsLnJ /Q/w== X-Gm-Message-State: ANhLgQ3h+Hjut5RQX5526xJOw9jOu4fywKVHyFbjFWZrfRjsahzSrGBI HYT8j+QG1M2x7FVFaKMn5Q7T5+pnN9M= X-Google-Smtp-Source: ADFU+vvS9l7lL621rMyd+mf9dmm+wXaQIqCWSXopgfZ69s7e6jWDkc90efzS343tz4B5iXBQvdnnXQ== X-Received: by 2002:a5d:4cc5:: with SMTP id c5mr4812027wrt.136.1585163923354; Wed, 25 Mar 2020 12:18:43 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH-for-5.0 03/12] hw/arm/fsl-imx: Add missing error-propagation code Date: Wed, 25 Mar 2020 20:18:21 +0100 Message-Id: <20200325191830.16553-4-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::434 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: Peter Maydell --- hw/arm/fsl-imx25.c | 8 ++++++++ hw/arm/fsl-imx6.c | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c index 6f1a82ce3d..c915a2106d 100644 --- a/hw/arm/fsl-imx25.c +++ b/hw/arm/fsl-imx25.c @@ -92,247 +92,255 @@ static void fsl_imx25_init(Object *obj) static void fsl_imx25_realize(DeviceState *dev, Error **errp) { FslIMX25State *s =3D FSL_IMX25(dev); uint8_t i; Error *err =3D NULL; =20 object_property_set_bool(OBJECT(&s->cpu), true, "realized", &err); if (err) { error_propagate(errp, err); return; } =20 object_property_set_bool(OBJECT(&s->avic), true, "realized", &err); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->avic), 0, FSL_IMX25_AVIC_ADDR); sysbus_connect_irq(SYS_BUS_DEVICE(&s->avic), 0, qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_IRQ)); sysbus_connect_irq(SYS_BUS_DEVICE(&s->avic), 1, qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_FIQ)); =20 object_property_set_bool(OBJECT(&s->ccm), true, "realized", &err); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->ccm), 0, FSL_IMX25_CCM_ADDR); =20 /* Initialize all UARTs */ for (i =3D 0; i < FSL_IMX25_NUM_UARTS; i++) { static const struct { hwaddr addr; unsigned int irq; } serial_table[FSL_IMX25_NUM_UARTS] =3D { { FSL_IMX25_UART1_ADDR, FSL_IMX25_UART1_IRQ }, { FSL_IMX25_UART2_ADDR, FSL_IMX25_UART2_IRQ }, { FSL_IMX25_UART3_ADDR, FSL_IMX25_UART3_IRQ }, { FSL_IMX25_UART4_ADDR, FSL_IMX25_UART4_IRQ }, { FSL_IMX25_UART5_ADDR, FSL_IMX25_UART5_IRQ } }; =20 qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i)); =20 object_property_set_bool(OBJECT(&s->uart[i]), true, "realized", &e= rr); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->uart[i]), 0, serial_table[i].ad= dr); sysbus_connect_irq(SYS_BUS_DEVICE(&s->uart[i]), 0, qdev_get_gpio_in(DEVICE(&s->avic), serial_table[i].irq)); } =20 /* Initialize all GPT timers */ for (i =3D 0; i < FSL_IMX25_NUM_GPTS; i++) { static const struct { hwaddr addr; unsigned int irq; } gpt_table[FSL_IMX25_NUM_GPTS] =3D { { FSL_IMX25_GPT1_ADDR, FSL_IMX25_GPT1_IRQ }, { FSL_IMX25_GPT2_ADDR, FSL_IMX25_GPT2_IRQ }, { FSL_IMX25_GPT3_ADDR, FSL_IMX25_GPT3_IRQ }, { FSL_IMX25_GPT4_ADDR, FSL_IMX25_GPT4_IRQ } }; =20 s->gpt[i].ccm =3D IMX_CCM(&s->ccm); =20 object_property_set_bool(OBJECT(&s->gpt[i]), true, "realized", &er= r); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpt[i]), 0, gpt_table[i].addr); sysbus_connect_irq(SYS_BUS_DEVICE(&s->gpt[i]), 0, qdev_get_gpio_in(DEVICE(&s->avic), gpt_table[i].irq)); } =20 /* Initialize all EPIT timers */ for (i =3D 0; i < FSL_IMX25_NUM_EPITS; i++) { static const struct { hwaddr addr; unsigned int irq; } epit_table[FSL_IMX25_NUM_EPITS] =3D { { FSL_IMX25_EPIT1_ADDR, FSL_IMX25_EPIT1_IRQ }, { FSL_IMX25_EPIT2_ADDR, FSL_IMX25_EPIT2_IRQ } }; =20 s->epit[i].ccm =3D IMX_CCM(&s->ccm); =20 object_property_set_bool(OBJECT(&s->epit[i]), true, "realized", &e= rr); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->epit[i]), 0, epit_table[i].addr= ); sysbus_connect_irq(SYS_BUS_DEVICE(&s->epit[i]), 0, qdev_get_gpio_in(DEVICE(&s->avic), epit_table[i].irq)); } =20 qdev_set_nic_properties(DEVICE(&s->fec), &nd_table[0]); =20 object_property_set_bool(OBJECT(&s->fec), true, "realized", &err); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->fec), 0, FSL_IMX25_FEC_ADDR); sysbus_connect_irq(SYS_BUS_DEVICE(&s->fec), 0, qdev_get_gpio_in(DEVICE(&s->avic), FSL_IMX25_FEC_IR= Q)); =20 object_property_set_bool(OBJECT(&s->rngc), true, "realized", &err); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->rngc), 0, FSL_IMX25_RNGC_ADDR); sysbus_connect_irq(SYS_BUS_DEVICE(&s->rngc), 0, qdev_get_gpio_in(DEVICE(&s->avic), FSL_IMX25_RNGC_I= RQ)); =20 /* Initialize all I2C */ for (i =3D 0; i < FSL_IMX25_NUM_I2CS; i++) { static const struct { hwaddr addr; unsigned int irq; } i2c_table[FSL_IMX25_NUM_I2CS] =3D { { FSL_IMX25_I2C1_ADDR, FSL_IMX25_I2C1_IRQ }, { FSL_IMX25_I2C2_ADDR, FSL_IMX25_I2C2_IRQ }, { FSL_IMX25_I2C3_ADDR, FSL_IMX25_I2C3_IRQ } }; =20 object_property_set_bool(OBJECT(&s->i2c[i]), true, "realized", &er= r); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->i2c[i]), 0, i2c_table[i].addr); sysbus_connect_irq(SYS_BUS_DEVICE(&s->i2c[i]), 0, qdev_get_gpio_in(DEVICE(&s->avic), i2c_table[i].irq)); } =20 /* Initialize all GPIOs */ for (i =3D 0; i < FSL_IMX25_NUM_GPIOS; i++) { static const struct { hwaddr addr; unsigned int irq; } gpio_table[FSL_IMX25_NUM_GPIOS] =3D { { FSL_IMX25_GPIO1_ADDR, FSL_IMX25_GPIO1_IRQ }, { FSL_IMX25_GPIO2_ADDR, FSL_IMX25_GPIO2_IRQ }, { FSL_IMX25_GPIO3_ADDR, FSL_IMX25_GPIO3_IRQ }, { FSL_IMX25_GPIO4_ADDR, FSL_IMX25_GPIO4_IRQ } }; =20 object_property_set_bool(OBJECT(&s->gpio[i]), true, "realized", &e= rr); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpio[i]), 0, gpio_table[i].addr= ); /* Connect GPIO IRQ to PIC */ sysbus_connect_irq(SYS_BUS_DEVICE(&s->gpio[i]), 0, qdev_get_gpio_in(DEVICE(&s->avic), gpio_table[i].irq)); } =20 /* Initialize all SDHC */ for (i =3D 0; i < FSL_IMX25_NUM_ESDHCS; i++) { static const struct { hwaddr addr; unsigned int irq; } esdhc_table[FSL_IMX25_NUM_ESDHCS] =3D { { FSL_IMX25_ESDHC1_ADDR, FSL_IMX25_ESDHC1_IRQ }, { FSL_IMX25_ESDHC2_ADDR, FSL_IMX25_ESDHC2_IRQ }, }; =20 object_property_set_uint(OBJECT(&s->esdhc[i]), 2, "sd-spec-version= ", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_uint(OBJECT(&s->esdhc[i]), IMX25_ESDHC_CAPABIL= ITIES, "capareg", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_bool(OBJECT(&s->esdhc[i]), true, "realized", &= err); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->esdhc[i]), 0, esdhc_table[i].ad= dr); sysbus_connect_irq(SYS_BUS_DEVICE(&s->esdhc[i]), 0, qdev_get_gpio_in(DEVICE(&s->avic), esdhc_table[i].irq)); } =20 /* USB */ for (i =3D 0; i < FSL_IMX25_NUM_USBS; i++) { static const struct { hwaddr addr; unsigned int irq; } usb_table[FSL_IMX25_NUM_USBS] =3D { { FSL_IMX25_USB1_ADDR, FSL_IMX25_USB1_IRQ }, { FSL_IMX25_USB2_ADDR, FSL_IMX25_USB2_IRQ }, }; =20 object_property_set_bool(OBJECT(&s->usb[i]), true, "realized", &error_abort); sysbus_mmio_map(SYS_BUS_DEVICE(&s->usb[i]), 0, usb_table[i].addr); sysbus_connect_irq(SYS_BUS_DEVICE(&s->usb[i]), 0, qdev_get_gpio_in(DEVICE(&s->avic), usb_table[i].irq)); } =20 /* initialize 2 x 16 KB ROM */ memory_region_init_rom(&s->rom[0], OBJECT(dev), "imx25.rom0", FSL_IMX25_ROM0_SIZE, &err); if (err) { error_propagate(errp, err); return; } memory_region_add_subregion(get_system_memory(), FSL_IMX25_ROM0_ADDR, &s->rom[0]); memory_region_init_rom(&s->rom[1], OBJECT(dev), "imx25.rom1", FSL_IMX25_ROM1_SIZE, &err); if (err) { error_propagate(errp, err); return; } memory_region_add_subregion(get_system_memory(), FSL_IMX25_ROM1_ADDR, &s->rom[1]); =20 /* initialize internal RAM (128 KB) */ memory_region_init_ram(&s->iram, NULL, "imx25.iram", FSL_IMX25_IRAM_SI= ZE, &err); if (err) { error_propagate(errp, err); return; } memory_region_add_subregion(get_system_memory(), FSL_IMX25_IRAM_ADDR, &s->iram); =20 /* internal RAM (128 KB) is aliased over 128 MB - 128 KB */ memory_region_init_alias(&s->iram_alias, OBJECT(dev), "imx25.iram_alia= s", &s->iram, 0, FSL_IMX25_IRAM_ALIAS_SIZE); memory_region_add_subregion(get_system_memory(), FSL_IMX25_IRAM_ALIAS_= ADDR, &s->iram_alias); } diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c index 13f1bf23a6..71b2729298 100644 --- a/hw/arm/fsl-imx6.c +++ b/hw/arm/fsl-imx6.c @@ -116,363 +116,371 @@ static void fsl_imx6_init(Object *obj) static void fsl_imx6_realize(DeviceState *dev, Error **errp) { MachineState *ms =3D MACHINE(qdev_get_machine()); FslIMX6State *s =3D FSL_IMX6(dev); uint16_t i; Error *err =3D NULL; unsigned int smp_cpus =3D ms->smp.cpus; =20 if (smp_cpus > FSL_IMX6_NUM_CPUS) { error_setg(errp, "%s: Only %d CPUs are supported (%d requested)", TYPE_FSL_IMX6, FSL_IMX6_NUM_CPUS, smp_cpus); return; } =20 for (i =3D 0; i < smp_cpus; i++) { =20 /* On uniprocessor, the CBAR is set to 0 */ if (smp_cpus > 1) { object_property_set_int(OBJECT(&s->cpu[i]), FSL_IMX6_A9MPCORE_= ADDR, "reset-cbar", &error_abort); } =20 /* All CPU but CPU 0 start in power off mode */ if (i) { object_property_set_bool(OBJECT(&s->cpu[i]), true, "start-powered-off", &error_abort); } =20 object_property_set_bool(OBJECT(&s->cpu[i]), true, "realized", &er= r); if (err) { error_propagate(errp, err); return; } } =20 object_property_set_int(OBJECT(&s->a9mpcore), smp_cpus, "num-cpu", &error_abort); =20 object_property_set_int(OBJECT(&s->a9mpcore), FSL_IMX6_MAX_IRQ + GIC_INTERNAL, "num-irq", &error_abort); =20 object_property_set_bool(OBJECT(&s->a9mpcore), true, "realized", &err); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->a9mpcore), 0, FSL_IMX6_A9MPCORE_ADD= R); =20 for (i =3D 0; i < smp_cpus; i++) { sysbus_connect_irq(SYS_BUS_DEVICE(&s->a9mpcore), i, qdev_get_gpio_in(DEVICE(&s->cpu[i]), ARM_CPU_IR= Q)); sysbus_connect_irq(SYS_BUS_DEVICE(&s->a9mpcore), i + smp_cpus, qdev_get_gpio_in(DEVICE(&s->cpu[i]), ARM_CPU_FI= Q)); } =20 object_property_set_bool(OBJECT(&s->ccm), true, "realized", &err); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->ccm), 0, FSL_IMX6_CCM_ADDR); =20 object_property_set_bool(OBJECT(&s->src), true, "realized", &err); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->src), 0, FSL_IMX6_SRC_ADDR); =20 /* Initialize all UARTs */ for (i =3D 0; i < FSL_IMX6_NUM_UARTS; i++) { static const struct { hwaddr addr; unsigned int irq; } serial_table[FSL_IMX6_NUM_UARTS] =3D { { FSL_IMX6_UART1_ADDR, FSL_IMX6_UART1_IRQ }, { FSL_IMX6_UART2_ADDR, FSL_IMX6_UART2_IRQ }, { FSL_IMX6_UART3_ADDR, FSL_IMX6_UART3_IRQ }, { FSL_IMX6_UART4_ADDR, FSL_IMX6_UART4_IRQ }, { FSL_IMX6_UART5_ADDR, FSL_IMX6_UART5_IRQ }, }; =20 qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i)); =20 object_property_set_bool(OBJECT(&s->uart[i]), true, "realized", &e= rr); if (err) { error_propagate(errp, err); return; } =20 sysbus_mmio_map(SYS_BUS_DEVICE(&s->uart[i]), 0, serial_table[i].ad= dr); sysbus_connect_irq(SYS_BUS_DEVICE(&s->uart[i]), 0, qdev_get_gpio_in(DEVICE(&s->a9mpcore), serial_table[i].irq)); } =20 s->gpt.ccm =3D IMX_CCM(&s->ccm); =20 object_property_set_bool(OBJECT(&s->gpt), true, "realized", &err); if (err) { error_propagate(errp, err); return; } =20 sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpt), 0, FSL_IMX6_GPT_ADDR); sysbus_connect_irq(SYS_BUS_DEVICE(&s->gpt), 0, qdev_get_gpio_in(DEVICE(&s->a9mpcore), FSL_IMX6_GPT_IRQ)); =20 /* Initialize all EPIT timers */ for (i =3D 0; i < FSL_IMX6_NUM_EPITS; i++) { static const struct { hwaddr addr; unsigned int irq; } epit_table[FSL_IMX6_NUM_EPITS] =3D { { FSL_IMX6_EPIT1_ADDR, FSL_IMX6_EPIT1_IRQ }, { FSL_IMX6_EPIT2_ADDR, FSL_IMX6_EPIT2_IRQ }, }; =20 s->epit[i].ccm =3D IMX_CCM(&s->ccm); =20 object_property_set_bool(OBJECT(&s->epit[i]), true, "realized", &e= rr); if (err) { error_propagate(errp, err); return; } =20 sysbus_mmio_map(SYS_BUS_DEVICE(&s->epit[i]), 0, epit_table[i].addr= ); sysbus_connect_irq(SYS_BUS_DEVICE(&s->epit[i]), 0, qdev_get_gpio_in(DEVICE(&s->a9mpcore), epit_table[i].irq)); } =20 /* Initialize all I2C */ for (i =3D 0; i < FSL_IMX6_NUM_I2CS; i++) { static const struct { hwaddr addr; unsigned int irq; } i2c_table[FSL_IMX6_NUM_I2CS] =3D { { FSL_IMX6_I2C1_ADDR, FSL_IMX6_I2C1_IRQ }, { FSL_IMX6_I2C2_ADDR, FSL_IMX6_I2C2_IRQ }, { FSL_IMX6_I2C3_ADDR, FSL_IMX6_I2C3_IRQ } }; =20 object_property_set_bool(OBJECT(&s->i2c[i]), true, "realized", &er= r); if (err) { error_propagate(errp, err); return; } =20 sysbus_mmio_map(SYS_BUS_DEVICE(&s->i2c[i]), 0, i2c_table[i].addr); sysbus_connect_irq(SYS_BUS_DEVICE(&s->i2c[i]), 0, qdev_get_gpio_in(DEVICE(&s->a9mpcore), i2c_table[i].irq)); } =20 /* Initialize all GPIOs */ for (i =3D 0; i < FSL_IMX6_NUM_GPIOS; i++) { static const struct { hwaddr addr; unsigned int irq_low; unsigned int irq_high; } gpio_table[FSL_IMX6_NUM_GPIOS] =3D { { FSL_IMX6_GPIO1_ADDR, FSL_IMX6_GPIO1_LOW_IRQ, FSL_IMX6_GPIO1_HIGH_IRQ }, { FSL_IMX6_GPIO2_ADDR, FSL_IMX6_GPIO2_LOW_IRQ, FSL_IMX6_GPIO2_HIGH_IRQ }, { FSL_IMX6_GPIO3_ADDR, FSL_IMX6_GPIO3_LOW_IRQ, FSL_IMX6_GPIO3_HIGH_IRQ }, { FSL_IMX6_GPIO4_ADDR, FSL_IMX6_GPIO4_LOW_IRQ, FSL_IMX6_GPIO4_HIGH_IRQ }, { FSL_IMX6_GPIO5_ADDR, FSL_IMX6_GPIO5_LOW_IRQ, FSL_IMX6_GPIO5_HIGH_IRQ }, { FSL_IMX6_GPIO6_ADDR, FSL_IMX6_GPIO6_LOW_IRQ, FSL_IMX6_GPIO6_HIGH_IRQ }, { FSL_IMX6_GPIO7_ADDR, FSL_IMX6_GPIO7_LOW_IRQ, FSL_IMX6_GPIO7_HIGH_IRQ }, }; =20 object_property_set_bool(OBJECT(&s->gpio[i]), true, "has-edge-sel", &error_abort); object_property_set_bool(OBJECT(&s->gpio[i]), true, "has-upper-pin= -irq", &error_abort); object_property_set_bool(OBJECT(&s->gpio[i]), true, "realized", &e= rr); if (err) { error_propagate(errp, err); return; } =20 sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpio[i]), 0, gpio_table[i].addr= ); sysbus_connect_irq(SYS_BUS_DEVICE(&s->gpio[i]), 0, qdev_get_gpio_in(DEVICE(&s->a9mpcore), gpio_table[i].irq_low)); sysbus_connect_irq(SYS_BUS_DEVICE(&s->gpio[i]), 1, qdev_get_gpio_in(DEVICE(&s->a9mpcore), gpio_table[i].irq_high)); } =20 /* Initialize all SDHC */ for (i =3D 0; i < FSL_IMX6_NUM_ESDHCS; i++) { static const struct { hwaddr addr; unsigned int irq; } esdhc_table[FSL_IMX6_NUM_ESDHCS] =3D { { FSL_IMX6_uSDHC1_ADDR, FSL_IMX6_uSDHC1_IRQ }, { FSL_IMX6_uSDHC2_ADDR, FSL_IMX6_uSDHC2_IRQ }, { FSL_IMX6_uSDHC3_ADDR, FSL_IMX6_uSDHC3_IRQ }, { FSL_IMX6_uSDHC4_ADDR, FSL_IMX6_uSDHC4_IRQ }, }; =20 /* UHS-I SDIO3.0 SDR104 1.8V ADMA */ object_property_set_uint(OBJECT(&s->esdhc[i]), 3, "sd-spec-version= ", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_uint(OBJECT(&s->esdhc[i]), IMX6_ESDHC_CAPABILI= TIES, "capareg", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_bool(OBJECT(&s->esdhc[i]), true, "realized", &= err); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->esdhc[i]), 0, esdhc_table[i].ad= dr); sysbus_connect_irq(SYS_BUS_DEVICE(&s->esdhc[i]), 0, qdev_get_gpio_in(DEVICE(&s->a9mpcore), esdhc_table[i].irq)); } =20 /* USB */ for (i =3D 0; i < FSL_IMX6_NUM_USB_PHYS; i++) { object_property_set_bool(OBJECT(&s->usbphy[i]), true, "realized", &error_abort); sysbus_mmio_map(SYS_BUS_DEVICE(&s->usbphy[i]), 0, FSL_IMX6_USBPHY1_ADDR + i * 0x1000); } for (i =3D 0; i < FSL_IMX6_NUM_USBS; i++) { static const int FSL_IMX6_USBn_IRQ[] =3D { FSL_IMX6_USB_OTG_IRQ, FSL_IMX6_USB_HOST1_IRQ, FSL_IMX6_USB_HOST2_IRQ, FSL_IMX6_USB_HOST3_IRQ, }; =20 object_property_set_bool(OBJECT(&s->usb[i]), true, "realized", &error_abort); sysbus_mmio_map(SYS_BUS_DEVICE(&s->usb[i]), 0, FSL_IMX6_USBOH3_USB_ADDR + i * 0x200); sysbus_connect_irq(SYS_BUS_DEVICE(&s->usb[i]), 0, qdev_get_gpio_in(DEVICE(&s->a9mpcore), FSL_IMX6_USBn_IRQ[i])); } =20 /* Initialize all ECSPI */ for (i =3D 0; i < FSL_IMX6_NUM_ECSPIS; i++) { static const struct { hwaddr addr; unsigned int irq; } spi_table[FSL_IMX6_NUM_ECSPIS] =3D { { FSL_IMX6_eCSPI1_ADDR, FSL_IMX6_ECSPI1_IRQ }, { FSL_IMX6_eCSPI2_ADDR, FSL_IMX6_ECSPI2_IRQ }, { FSL_IMX6_eCSPI3_ADDR, FSL_IMX6_ECSPI3_IRQ }, { FSL_IMX6_eCSPI4_ADDR, FSL_IMX6_ECSPI4_IRQ }, { FSL_IMX6_eCSPI5_ADDR, FSL_IMX6_ECSPI5_IRQ }, }; =20 /* Initialize the SPI */ object_property_set_bool(OBJECT(&s->spi[i]), true, "realized", &er= r); if (err) { error_propagate(errp, err); return; } =20 sysbus_mmio_map(SYS_BUS_DEVICE(&s->spi[i]), 0, spi_table[i].addr); sysbus_connect_irq(SYS_BUS_DEVICE(&s->spi[i]), 0, qdev_get_gpio_in(DEVICE(&s->a9mpcore), spi_table[i].irq)); } =20 qdev_set_nic_properties(DEVICE(&s->eth), &nd_table[0]); object_property_set_bool(OBJECT(&s->eth), true, "realized", &err); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->eth), 0, FSL_IMX6_ENET_ADDR); sysbus_connect_irq(SYS_BUS_DEVICE(&s->eth), 0, qdev_get_gpio_in(DEVICE(&s->a9mpcore), FSL_IMX6_ENET_MAC_IRQ)); sysbus_connect_irq(SYS_BUS_DEVICE(&s->eth), 1, qdev_get_gpio_in(DEVICE(&s->a9mpcore), FSL_IMX6_ENET_MAC_1588_IRQ)); =20 /* * Watchdog */ for (i =3D 0; i < FSL_IMX6_NUM_WDTS; i++) { static const hwaddr FSL_IMX6_WDOGn_ADDR[FSL_IMX6_NUM_WDTS] =3D { FSL_IMX6_WDOG1_ADDR, FSL_IMX6_WDOG2_ADDR, }; =20 object_property_set_bool(OBJECT(&s->wdt[i]), true, "realized", &error_abort); =20 sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt[i]), 0, FSL_IMX6_WDOGn_ADDR= [i]); } =20 /* ROM memory */ memory_region_init_rom(&s->rom, OBJECT(dev), "imx6.rom", FSL_IMX6_ROM_SIZE, &err); if (err) { error_propagate(errp, err); return; } memory_region_add_subregion(get_system_memory(), FSL_IMX6_ROM_ADDR, &s->rom); =20 /* CAAM memory */ memory_region_init_rom(&s->caam, OBJECT(dev), "imx6.caam", FSL_IMX6_CAAM_MEM_SIZE, &err); if (err) { error_propagate(errp, err); return; } memory_region_add_subregion(get_system_memory(), FSL_IMX6_CAAM_MEM_ADD= R, &s->caam); =20 /* OCRAM memory */ memory_region_init_ram(&s->ocram, NULL, "imx6.ocram", FSL_IMX6_OCRAM_S= IZE, &err); if (err) { error_propagate(errp, err); return; } memory_region_add_subregion(get_system_memory(), FSL_IMX6_OCRAM_ADDR, &s->ocram); =20 /* internal OCRAM (256 KB) is aliased over 1 MB */ memory_region_init_alias(&s->ocram_alias, OBJECT(dev), "imx6.ocram_ali= as", &s->ocram, 0, FSL_IMX6_OCRAM_ALIAS_SIZE); memory_region_add_subregion(get_system_memory(), FSL_IMX6_OCRAM_ALIAS_= ADDR, &s->ocram_alias); } --=20 2.21.1 From nobody Fri Apr 26 04:43:39 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=1585164219; cv=none; d=zohomail.com; s=zohoarc; b=Fn7z3Ojmd06qG45iUcEE7L80UWyEDnJ/7ha1rakmlgC7m1S74N/chTolJZwENZAOmJ3ILojnuccGxywJSY5Ed6MFaHYMPQ+P+azouI+QtR4XEiMhKYLqY9uRnFC2vjXiXZ/mq7z+XbEcEPacYdvMwWcKCTMlGFdJBZc/W7sP8UQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1585164219; 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=GhVX8f98O0Xa/LOVRL95qx+viSjodj+CYTsM4Px49fY=; b=nfWxXagt+HsfbTePxT21F3cd7p5xRgn6vlbIq9IqA0nOpMD4XbgCjo6oN94oSRQOsKremPKN+7SQwgbb5NJ0oovWwzsORS8A+zSZQugKN3wldOPseFSpqyWl2C6rfYo4PWKEnPbrwqtlaXC1xJ439VcHTWfE27uE5YOEkeSMqiA= 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 158516421997151.872060600321106; Wed, 25 Mar 2020 12:23:39 -0700 (PDT) Received: from localhost ([::1]:41992 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBco-0006rP-2J for importer@patchew.org; Wed, 25 Mar 2020 15:23:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53277) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBYA-0008OG-0M for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:18:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHBY8-0008Mh-0m for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:18:49 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:40216) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jHBY7-0008M2-PV; Wed, 25 Mar 2020 15:18:47 -0400 Received: by mail-wm1-x32d.google.com with SMTP id a81so4171790wmf.5; Wed, 25 Mar 2020 12:18:47 -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.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2020 12:18:45 -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=GhVX8f98O0Xa/LOVRL95qx+viSjodj+CYTsM4Px49fY=; b=JK8Z5CR/vAs+6GNWR0Pc0Cq4xV4rhs44H+vI9mGz+3lT8gmhVFY1NllA7uofymoktC OOclKhzERBoU/GzD1dJES4G/UJgvl1RUJJ9kNghnhttGDn0bdwkHRf/Ey1VR0XFH3TzU wOWSW/pQABNh/pmWRlzEMb/uVMCGtnwmGdAEzsnIp+3iSJfmy8TBGnXws3x4QwZfrEPI a4XhOPv35/drV2M+Y8km8jAe9wb2fFCZoc0H/rR5waIKkt3oSsR5WnH7dkuTOkjjUnQw XRRO1F66lML2S3dfYwFA9yy8OFGtXGj0SjPtglj8dq2oQ2rylSGUuLclC8ky934kREEg 5tyw== 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=GhVX8f98O0Xa/LOVRL95qx+viSjodj+CYTsM4Px49fY=; b=m6pgHU5lSG/HBgJLrYFb/d11O5UMaTciJVMnHa4LDinmiACMS04/Gtd4K6fYUsRLdb XeZBo4UsRaDoS6Kxb+X2DGddccmxTmfEeU7Q0fWxk0QS33vQn6aRva93w2RhWBWqyiiG x0ZmV270bix6vYU/YHWgzpFk50pPLyeiE2PEBuSwExhL9K4G+hATq820HzUr1Ilt13T9 DrfFZH/TynDpmjt5o983S4T6haZB2X9ABrxJRRvYUpUr+psOkWEItCLDHW8r/dm/Z53n 5tpB5k4vMrhBXpkQHargJouwEnMsEZWP2GaAklGNlPqRPOYgKJe3YKrIWKBUBgdXDmco ylBw== X-Gm-Message-State: ANhLgQ13tiHB97llkQ4bGrzsEaqw2zaptKW8NkAQ3nN155vHoDzKEmKX MgfKVJpwEKXCwjZKOv3Hrdx4j4juh30= X-Google-Smtp-Source: ADFU+vvTWcMqq/E0mn8RtOqbGbhhftd/mq/2WBj+7QJppdLptSgZJXwgm/gtKBHwIBbeIRUW73G1pQ== X-Received: by 2002:a1c:dc8b:: with SMTP id t133mr4615449wmg.99.1585163926248; Wed, 25 Mar 2020 12:18:46 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH-for-5.0 04/12] hw/arm/stm32fx05_soc: Add missing error-propagation code Date: Wed, 25 Mar 2020 20:18:22 +0100 Message-Id: <20200325191830.16553-5-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::32d 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: Alistair Francis Reviewed-by: Peter Maydell --- hw/arm/stm32f205_soc.c | 4 ++++ hw/arm/stm32f405_soc.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/hw/arm/stm32f205_soc.c b/hw/arm/stm32f205_soc.c index 118c342559..1d80f91dd7 100644 --- a/hw/arm/stm32f205_soc.c +++ b/hw/arm/stm32f205_soc.c @@ -83,113 +83,117 @@ static void stm32f205_soc_initfn(Object *obj) static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp) { STM32F205State *s =3D STM32F205_SOC(dev_soc); DeviceState *dev, *armv7m; SysBusDevice *busdev; Error *err =3D NULL; int i; =20 MemoryRegion *system_memory =3D get_system_memory(); MemoryRegion *sram =3D g_new(MemoryRegion, 1); MemoryRegion *flash =3D g_new(MemoryRegion, 1); MemoryRegion *flash_alias =3D g_new(MemoryRegion, 1); =20 memory_region_init_rom(flash, OBJECT(dev_soc), "STM32F205.flash", FLASH_SIZE, &error_fatal); memory_region_init_alias(flash_alias, OBJECT(dev_soc), "STM32F205.flash.alias", flash, 0, FLASH_SIZE= ); =20 memory_region_add_subregion(system_memory, FLASH_BASE_ADDRESS, flash); memory_region_add_subregion(system_memory, 0, flash_alias); =20 memory_region_init_ram(sram, NULL, "STM32F205.sram", SRAM_SIZE, &error_fatal); memory_region_add_subregion(system_memory, SRAM_BASE_ADDRESS, sram); =20 armv7m =3D DEVICE(&s->armv7m); qdev_prop_set_uint32(armv7m, "num-irq", 96); qdev_prop_set_string(armv7m, "cpu-type", s->cpu_type); qdev_prop_set_bit(armv7m, "enable-bitband", true); object_property_set_link(OBJECT(&s->armv7m), OBJECT(get_system_memory(= )), "memory", &error_abort); object_property_set_bool(OBJECT(&s->armv7m), true, "realized", &err); if (err !=3D NULL) { error_propagate(errp, err); return; } =20 /* System configuration controller */ dev =3D DEVICE(&s->syscfg); object_property_set_bool(OBJECT(&s->syscfg), true, "realized", &err); if (err !=3D NULL) { error_propagate(errp, err); return; } busdev =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(busdev, 0, 0x40013800); sysbus_connect_irq(busdev, 0, qdev_get_gpio_in(armv7m, 71)); =20 /* Attach UART (uses USART registers) and USART controllers */ for (i =3D 0; i < STM_NUM_USARTS; i++) { dev =3D DEVICE(&(s->usart[i])); qdev_prop_set_chr(dev, "chardev", serial_hd(i)); object_property_set_bool(OBJECT(&s->usart[i]), true, "realized", &= err); if (err !=3D NULL) { error_propagate(errp, err); return; } busdev =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(busdev, 0, usart_addr[i]); sysbus_connect_irq(busdev, 0, qdev_get_gpio_in(armv7m, usart_irq[i= ])); } =20 /* Timer 2 to 5 */ for (i =3D 0; i < STM_NUM_TIMERS; i++) { dev =3D DEVICE(&(s->timer[i])); qdev_prop_set_uint64(dev, "clock-frequency", 1000000000); object_property_set_bool(OBJECT(&s->timer[i]), true, "realized", &= err); if (err !=3D NULL) { error_propagate(errp, err); return; } busdev =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(busdev, 0, timer_addr[i]); sysbus_connect_irq(busdev, 0, qdev_get_gpio_in(armv7m, timer_irq[i= ])); } =20 /* ADC 1 to 3 */ object_property_set_int(OBJECT(s->adc_irqs), STM_NUM_ADCS, "num-lines", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_bool(OBJECT(s->adc_irqs), true, "realized", &err); if (err !=3D NULL) { error_propagate(errp, err); return; } qdev_connect_gpio_out(DEVICE(s->adc_irqs), 0, qdev_get_gpio_in(armv7m, ADC_IRQ)); =20 for (i =3D 0; i < STM_NUM_ADCS; i++) { dev =3D DEVICE(&(s->adc[i])); object_property_set_bool(OBJECT(&s->adc[i]), true, "realized", &er= r); if (err !=3D NULL) { error_propagate(errp, err); return; } busdev =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(busdev, 0, adc_addr[i]); sysbus_connect_irq(busdev, 0, qdev_get_gpio_in(DEVICE(s->adc_irqs), i)); } =20 /* SPI 1 and 2 */ for (i =3D 0; i < STM_NUM_SPIS; i++) { dev =3D DEVICE(&(s->spi[i])); object_property_set_bool(OBJECT(&s->spi[i]), true, "realized", &er= r); if (err !=3D NULL) { error_propagate(errp, err); return; } busdev =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(busdev, 0, spi_addr[i]); sysbus_connect_irq(busdev, 0, qdev_get_gpio_in(armv7m, spi_irq[i])= ); } } diff --git a/hw/arm/stm32f405_soc.c b/hw/arm/stm32f405_soc.c index 4f10ce6176..398a3b5b4f 100644 --- a/hw/arm/stm32f405_soc.c +++ b/hw/arm/stm32f405_soc.c @@ -89,183 +89,187 @@ static void stm32f405_soc_initfn(Object *obj) static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp) { STM32F405State *s =3D STM32F405_SOC(dev_soc); MemoryRegion *system_memory =3D get_system_memory(); DeviceState *dev, *armv7m; SysBusDevice *busdev; Error *err =3D NULL; int i; =20 memory_region_init_rom(&s->flash, OBJECT(dev_soc), "STM32F405.flash", FLASH_SIZE, &err); if (err !=3D NULL) { error_propagate(errp, err); return; } memory_region_init_alias(&s->flash_alias, OBJECT(dev_soc), "STM32F405.flash.alias", &s->flash, 0, FLASH_SIZE); =20 memory_region_add_subregion(system_memory, FLASH_BASE_ADDRESS, &s->fla= sh); memory_region_add_subregion(system_memory, 0, &s->flash_alias); =20 memory_region_init_ram(&s->sram, NULL, "STM32F405.sram", SRAM_SIZE, &err); if (err !=3D NULL) { error_propagate(errp, err); return; } memory_region_add_subregion(system_memory, SRAM_BASE_ADDRESS, &s->sram= ); =20 armv7m =3D DEVICE(&s->armv7m); qdev_prop_set_uint32(armv7m, "num-irq", 96); qdev_prop_set_string(armv7m, "cpu-type", s->cpu_type); qdev_prop_set_bit(armv7m, "enable-bitband", true); object_property_set_link(OBJECT(&s->armv7m), OBJECT(system_memory), "memory", &error_abort); object_property_set_bool(OBJECT(&s->armv7m), true, "realized", &err); if (err !=3D NULL) { error_propagate(errp, err); return; } =20 /* System configuration controller */ dev =3D DEVICE(&s->syscfg); object_property_set_bool(OBJECT(&s->syscfg), true, "realized", &err); if (err !=3D NULL) { error_propagate(errp, err); return; } busdev =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(busdev, 0, SYSCFG_ADD); sysbus_connect_irq(busdev, 0, qdev_get_gpio_in(armv7m, SYSCFG_IRQ)); =20 /* Attach UART (uses USART registers) and USART controllers */ for (i =3D 0; i < STM_NUM_USARTS; i++) { dev =3D DEVICE(&(s->usart[i])); qdev_prop_set_chr(dev, "chardev", serial_hd(i)); object_property_set_bool(OBJECT(&s->usart[i]), true, "realized", &= err); if (err !=3D NULL) { error_propagate(errp, err); return; } busdev =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(busdev, 0, usart_addr[i]); sysbus_connect_irq(busdev, 0, qdev_get_gpio_in(armv7m, usart_irq[i= ])); } =20 /* Timer 2 to 5 */ for (i =3D 0; i < STM_NUM_TIMERS; i++) { dev =3D DEVICE(&(s->timer[i])); qdev_prop_set_uint64(dev, "clock-frequency", 1000000000); object_property_set_bool(OBJECT(&s->timer[i]), true, "realized", &= err); if (err !=3D NULL) { error_propagate(errp, err); return; } busdev =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(busdev, 0, timer_addr[i]); sysbus_connect_irq(busdev, 0, qdev_get_gpio_in(armv7m, timer_irq[i= ])); } =20 /* ADC device, the IRQs are ORed together */ object_initialize_child(OBJECT(s), "adc-orirq", &s->adc_irqs, sizeof(s->adc_irqs), TYPE_OR_IRQ, &err, NULL); if (err !=3D NULL) { error_propagate(errp, err); return; } object_property_set_int(OBJECT(&s->adc_irqs), STM_NUM_ADCS, "num-lines", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_bool(OBJECT(&s->adc_irqs), true, "realized", &err); if (err !=3D NULL) { error_propagate(errp, err); return; } qdev_connect_gpio_out(DEVICE(&s->adc_irqs), 0, qdev_get_gpio_in(armv7m, ADC_IRQ)); =20 dev =3D DEVICE(&(s->adc[i])); object_property_set_bool(OBJECT(&s->adc[i]), true, "realized", &err); if (err !=3D NULL) { error_propagate(errp, err); return; } busdev =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(busdev, 0, ADC_ADDR); sysbus_connect_irq(busdev, 0, qdev_get_gpio_in(DEVICE(&s->adc_irqs), i)); =20 /* SPI devices */ for (i =3D 0; i < STM_NUM_SPIS; i++) { dev =3D DEVICE(&(s->spi[i])); object_property_set_bool(OBJECT(&s->spi[i]), true, "realized", &er= r); if (err !=3D NULL) { error_propagate(errp, err); return; } busdev =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(busdev, 0, spi_addr[i]); sysbus_connect_irq(busdev, 0, qdev_get_gpio_in(armv7m, spi_irq[i])= ); } =20 /* EXTI device */ dev =3D DEVICE(&s->exti); object_property_set_bool(OBJECT(&s->exti), true, "realized", &err); if (err !=3D NULL) { error_propagate(errp, err); return; } busdev =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(busdev, 0, EXTI_ADDR); for (i =3D 0; i < 16; i++) { sysbus_connect_irq(busdev, i, qdev_get_gpio_in(armv7m, exti_irq[i]= )); } for (i =3D 0; i < 16; i++) { qdev_connect_gpio_out(DEVICE(&s->syscfg), i, qdev_get_gpio_in(dev,= i)); } =20 create_unimplemented_device("timer[7]", 0x40001400, 0x400); create_unimplemented_device("timer[12]", 0x40001800, 0x400); create_unimplemented_device("timer[6]", 0x40001000, 0x400); create_unimplemented_device("timer[13]", 0x40001C00, 0x400); create_unimplemented_device("timer[14]", 0x40002000, 0x400); create_unimplemented_device("RTC and BKP", 0x40002800, 0x400); create_unimplemented_device("WWDG", 0x40002C00, 0x400); create_unimplemented_device("IWDG", 0x40003000, 0x400); create_unimplemented_device("I2S2ext", 0x40003000, 0x400); create_unimplemented_device("I2S3ext", 0x40004000, 0x400); create_unimplemented_device("I2C1", 0x40005400, 0x400); create_unimplemented_device("I2C2", 0x40005800, 0x400); create_unimplemented_device("I2C3", 0x40005C00, 0x400); create_unimplemented_device("CAN1", 0x40006400, 0x400); create_unimplemented_device("CAN2", 0x40006800, 0x400); create_unimplemented_device("PWR", 0x40007000, 0x400); create_unimplemented_device("DAC", 0x40007400, 0x400); create_unimplemented_device("timer[1]", 0x40010000, 0x400); create_unimplemented_device("timer[8]", 0x40010400, 0x400); create_unimplemented_device("SDIO", 0x40012C00, 0x400); create_unimplemented_device("timer[9]", 0x40014000, 0x400); create_unimplemented_device("timer[10]", 0x40014400, 0x400); create_unimplemented_device("timer[11]", 0x40014800, 0x400); create_unimplemented_device("GPIOA", 0x40020000, 0x400); create_unimplemented_device("GPIOB", 0x40020400, 0x400); create_unimplemented_device("GPIOC", 0x40020800, 0x400); create_unimplemented_device("GPIOD", 0x40020C00, 0x400); create_unimplemented_device("GPIOE", 0x40021000, 0x400); create_unimplemented_device("GPIOF", 0x40021400, 0x400); create_unimplemented_device("GPIOG", 0x40021800, 0x400); create_unimplemented_device("GPIOH", 0x40021C00, 0x400); create_unimplemented_device("GPIOI", 0x40022000, 0x400); create_unimplemented_device("CRC", 0x40023000, 0x400); create_unimplemented_device("RCC", 0x40023800, 0x400); create_unimplemented_device("Flash Int", 0x40023C00, 0x400); create_unimplemented_device("BKPSRAM", 0x40024000, 0x400); create_unimplemented_device("DMA1", 0x40026000, 0x400); create_unimplemented_device("DMA2", 0x40026400, 0x400); create_unimplemented_device("Ethernet", 0x40028000, 0x1400); create_unimplemented_device("USB OTG HS", 0x40040000, 0x30000); create_unimplemented_device("USB OTG FS", 0x50000000, 0x31000); create_unimplemented_device("DCMI", 0x50050000, 0x400); create_unimplemented_device("RNG", 0x50060800, 0x400); } --=20 2.21.1 From nobody Fri Apr 26 04:43:39 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=1585164160; cv=none; d=zohomail.com; s=zohoarc; b=QG0UsK38Ots9o6En2OoqWGWayFuRRCzVh/SfzxQPdd7b5aaDR5D016bjGPSRoU+ifQiuewwfzphheFKvflxsl071r2STG+K1mTmshhO6zgWndP8vFPVjp//GAQ44cEUWQNzYBOEeabrKkBlTz6MepfBCA/nBCBdpGiE1+u2cMH4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1585164160; 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=PoRbPRQndAjunHQwtJ4X53lQZ94h16lYfKXNqfhYyaI=; b=naExvN5X+XtMzYlsS5MYEPN7I9c+OGzcdVPyNyE9PuuJwfXJvSxH79A0uRvSuiI83awmRdr4XbBGjutEvd+jvuHD3NWKAW118ZKeKL+VwmDdsP8XsL9o6nqUK1u2ELTN/m0tRMQIUiyzPqoABu3+9BBdRijPeMtqIVxroSqj3rE= 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 1585164160338537.2227285289097; Wed, 25 Mar 2020 12:22:40 -0700 (PDT) Received: from localhost ([::1]:41985 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBbr-0005lx-2q for importer@patchew.org; Wed, 25 Mar 2020 15:22:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53297) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBYB-0008SQ-DB for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:18:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHBYA-0008O0-EB for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:18:51 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:37484) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jHBYA-0008Nf-88; Wed, 25 Mar 2020 15:18:50 -0400 Received: by mail-wm1-x341.google.com with SMTP id d1so4187603wmb.2; Wed, 25 Mar 2020 12:18:50 -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.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2020 12:18:48 -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=PoRbPRQndAjunHQwtJ4X53lQZ94h16lYfKXNqfhYyaI=; b=awrkhuG/pWzJtErXTxcoiHf+78bzY7DFIHrCCsEqiJ5gjPeUD+8XvTRtHauXir3hA9 seak2eHWP+wnXU4zswu6rQwVk5DeqUyjSbq7jUaDTZjpBIGwIcca6lSAM4UViRx8hn3c J1M8DfWVmfXtIqEpEtR1wpRdW54ds7PmJn/j6cUdvI0m/YCMn9ui6/jl36lD76oD/2NT C+8arVhqR9egZHX5cmMQwKTdQPkMj94XsL9MqRMiL6gSodxRA+hMBlKHTuKeuEKa+oXQ MW2mWkWxATf02YMa39pemmQ8iz+E7n3PghETNKKCP209DEmrfl6TVh1Wdhhsbql//mdJ 8xCw== 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=PoRbPRQndAjunHQwtJ4X53lQZ94h16lYfKXNqfhYyaI=; b=bEVumGahRoCR3jOIJvqlKtwSOSEN8uOvriP8KyM5cdq7uj+OXfqIZ9lFZ/0Wfgmu8p lLOTEwdruh+nsbZNoYTVvi64qatxEhBQX7hmwUYL9raqLhR1ayUJs4XNgouGPVOW/y3p BpTI4I3L9sby5UYCpg8kV5XOu1sE0VQXU6UMDYevjhUVRlrPttoxlFW597/UdbG4e42B jvWCiwMUIolttivj3ED2yVyDlttZfhaInCwO90Fwws1dP4OsTeIQevVNxQ6/3Mc3FhGR 5k4dZZ76J92Z9fhUPUIDA492da7UbGv5IzEW8s75LEvZZJvPjA8ILd+6bofoXlSdRw0r yk/Q== X-Gm-Message-State: ANhLgQ2x35YICMTGkrPMhBPNBBIKHIfqgMOcoI6P5b631I1ga0qREhMc x0xROIEFiWtW4vKvVMCHagFPJyI5+ak= X-Google-Smtp-Source: ADFU+vvHnA/hgAHWUQOaerlLb4ew+FS4W4JbCX72YBWHquXPt9jiUTP/k6NJAZhNl0a0RqSSy9Ug2g== X-Received: by 2002:a1c:721a:: with SMTP id n26mr4992757wmc.25.1585163929104; Wed, 25 Mar 2020 12:18:49 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH-for-5.0 05/12] hw/i386/x86: Add missing error-propagation code Date: Wed, 25 Mar 2020 20:18:23 +0100 Message-Id: <20200325191830.16553-6-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::341 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 --- hw/i386/x86.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/i386/x86.c b/hw/i386/x86.c index 87b73fe33c..0a4865d4a9 100644 --- a/hw/i386/x86.c +++ b/hw/i386/x86.c @@ -103,13 +103,17 @@ uint32_t x86_cpu_apic_id_from_index(X86MachineState *= x86ms, void x86_cpu_new(X86MachineState *x86ms, int64_t apic_id, Error **errp) { Object *cpu =3D NULL; Error *local_err =3D NULL; =20 cpu =3D object_new(MACHINE(x86ms)->cpu_type); =20 object_property_set_uint(cpu, apic_id, "apic-id", &local_err); + if (local_err) { + error_propagate(errp, local_err); + return; + } object_property_set_bool(cpu, true, "realized", &local_err); =20 object_unref(cpu); error_propagate(errp, local_err); } --=20 2.21.1 From nobody Fri Apr 26 04:43:39 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=1585164293; cv=none; d=zohomail.com; s=zohoarc; b=ONI9swlblpvk1yfb9d26+mWEL446q8Is+DokDzyBxvOeP1PYhMkKTu+HdgoHKrSUShnwJLGOqE0Z3s8qgfV9lax25uKB6eZXJMPuGxTiJIoEtYIAMWeVl6HA9G9T/X9KAZeylIs4G087tmq7T6lilvtdIBUWIcR+rTlqmjoi9k0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1585164293; 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=wrJdKpRKJHYFpsu8f/k/XHLGFdJX1oGK4sHeuwFlD8Q=; b=KSDkIFmBBXrwgIkUzSCJHt2cP5+1W9FG0HtL8vGC5+Wyin9iCzi5TbmnU64jIrMsf6kATVb/z+BpW7ve10cvVZv4T+KUwlyXzG/ca9jO08emMNB0iTOTM8l6/mGWFWY/Q9gIPxnB9KFNObO4J3Zmh3Blui1WeFlax4mZYER5Nhc= 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 158516429338492.04772727593831; Wed, 25 Mar 2020 12:24:53 -0700 (PDT) Received: from localhost ([::1]:42016 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBe0-0000Qh-7f for importer@patchew.org; Wed, 25 Mar 2020 15:24:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53352) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBYE-0000Ap-KI for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:18:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHBYD-0008QE-I0 for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:18:54 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:35968) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jHBYD-0008Pb-Be; Wed, 25 Mar 2020 15:18:53 -0400 Received: by mail-wr1-x442.google.com with SMTP id 31so4704302wrs.3; Wed, 25 Mar 2020 12:18:53 -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.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2020 12:18:51 -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=wrJdKpRKJHYFpsu8f/k/XHLGFdJX1oGK4sHeuwFlD8Q=; b=BJ0/ut6kqXFsqLRtDlE1/SHKtzso+q2uxz1zm7jf93uWxv2mfeJdLUt6SEKSk2nqzS 7sEy6HaszD3JvjQTtblkk6FKF/v3Bl22TTwo3/XaWfuRjNIJJeZAJCuxbt2v5yQ+YtdJ xQU4AtzCye4vIZyvBlSh+p4CnWwjPcgP5YF/5uahBIHXnfb/y3toH1QQmu4TQjvGbn8m jbKxSsc5nQ6J87jGpNvgC/F6dox3wQclJPjQHWW72hYX+4ndgS0/ltFTxZ9P1TxUDsfZ UE6TlrDps3hK5XMfvOcfYCOBLeJc5NsypvDiR+4+DnQhWJpbf/BbqmadAqTBgo+2c447 6I6Q== 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=wrJdKpRKJHYFpsu8f/k/XHLGFdJX1oGK4sHeuwFlD8Q=; b=H8ug+Y8gRPUiHtMi6FB6iohC6pRvc/4yHmng8sYYcQbBF9bs/scxt7E4juT7+Ec1/u /4TenhZlu4M5l2PuqHC51/KmbI1RmVrymDZHuhuU6rLbvzr6XJYt1Y7b5YHKzmB5g0Xa 125ZsRdByxMPAnMmp2VYdVBk4duEqT/8mhv8dlU8EgeTV1jg23MRSRgMvklk8bY64bVR goTS0s1uUZnC5vdqmJ+U6Y4Aw9uDOTmnYGk8iRH0KaKE1xezkGBDCCseZnVcNTFECNy1 wUxbKYc4vS2je/fY/5i4PhwIXVYRPcSoiR4OKVLIMZT3ElBLDQgYSsw6GeMTC9O0vXk1 6QIg== X-Gm-Message-State: ANhLgQ0pjOBTd6YS1cKTSYh/B9gvgAOlKXGn53xjNc431JqsMP0kNOhU oaOHJRix0qlrcVKxSWqT4wZVxPZnH90= X-Google-Smtp-Source: ADFU+vtLpvKpCB9LLgmIxRTvJrownfGJ5Y4wqJnSnshhMqp0Ce2Ane11vdQjML1kw2Kfbs9cXVvxSg== X-Received: by 2002:adf:bb06:: with SMTP id r6mr5157392wrg.324.1585163932103; Wed, 25 Mar 2020 12:18:52 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH-for-5.0 06/12] hw/dma/xilinx_axidma: Add missing error-propagation code Date: Wed, 25 Mar 2020 20:18:24 +0100 Message-Id: <20200325191830.16553-7-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::442 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) Running the coccinelle script produced: $ 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 --dir hw [[manual check required: error_propagate() might be missing in object_pro= perty_set_link() hw//dma/xilinx_axidma.c:542:4]] Add the missing error_propagate() after manual review. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/dma/xilinx_axidma.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/dma/xilinx_axidma.c b/hw/dma/xilinx_axidma.c index 018f36991b..6e3406321c 100644 --- a/hw/dma/xilinx_axidma.c +++ b/hw/dma/xilinx_axidma.c @@ -521,39 +521,42 @@ static const MemoryRegionOps axidma_ops =3D { static void xilinx_axidma_realize(DeviceState *dev, Error **errp) { XilinxAXIDMA *s =3D XILINX_AXI_DMA(dev); XilinxAXIDMAStreamSlave *ds =3D XILINX_AXI_DMA_DATA_STREAM(&s->rx_data= _dev); XilinxAXIDMAStreamSlave *cs =3D XILINX_AXI_DMA_CONTROL_STREAM( &s->rx_control= _dev); Error *local_err =3D NULL; =20 object_property_add_link(OBJECT(ds), "dma", TYPE_XILINX_AXI_DMA, (Object **)&ds->dma, object_property_allow_set_link, OBJ_PROP_LINK_STRONG, &local_err); object_property_add_link(OBJECT(cs), "dma", TYPE_XILINX_AXI_DMA, (Object **)&cs->dma, object_property_allow_set_link, OBJ_PROP_LINK_STRONG, &local_err); if (local_err) { goto xilinx_axidma_realize_fail; } object_property_set_link(OBJECT(ds), OBJECT(s), "dma", &local_err); + if (local_err) { + goto xilinx_axidma_realize_fail; + } object_property_set_link(OBJECT(cs), OBJECT(s), "dma", &local_err); if (local_err) { goto xilinx_axidma_realize_fail; } =20 int i; =20 for (i =3D 0; i < 2; i++) { struct Stream *st =3D &s->streams[i]; =20 st->nr =3D i; st->ptimer =3D ptimer_init(timer_hit, st, PTIMER_POLICY_DEFAULT); ptimer_transaction_begin(st->ptimer); ptimer_set_freq(st->ptimer, s->freqhz); ptimer_transaction_commit(st->ptimer); } return; --=20 2.21.1 From nobody Fri Apr 26 04:43:39 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 From nobody Fri Apr 26 04:43:39 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=1585164299; cv=none; d=zohomail.com; s=zohoarc; b=dk6rSADq0AoKwoVV+q4Vu7TR2qISB2Zxc3HlLt4Jio5p/FLCs0wtFIRHuUE4A1YU2gdEf4TYL92YjeOSs84yUtpECua3SIIAkt6NFJ7bWy8WXzMJEsTCseix84StSY2MjNM9fbbd6zqhT0oEu14jZQQeh/ITsel614UASV+ub58= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1585164299; 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=f6uKp3uPJrVKrxXGrT0pUT5lieQ9qkbOy6joblcGLgw=; b=NAQHwhKNC5GR3BBFXNtHTvGBDoMOz8+dBQgpaKGgw1v42BP/8V/jWVf57lEyYmIltr941ltL03AYNyJXxSZguCcJ7pynEDWe08MtDB+iSvxTKrsqrdiJw/G2fCLBcWal6rMKEvzhKYV8+fbnAHofoK/4w8pg4tUo8CBCiltPgVo= 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 1585164299494862.1761173903068; Wed, 25 Mar 2020 12:24:59 -0700 (PDT) Received: from localhost ([::1]:42018 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBe6-0000cj-B1 for importer@patchew.org; Wed, 25 Mar 2020 15:24:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53471) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBYK-0000N1-IH for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:19:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHBYJ-0008Uy-7u for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:19:00 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:38966) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jHBYJ-0008UO-1N; Wed, 25 Mar 2020 15:18:59 -0400 Received: by mail-wm1-x343.google.com with SMTP id a9so4165661wmj.4; Wed, 25 Mar 2020 12:18:58 -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.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2020 12:18:57 -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=f6uKp3uPJrVKrxXGrT0pUT5lieQ9qkbOy6joblcGLgw=; b=pyaUeLsr2K2SsPy0yyFgXsIlyyj8rV4oGJo1asci/4MPy+aJSAcy761P4WE95+ggHe KWJhIgzBJvLaWmyk1qc0XNQ0yCATSXqZKOTm5uk7DUiWpLH3SU+sQkPzfkxecu5ThTJD TxG89ZXfHAii/Alr87Si44h3LFClH21a9I6YNCrZVau7cxhdj5mt0/k3MlEg4nsB8+U0 9yYIcmAfr+aC2Ld4MigD8PBmcEZoduZ4ZGRRpMMQT1KRnFqf+eX2oG1Rjzlillcy69ST dOT6Gm30xGDqVxw14ttv73at36TX9Src3KnbMRTzbfVADugumwQCI78LSza0c035zojP CAmQ== 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=f6uKp3uPJrVKrxXGrT0pUT5lieQ9qkbOy6joblcGLgw=; b=YlxZrUlRUZHN18KQfXexdoo2YqeXIXLt7v5nwovtUOv/PtEEtpEcatl7cEjVr+WqzD 9cuyHV71sz7oFFHvfVOsb7U7wslpDTVBR6bzzLOUFEjKtFns6SfTI9ofttPTSCvGy+p0 1n8i5SlHCz4AKmxYgWZ75W4kVQwBTmorNFuAi3Pdyj8cjYzO0NhnS75HrFTBZy1NKtv3 gFHV+StJwymiYdhTS6YVDOJ3lIXoQP9po5jKCKxvR+wMvya6INdIjJQ/q684B+IN7raJ xRK5n9TKU0NDaYFVt7K9W62F8EeVEw8vJL/JnQa8mNmbWtwzy9mdvAvHqgw7z084MqWy lx1A== X-Gm-Message-State: ANhLgQ2k2IJhoHVAANSDUH72mWTxAcB9UqeOech92Xo0ICpewPdOTmhE zfTjiqbmDQieIEFDoTZy572hGZ6AJv8= X-Google-Smtp-Source: ADFU+vssM5rTRRS6nWLopYRU0I3IOOPbtQnaV3Ge7Fcit2tGZUIKwqyP6ttvHzDUq9Nu1GbE2dITOg== X-Received: by 2002:a1c:456:: with SMTP id 83mr4978477wme.54.1585163937757; Wed, 25 Mar 2020 12:18:57 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH-for-5.0 08/12] hw/mips/boston: Add missing error-propagation code Date: Wed, 25 Mar 2020 20:18:26 +0100 Message-Id: <20200325191830.16553-9-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::343 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) Running the coccinelle script produced: $ 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 --dir hw [[manual check required: error_propagate() might be missing in object_pro= perty_set_int() hw/mips/boston.c:462:4]] [[manual check required: error_propagate() might be missing in object_pro= perty_set_str() hw/mips/boston.c:460:4]] Since the uses are inside a MachineClass::init() function, directly use &error_fatal instead of error_propagate(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Aleksandar Markovic Reviewed-by: Peter Maydell --- hw/mips/boston.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/hw/mips/boston.c b/hw/mips/boston.c index 98ecd25e8e..2e821ca7d6 100644 --- a/hw/mips/boston.c +++ b/hw/mips/boston.c @@ -425,121 +425,116 @@ xilinx_pcie_init(MemoryRegion *sys_mem, uint32_t bu= s_nr, static void boston_mach_init(MachineState *machine) { DeviceState *dev; BostonState *s; - Error *err =3D NULL; MemoryRegion *flash, *ddr_low_alias, *lcd, *platreg; MemoryRegion *sys_mem =3D get_system_memory(); XilinxPCIEHost *pcie2; PCIDevice *ahci; DriveInfo *hd[6]; Chardev *chr; int fw_size, fit_err; bool is_64b; =20 if ((machine->ram_size % GiB) || (machine->ram_size > (2 * GiB))) { error_report("Memory size must be 1GB or 2GB"); exit(1); } =20 dev =3D qdev_create(NULL, TYPE_MIPS_BOSTON); qdev_init_nofail(dev); =20 s =3D BOSTON(dev); s->mach =3D machine; =20 if (!cpu_supports_cps_smp(machine->cpu_type)) { error_report("Boston requires CPUs which support CPS"); exit(1); } =20 is_64b =3D cpu_supports_isa(machine->cpu_type, ISA_MIPS64); =20 sysbus_init_child_obj(OBJECT(machine), "cps", OBJECT(&s->cps), sizeof(s->cps), TYPE_MIPS_CPS); object_property_set_str(OBJECT(&s->cps), machine->cpu_type, "cpu-type", - &err); - object_property_set_int(OBJECT(&s->cps), machine->smp.cpus, "num-vp", = &err); - object_property_set_bool(OBJECT(&s->cps), true, "realized", &err); - - if (err !=3D NULL) { - error_report("%s", error_get_pretty(err)); - exit(1); - } - + &error_fatal); + object_property_set_int(OBJECT(&s->cps), machine->smp.cpus, "num-vp", + &error_fatal); + object_property_set_bool(OBJECT(&s->cps), true, "realized", &error_fat= al); sysbus_mmio_map_overlap(SYS_BUS_DEVICE(&s->cps), 0, 0, 1); =20 flash =3D g_new(MemoryRegion, 1); - memory_region_init_rom(flash, NULL, "boston.flash", 128 * MiB, &err); + memory_region_init_rom(flash, NULL, "boston.flash", 128 * MiB, + &error_fatal); memory_region_add_subregion_overlap(sys_mem, 0x18000000, flash, 0); =20 memory_region_add_subregion_overlap(sys_mem, 0x80000000, machine->ram,= 0); =20 ddr_low_alias =3D g_new(MemoryRegion, 1); memory_region_init_alias(ddr_low_alias, NULL, "boston_low.ddr", machine->ram, 0, MIN(machine->ram_size, (256 * MiB))); memory_region_add_subregion_overlap(sys_mem, 0, ddr_low_alias, 0); =20 xilinx_pcie_init(sys_mem, 0, 0x10000000, 32 * MiB, 0x40000000, 1 * GiB, get_cps_irq(&s->cps, 2), false); =20 xilinx_pcie_init(sys_mem, 1, 0x12000000, 32 * MiB, 0x20000000, 512 * MiB, get_cps_irq(&s->cps, 1), false); =20 pcie2 =3D xilinx_pcie_init(sys_mem, 2, 0x14000000, 32 * MiB, 0x16000000, 1 * MiB, get_cps_irq(&s->cps, 0), true); =20 platreg =3D g_new(MemoryRegion, 1); memory_region_init_io(platreg, NULL, &boston_platreg_ops, s, "boston-platregs", 0x1000); memory_region_add_subregion_overlap(sys_mem, 0x17ffd000, platreg, 0); =20 s->uart =3D serial_mm_init(sys_mem, 0x17ffe000, 2, get_cps_irq(&s->cps, 3), 10000000, serial_hd(0), DEVICE_NATIVE_ENDIAN); =20 lcd =3D g_new(MemoryRegion, 1); memory_region_init_io(lcd, NULL, &boston_lcd_ops, s, "boston-lcd", 0x8= ); memory_region_add_subregion_overlap(sys_mem, 0x17fff000, lcd, 0); =20 chr =3D qemu_chr_new("lcd", "vc:320x240", NULL); qemu_chr_fe_init(&s->lcd_display, chr, NULL); qemu_chr_fe_set_handlers(&s->lcd_display, NULL, NULL, boston_lcd_event, NULL, s, NULL, true); =20 ahci =3D pci_create_simple_multifunction(&PCI_BRIDGE(&pcie2->root)->se= c_bus, PCI_DEVFN(0, 0), true, TYPE_ICH9_AHCI); g_assert(ARRAY_SIZE(hd) =3D=3D ahci_get_num_ports(ahci)); ide_drive_get(hd, ahci_get_num_ports(ahci)); ahci_ide_create_devs(ahci, hd); =20 if (machine->firmware) { fw_size =3D load_image_targphys(machine->firmware, 0x1fc00000, 4 * MiB); if (fw_size =3D=3D -1) { error_report("unable to load firmware image '%s'", machine->firmware); exit(1); } } else if (machine->kernel_filename) { fit_err =3D load_fit(&boston_fit_loader, machine->kernel_filename,= s); if (fit_err) { error_report("unable to load FIT image"); exit(1); } =20 gen_firmware(memory_region_get_ram_ptr(flash) + 0x7c00000, s->kernel_entry, s->fdt_base, is_64b); } else if (!qtest_enabled()) { error_report("Please provide either a -kernel or -bios argument"); exit(1); } } --=20 2.21.1 From nobody Fri Apr 26 04:43:39 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; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1585164457; cv=none; d=zohomail.com; s=zohoarc; b=ewNOIk0pBB8jzD1QewdGd9LXoxCevsO3kjFqCLC6qjJfacHcLt8U8imBSjTRXfYief+djAWw4RH/sW8QgWTUxQrW+mCnxMR4f12orKoz4Egx3SUAtM18TKgwuMRFcKSpE1xfVwgnf0WQBUn/BLTov7X7vz5ULJmM7Vuv/62JXcQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1585164457; 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=mJWqK5dP/JUjGEuwE5rKgl6cBOxlAe6qQTEyZU8C8W0=; b=GVkBa93Je2mV/a5EmCrSlFWEKNQAcnrjwFTrfvXL3nBvSaphCFqwPuep90Epj3xhxY5KF1HnUMjvlWRlAhTwEblMxdr+iiQ5Fl2sIEZHja/XhNSE2VsUGp5sNG7SXjCGAUgUvZcqNtsNPHeVV/2uOrXxVCjdA8w96zTzyvE641c= 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1585164457289926.9945227964113; Wed, 25 Mar 2020 12:27:37 -0700 (PDT) Received: from localhost ([::1]:42070 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBgd-0003eJ-UF for importer@patchew.org; Wed, 25 Mar 2020 15:27:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53526) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBYN-0000QR-D0 for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:19:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHBYM-00005s-85 for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:19:03 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:50236) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jHBYM-0008WU-1u; Wed, 25 Mar 2020 15:19:02 -0400 Received: by mail-wm1-x342.google.com with SMTP id d198so3846530wmd.0; Wed, 25 Mar 2020 12:19:01 -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.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2020 12:18:59 -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=mJWqK5dP/JUjGEuwE5rKgl6cBOxlAe6qQTEyZU8C8W0=; b=VleCQCB2ornO9w/JxmRfcHEknZBnTHp7eX+ggBV84+MqPxxRabg1vxAR5ZLJUiaD8X WRk/rzD7DwTyQqStxRXjvhzX6OZMHkUPsBCJ5RO5HEr42KkKsglR3UCWdso+9PogQgDG RSQoAV09hl8gpLd5dq2pYv3iTJXnJMVHdhscJMPLG3IIxniBxbWovSYQlvHCbr9SJM+a QaYZjJcnjLopmdXcvMU0Ujy56D4j8yMydlmLQghGfciCIbIkKt2zOjhymPs1o9EKrzMe XRa92Pr9y7pvFQfRzjcW7PFyVayrRjJdQ0Zo97j34dCjki13dNHYL7UpELRBNFldy6+u tRpQ== 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=mJWqK5dP/JUjGEuwE5rKgl6cBOxlAe6qQTEyZU8C8W0=; b=kbxkKBJN7BiV9+kPIoBsOoNC5/e2i/iJfc8t7pLROcsEk3dGOks1YzvPKOJDF6r612 ZRWuQ6Em/IAyPh4aa0RWFEpiTgm4fWl8FQpl9wPEoRX4BiJnunURzqgfo13pCgxuqA4P S+N+7iTQg13AiV9YDI/0na2oDEsuiurdErVillegb0NXoml5DzBSs5BaTAhPoDTSDslV sxDk2MULGLZO5CqzrM3o45W+PWP2RP41TRc50rv9mwnf7To0Q5x6Cm/v7NEBD8K0o0NX nItaDCEYWRMRa3HAQ5PWxobuDDNPlcXv2+xGNMzNlT2sl8PvdPfFDdKq0HiJG0W/tZgo uF8g== X-Gm-Message-State: ANhLgQ1vZ0/jXpVA7HPCMsBfgS6whKZsVLPE34APt6lJISVVFxG4tAtY A/I/dLcsH51ndnOxM5POmteUXseT0Ck= X-Google-Smtp-Source: ADFU+vsZJ2kDOybje24dj6jJl/WlOq2ip81mCzO5QWZlbxJukNvoz8idUswBtE/zTlmzkvq1ZJ2ocQ== X-Received: by 2002:a05:600c:2051:: with SMTP id p17mr4738300wmg.153.1585163940694; Wed, 25 Mar 2020 12:19:00 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH-for-5.0 09/12] hw/mips/mips_malta: Add missing error-propagation code Date: Wed, 25 Mar 2020 20:18:27 +0100 Message-Id: <20200325191830.16553-10-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) Running the coccinelle script produced: $ 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 --dir hw [[manual check required: error_propagate() might be missing in object_pro= perty_set_int() hw/mips/mips_malta.c:1193:4]] [[manual check required: error_propagate() might be missing in object_pro= perty_set_str() hw/mips/mips_malta.c:1192:4]] Add the missing error_propagate() after manual review by adding a Error* parameter to create_cps(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Aleksandar Markovic Reviewed-by: Peter Maydell --- hw/mips/mips_malta.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c index e4c4de1b4e..8d43cfd41b 100644 --- a/hw/mips/mips_malta.c +++ b/hw/mips/mips_malta.c @@ -1183,22 +1183,31 @@ static void create_cpu_without_cps(MachineState *ms, } =20 static void create_cps(MachineState *ms, MaltaState *s, - qemu_irq *cbus_irq, qemu_irq *i8259_irq) + qemu_irq *cbus_irq, qemu_irq *i8259_irq, + Error **errp) { Error *err =3D NULL; =20 sysbus_init_child_obj(OBJECT(s), "cps", OBJECT(&s->cps), sizeof(s->cps= ), TYPE_MIPS_CPS); object_property_set_str(OBJECT(&s->cps), ms->cpu_type, "cpu-type", &er= r); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_int(OBJECT(&s->cps), ms->smp.cpus, "num-vp", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_bool(OBJECT(&s->cps), true, "realized", &err); - if (err !=3D NULL) { - error_report("%s", error_get_pretty(err)); - exit(1); + if (err) { + error_propagate(errp, err); + return; } =20 sysbus_mmio_map_overlap(SYS_BUS_DEVICE(&s->cps), 0, 0, 1); =20 *i8259_irq =3D get_cps_irq(&s->cps, 3); *cbus_irq =3D NULL; } @@ -1206,9 +1215,9 @@ static void create_cps(MachineState *ms, MaltaState *= s, static void mips_create_cpu(MachineState *ms, MaltaState *s, qemu_irq *cbus_irq, qemu_irq *i8259_irq) { if ((ms->smp.cpus > 1) && cpu_supports_cps_smp(ms->cpu_type)) { - create_cps(ms, s, cbus_irq, i8259_irq); + create_cps(ms, s, cbus_irq, i8259_irq, &error_fatal); } else { create_cpu_without_cps(ms, cbus_irq, i8259_irq); } } --=20 2.21.1 From nobody Fri Apr 26 04:43:39 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=1585164473; cv=none; d=zohomail.com; s=zohoarc; b=NckN2iMRjK5X7w+omnkCdq5TggUuBtUVttIpp9Z54CZlDNxGrjQ36oWW7q5hzIvMSLLIE+qQ7zEWZxAOmpbvK9nDa3g9o+Jj4A4jjqQN7rtcRSChevIO600ehlt+TOpB3iV89hs9bxL1FYBjeiaFYp4G6VOvXEUmDPmXd00sznM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1585164473; 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=9usvSGI/eVqKf05MvHpkRmaqSX5CGG2+AA8VX96K1ZM=; b=QRcqE2eq6QK3gIoblb68mSpa3mbucHUIYWot0dmhFjhUAdSnbgOcMiVnT4mq7+i5TKGXnFIeDxzE0QQxOC1aWvwj9Vh89OIWpuRs0Hlpre0smyoNel5LDP5OPQB9iZ2/2/PNQ6n/NwMF6Ct0AQv0zPpuTpz34Ur2tdvHAk/F9LM= 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 1585164473975451.08571055504206; Wed, 25 Mar 2020 12:27:53 -0700 (PDT) Received: from localhost ([::1]:42074 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBgu-0004CD-MN for importer@patchew.org; Wed, 25 Mar 2020 15:27:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53583) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBYQ-0000X3-Hn for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:19:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHBYP-00007f-51 for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:19:06 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:39682) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jHBYO-000077-UD; Wed, 25 Mar 2020 15:19:05 -0400 Received: by mail-wr1-x430.google.com with SMTP id p10so4693473wrt.6; Wed, 25 Mar 2020 12:19:04 -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.19.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2020 12:19:02 -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=9usvSGI/eVqKf05MvHpkRmaqSX5CGG2+AA8VX96K1ZM=; b=VGPd1RDB0/AJDx07lYAilZaavW0HriN10KKEQi57luf9qajxxahydp3lel1OVZF58k hDJ70tNf2E32isOLObgoh/RN52wCFJcGErCbJawZttA1CZBxr9u6/CavwWU/M7s3fQL3 ogvVENbDNGAFztrVOnAPyeRnbxgFiOQZkz5n3EoDEdmZ9lyRI5dWFsyrILXxcsPimNv5 GnvpEkXCI1fc+kx40rABmwiXoE2pqQBnnOv191dqd+SCf1UcEZW0C8CRdnEwVg6knsLS 8Y653opcLUjr3pgOxIAe69+XAwxm5D51JZMLYihP7mbZqqthHrF4eZlcU8CJKJTV4EUw gbyw== 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=9usvSGI/eVqKf05MvHpkRmaqSX5CGG2+AA8VX96K1ZM=; b=WWZh0nMrl/3CEsKbiZYJ1cPngRCHGgNa3qkCDhCnUWJegu2LuaU4Qb1RLGYD06uZ7B 6DQU1yIX7i/0oiWYZd7sZt2ihr81pp1yvabhwHqLaWdJeUocvYMSveJiKUVf9gxyOFiR TlSuxJVPkq7TAd/66MhmspQ2E/W1xB2ODhxbNh4/RV5tygpPuhhuAl3aNDrOGUORvXwr ULm+PwiAwcBjmb0MibMiemKN4d1jZ9esUE5WmK1gJFGPtWib5S/60hT+MUhKvtjW0MM1 2hwhozm6pjBA/3Fz5CMjR/KKOw/U6fevyHow1wBkF3VhLSQzAyffGCWTWPiixwcoQIMS pdeQ== X-Gm-Message-State: ANhLgQ03dzI9kOao1MxG3QDVWDPmZjA4W9GQkFWQAtle87mz+TZ3UGOT 1eG0oCBEYpka/Wt+qM1ywb02RSLWg98= X-Google-Smtp-Source: ADFU+vv/rTw1f6skK2gM0CaK7KTQ/4o0yvyb5f4/dLQOpOFPD/j5JXqBWlajQ/oVDBS7+PJzWxSdtQ== X-Received: by 2002:a5d:50d1:: with SMTP id f17mr5318535wrt.150.1585163943562; Wed, 25 Mar 2020 12:19:03 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH-for-5.0 10/12] hw/misc/macio/macio: Add missing error-propagation code Date: Wed, 25 Mar 2020 20:18:28 +0100 Message-Id: <20200325191830.16553-11-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::430 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) Running the coccinelle script produced: $ 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 --dir hw [[manual check required: error_propagate() might be missing in object_pro= perty_set_bool() hw/misc/macio/macio.c:350:8]] Add the missing error_propagate() after manual review. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: David Gibson Reviewed-by: David Gibson Reviewed-by: Peter Maydell --- hw/misc/macio/macio.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c index 79222192e8..fffb64a7d5 100644 --- a/hw/misc/macio/macio.c +++ b/hw/misc/macio/macio.c @@ -292,98 +292,102 @@ static const MemoryRegionOps timer_ops =3D { static void macio_newworld_realize(PCIDevice *d, Error **errp) { MacIOState *s =3D MACIO(d); NewWorldMacIOState *ns =3D NEWWORLD_MACIO(d); DeviceState *pic_dev =3D DEVICE(ns->pic); Error *err =3D NULL; SysBusDevice *sysbus_dev; MemoryRegion *timer_memory =3D NULL; =20 macio_common_realize(d, &err); if (err) { error_propagate(errp, err); return; } =20 sysbus_dev =3D SYS_BUS_DEVICE(&s->escc); sysbus_connect_irq(sysbus_dev, 0, qdev_get_gpio_in(pic_dev, NEWWORLD_ESCCB_IRQ)= ); sysbus_connect_irq(sysbus_dev, 1, qdev_get_gpio_in(pic_dev, NEWWORLD_ESCCA_IRQ)= ); =20 /* OpenPIC */ sysbus_dev =3D SYS_BUS_DEVICE(ns->pic); memory_region_add_subregion(&s->bar, 0x40000, sysbus_mmio_get_region(sysbus_dev, 0)); =20 /* IDE buses */ macio_realize_ide(s, &ns->ide[0], qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_IRQ), qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_DMA_IRQ), 0x16, &err); if (err) { error_propagate(errp, err); return; } =20 macio_realize_ide(s, &ns->ide[1], qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_IRQ), qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_DMA_IRQ), 0x1a, &err); if (err) { error_propagate(errp, err); return; } =20 /* Timer */ timer_memory =3D g_new(MemoryRegion, 1); memory_region_init_io(timer_memory, OBJECT(s), &timer_ops, NULL, "time= r", 0x1000); memory_region_add_subregion(&s->bar, 0x15000, timer_memory); =20 if (ns->has_pmu) { /* GPIOs */ sysbus_dev =3D SYS_BUS_DEVICE(&ns->gpio); object_property_set_link(OBJECT(&ns->gpio), OBJECT(pic_dev), "pic", &error_abort); memory_region_add_subregion(&s->bar, 0x50, sysbus_mmio_get_region(sysbus_dev, 0)); object_property_set_bool(OBJECT(&ns->gpio), true, "realized", &err= ); + if (err) { + error_propagate(errp, err); + return; + } =20 /* PMU */ object_initialize_child(OBJECT(s), "pmu", &s->pmu, sizeof(s->pmu), TYPE_VIA_PMU, &error_abort, NULL); object_property_set_link(OBJECT(&s->pmu), OBJECT(sysbus_dev), "gpi= o", &error_abort); qdev_prop_set_bit(DEVICE(&s->pmu), "has-adb", ns->has_adb); qdev_set_parent_bus(DEVICE(&s->pmu), BUS(&s->macio_bus)); =20 object_property_set_bool(OBJECT(&s->pmu), true, "realized", &err); if (err) { error_propagate(errp, err); return; } sysbus_dev =3D SYS_BUS_DEVICE(&s->pmu); sysbus_connect_irq(sysbus_dev, 0, qdev_get_gpio_in(pic_dev, NEWWORLD_PMU_IR= Q)); memory_region_add_subregion(&s->bar, 0x16000, sysbus_mmio_get_region(sysbus_dev, 0)); } else { /* CUDA */ object_initialize_child(OBJECT(s), "cuda", &s->cuda, sizeof(s->cud= a), TYPE_CUDA, &error_abort, NULL); qdev_set_parent_bus(DEVICE(&s->cuda), BUS(&s->macio_bus)); qdev_prop_set_uint64(DEVICE(&s->cuda), "timebase-frequency", s->frequency); =20 object_property_set_bool(OBJECT(&s->cuda), true, "realized", &err); if (err) { error_propagate(errp, err); return; } sysbus_dev =3D SYS_BUS_DEVICE(&s->cuda); sysbus_connect_irq(sysbus_dev, 0, qdev_get_gpio_in(pic_dev, NEWWORLD_CUDA_I= RQ)); memory_region_add_subregion(&s->bar, 0x16000, sysbus_mmio_get_region(sysbus_dev, 0)); } } --=20 2.21.1 From nobody Fri Apr 26 04:43:39 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=1585164471; cv=none; d=zohomail.com; s=zohoarc; b=htRajIeX+hOWWrxnSgr/ylVaWJX/PgIIwVkqXURo8ArIxbWSBobHliCI8oFwL4+p8zphZ1AjveWX489aUFElfHXVme3FCiQC1mzNbmR02Szy4Km4QD7m7NxyWfi2+m9t7TWNCBPPGdZddqjfaZTXU4WT+iRuA6KNonxAtJAJoPQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1585164471; 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=FLAg7xZQkFQ92vwN68WYTdAYbQO9ogHsGkYV8gRk1bg=; b=WjLh280ddhpELmE8+uUI/0kMlbIdAYp+7xx7Cy6NQo+pdMuuF/Y4vbuiSCMYqTQk6T3H0Swgl3Sj0/dxzmyzr72l/Ebos6q+NXXjOWLgNwfOffvQCyIjhmS0PvkjDggyEKtfZ57td5Yedh9wIF8OU/WWawA74/V3dWtGK/hVZ10= 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 1585164471327588.8603736221597; Wed, 25 Mar 2020 12:27:51 -0700 (PDT) Received: from localhost ([::1]:42072 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBgs-000474-4Y for importer@patchew.org; Wed, 25 Mar 2020 15:27:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53639) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBYU-0000eF-4E for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:19:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHBYS-00009s-0b for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:19:09 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:54113) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jHBYR-00009B-QC; Wed, 25 Mar 2020 15:19:07 -0400 Received: by mail-wm1-x329.google.com with SMTP id b12so3821663wmj.3; Wed, 25 Mar 2020 12:19:07 -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.19.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2020 12:19:05 -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=FLAg7xZQkFQ92vwN68WYTdAYbQO9ogHsGkYV8gRk1bg=; b=aM2i9xGPlxc7eiNKXcKUby7/ZlPXd+ZoPY3tUflSCFFLJjNxH7u/XyAwYjn2/zuLUD 12fiaUWkLFIMzNunmhbWuJjNQDqUXacbAEiOwz7gFocslD+8ACOxJTFu4EcLBBP1Zv2k UJCrRUZS95pqFWH9bnkuf0xZ4d6pugF+IOuJajLtdwSkQFCfUh6YApTPd7SsMAuhcaHX NJKsKBJKyRyl3hVWK8juW/l7Itu0FeesPLePueykBBN6WRhLutNNPh2IR5eusoqjfw3F +pZoInKcPJuHu7Ta7jMn01ezdTHGSJbislTtHSaGDv8ZidIRO+RqCd8dXfjZAMLp8diY Y3uw== 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=FLAg7xZQkFQ92vwN68WYTdAYbQO9ogHsGkYV8gRk1bg=; b=Js+8JV5jFpyru/8YUY9BZs7uz30L+/xCi0FBSUuDwSGe8wtjMxvNMBTwMkSqk6EEN4 6MOtvlVs2sYENU2wZLMFFrv6rC2GnxEAwTDFr+nI3Qs4OTccrK7GgmtpxDF4PZwM758d pxy+VFVbbd039A2bChly2rqZHoVvewLvH9/dNLK2XNqwPpp11OC1RKPAtYWzfeOn4qbG DkwUDOKAWtNdJdRyaIPcXRTITMoj0JKDZfbQb39quA0vq7HHB2AuxP8Cd3MU2iQ1BvpB RUyCzhhuBnU5Qd1hYP40AWKnKw/tQYiR16Suro8QX2LLJP+CSOVZ5YjKzBMhZMLqLESx o+xA== X-Gm-Message-State: ANhLgQ1RO90Y8uUhlRG38R4eo1z2qXtGYGdpck+8EXu3JF/pl/7oVCkG vBmsA3AbeKU6paNCJRS4dGmpcLsbP8c= X-Google-Smtp-Source: ADFU+vsTDouuJFZhsaN9jpTOHaevaZOuYumtfWR76FoMQzD+z65DCgdk07CJDsio8mPDMbGyndXPiw== X-Received: by 2002:a1c:bcc6:: with SMTP id m189mr5049600wmf.48.1585163946428; Wed, 25 Mar 2020 12:19:06 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH-for-5.0 11/12] hw/net/xilinx_axienet: Add missing error-propagation code Date: Wed, 25 Mar 2020 20:18:29 +0100 Message-Id: <20200325191830.16553-12-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::329 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) Running the coccinelle script produced: $ 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 --dir hw [[manual check required: error_propagate() might be missing in object_pro= perty_set_link() hw/net/xilinx_axienet.c:969:4]] Add the missing error_propagate() after manual review. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/net/xilinx_axienet.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c index 704788811a..f11510a71e 100644 --- a/hw/net/xilinx_axienet.c +++ b/hw/net/xilinx_axienet.c @@ -948,39 +948,42 @@ static NetClientInfo net_xilinx_enet_info =3D { static void xilinx_enet_realize(DeviceState *dev, Error **errp) { XilinxAXIEnet *s =3D XILINX_AXI_ENET(dev); XilinxAXIEnetStreamSlave *ds =3D XILINX_AXI_ENET_DATA_STREAM(&s->rx_da= ta_dev); XilinxAXIEnetStreamSlave *cs =3D XILINX_AXI_ENET_CONTROL_STREAM( &s->rx_control= _dev); Error *local_err =3D NULL; =20 object_property_add_link(OBJECT(ds), "enet", "xlnx.axi-ethernet", (Object **) &ds->enet, object_property_allow_set_link, OBJ_PROP_LINK_STRONG, &local_err); object_property_add_link(OBJECT(cs), "enet", "xlnx.axi-ethernet", (Object **) &cs->enet, object_property_allow_set_link, OBJ_PROP_LINK_STRONG, &local_err); if (local_err) { goto xilinx_enet_realize_fail; } object_property_set_link(OBJECT(ds), OBJECT(s), "enet", &local_err); + if (local_err) { + goto xilinx_enet_realize_fail; + } object_property_set_link(OBJECT(cs), OBJECT(s), "enet", &local_err); if (local_err) { goto xilinx_enet_realize_fail; } =20 qemu_macaddr_default_if_unset(&s->conf.macaddr); s->nic =3D qemu_new_nic(&net_xilinx_enet_info, &s->conf, object_get_typename(OBJECT(dev)), dev->id, s); qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a); =20 tdk_init(&s->TEMAC.phy); mdio_attach(&s->TEMAC.mdio_bus, &s->TEMAC.phy, s->c_phyaddr); =20 s->TEMAC.parent =3D s; =20 s->rxmem =3D g_malloc(s->c_rxmem); return; --=20 2.21.1 From nobody Fri Apr 26 04:43:39 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; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1585164546; cv=none; d=zohomail.com; s=zohoarc; b=i0O4JhxhS/MC560OYCDg5OCANAWAbl0KqwZ2Z4hCrzOE1MrxapxgxTp/VogPWx5BAoG3meaFl7d6mRBHNZUCMRU+AvS07E79AuAKqX8YvNEjPdlYI8qSaKiVsDT9xybB2710z6JRSKrFgOC0S8apKXeKo/SQeKDmtg8PJISycoQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1585164546; 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=34e/1tkh8UzMXO9BSDRz0SbUnMBtdxSyq4dkJt/HptY=; b=NQhYhWYSYmG1BMKAEnXpNm/2a73KV+Fvtq9HnQawI0gKmYNzyXwPaDd7jx+3fvCXSSvYZb00nwlAe9BAg9ogOK9KPoAq3ruyQu8JrIP8E4uW7objktxB01el7+d1bjFeFjLuXlkqkq3y2xzbc1JZKcmqyJMMfcsZbXzNNRCfp/E= 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1585164546755248.37490084523586; Wed, 25 Mar 2020 12:29:06 -0700 (PDT) Received: from localhost ([::1]:42120 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBi5-0006gS-G7 for importer@patchew.org; Wed, 25 Mar 2020 15:29:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53700) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHBYW-0000ky-Cy for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:19:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHBYU-0000C1-UW for qemu-devel@nongnu.org; Wed, 25 Mar 2020 15:19:12 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:34725) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jHBYU-0000B9-N8; Wed, 25 Mar 2020 15:19:10 -0400 Received: by mail-wr1-x443.google.com with SMTP id 65so4741522wrl.1; Wed, 25 Mar 2020 12:19:10 -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.19.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2020 12:19:08 -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=34e/1tkh8UzMXO9BSDRz0SbUnMBtdxSyq4dkJt/HptY=; b=H7FYIj1kPOc3ehdYcW7MvD7RGjdbT9PCSra9IQq2r350xDWbE8FdP76m6Rp+A3OKZO qbMR/hUgLwd/jPE7FxPiGF7HHcaaWC1ddkhu0WONfBc45y/4setWflwXcLk2YH1sFK4x f1c1wFiEWpUhxMLFhFyq/jiIWhYcHsss5qzqKGWx3qIgojpGZ0Vi3+5MHPMKgllAI6/H cFAEuCpTJFYVDfAcUfZmkDeFB+g5jJUEYQ9KDp4od5szUahLJtBNhKxFKsnxgnxxqZxz 2Y9srB8FB/EFQZ02DScqhCuJQcmchdxQ5xy5kvVosqGwFzDdF/WcBioQzNWo1PIxnt58 aBtg== 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=34e/1tkh8UzMXO9BSDRz0SbUnMBtdxSyq4dkJt/HptY=; b=qaBK77WqHruu0wmOVFoVJGfef3yluDIWy8ybB0nqwlj8u/AQiRS6Bt0PaeWYI6dG79 0I5Toju+P2pYvP2kJqnNhP5Tw2UUQf9Fv5cNJFh1gvFg+b2ji/V+XUDhUbhQ7v/8H6s5 +1efCwO+P9PvHgc1mGgGx2b6GfwYOWtM/tXLZiukOXCYoQxVTPGrihw3FD1iwJyjPmTj SMnHicnSq9dcUbV7GE+lwyWbyDm3RDNR5wajTFb6u2di4llVZZT8XFYNMH32umm+eQHq z3v+NMCg4poAmKk7r6Kh88MfOFHoKTf9SIwxp+rZJu918osAE52b1O0c/667+a41KbRR csyQ== X-Gm-Message-State: ANhLgQ1DvJ/p5W3mZ8IrJUDl3WDbR1QX7oubNSPo0gCQm0AMkxFd8D2Y 0ZdDDlkieeA9Sv+9eeEHj3Y6z+igaXE= X-Google-Smtp-Source: ADFU+vvYPZcXigBt8X/Lok18x2u5CNVTDYBc6nZFM0ULnlB1vR0IPo4W/wxE131g0b6ZuX6vTmhxCA== X-Received: by 2002:adf:ce07:: with SMTP id p7mr4944531wrn.261.1585163949299; Wed, 25 Mar 2020 12:19:09 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH-for-5.0 12/12] hw/riscv/sifive_u: Add missing error-propagation code Date: Wed, 25 Mar 2020 20:18:30 +0100 Message-Id: <20200325191830.16553-13-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::443 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) Running the coccinelle script produced: $ 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 --dir hw [[manual check required: error_propagate() might be missing in object_pro= perty_set_bool() hw/riscv/sifive_u.c:558:4]] [[manual check required: error_propagate() might be missing in object_pro= perty_set_bool() hw/riscv/sifive_u.c:561:4]] Add the missing error_propagate() after manual review. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Reviewed-by: Peter Maydell --- hw/riscv/sifive_u.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 56351c4faa..01e44018cd 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -473,113 +473,121 @@ static void riscv_sifive_u_machine_instance_init(Ob= ject *obj) static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) { MachineState *ms =3D MACHINE(qdev_get_machine()); SiFiveUSoCState *s =3D RISCV_U_SOC(dev); const struct MemmapEntry *memmap =3D sifive_u_memmap; MemoryRegion *system_memory =3D get_system_memory(); MemoryRegion *mask_rom =3D g_new(MemoryRegion, 1); MemoryRegion *l2lim_mem =3D g_new(MemoryRegion, 1); qemu_irq plic_gpios[SIFIVE_U_PLIC_NUM_SOURCES]; char *plic_hart_config; size_t plic_hart_config_len; int i; Error *err =3D NULL; NICInfo *nd =3D &nd_table[0]; =20 object_property_set_bool(OBJECT(&s->e_cpus), true, "realized", &error_abort); object_property_set_bool(OBJECT(&s->u_cpus), true, "realized", &error_abort); /* * The cluster must be realized after the RISC-V hart array container, * as the container's CPU object is only created on realize, and the * CPU must exist and have been parented into the cluster before the * cluster is realized. */ object_property_set_bool(OBJECT(&s->e_cluster), true, "realized", &error_abort); object_property_set_bool(OBJECT(&s->u_cluster), true, "realized", &error_abort); =20 /* boot rom */ memory_region_init_rom(mask_rom, OBJECT(dev), "riscv.sifive.u.mrom", memmap[SIFIVE_U_MROM].size, &error_fatal); memory_region_add_subregion(system_memory, memmap[SIFIVE_U_MROM].base, mask_rom); =20 /* * Add L2-LIM at reset size. * This should be reduced in size as the L2 Cache Controller WayEnable * register is incremented. Unfortunately I don't see a nice (or any) = way * to handle reducing or blocking out the L2 LIM while still allowing = it * be re returned to all enabled after a reset. For the time being, ju= st * leave it enabled all the time. This won't break anything, but will = be * too generous to misbehaving guests. */ memory_region_init_ram(l2lim_mem, NULL, "riscv.sifive.u.l2lim", memmap[SIFIVE_U_L2LIM].size, &error_fatal); memory_region_add_subregion(system_memory, memmap[SIFIVE_U_L2LIM].base, l2lim_mem); =20 /* create PLIC hart topology configuration string */ plic_hart_config_len =3D (strlen(SIFIVE_U_PLIC_HART_CONFIG) + 1) * ms->smp.cpus; plic_hart_config =3D g_malloc0(plic_hart_config_len); for (i =3D 0; i < ms->smp.cpus; i++) { if (i !=3D 0) { strncat(plic_hart_config, "," SIFIVE_U_PLIC_HART_CONFIG, plic_hart_config_len); } else { strncat(plic_hart_config, "M", plic_hart_config_len); } plic_hart_config_len -=3D (strlen(SIFIVE_U_PLIC_HART_CONFIG) + 1); } =20 /* MMIO */ s->plic =3D sifive_plic_create(memmap[SIFIVE_U_PLIC].base, plic_hart_config, SIFIVE_U_PLIC_NUM_SOURCES, SIFIVE_U_PLIC_NUM_PRIORITIES, SIFIVE_U_PLIC_PRIORITY_BASE, SIFIVE_U_PLIC_PENDING_BASE, SIFIVE_U_PLIC_ENABLE_BASE, SIFIVE_U_PLIC_ENABLE_STRIDE, SIFIVE_U_PLIC_CONTEXT_BASE, SIFIVE_U_PLIC_CONTEXT_STRIDE, memmap[SIFIVE_U_PLIC].size); g_free(plic_hart_config); sifive_uart_create(system_memory, memmap[SIFIVE_U_UART0].base, serial_hd(0), qdev_get_gpio_in(DEVICE(s->plic), SIFIVE_U_UART0_IRQ= )); sifive_uart_create(system_memory, memmap[SIFIVE_U_UART1].base, serial_hd(1), qdev_get_gpio_in(DEVICE(s->plic), SIFIVE_U_UART1_IRQ= )); sifive_clint_create(memmap[SIFIVE_U_CLINT].base, memmap[SIFIVE_U_CLINT].size, ms->smp.cpus, SIFIVE_SIP_BASE, SIFIVE_TIMECMP_BASE, SIFIVE_TIME_BASE, false); =20 object_property_set_bool(OBJECT(&s->prci), true, "realized", &err); + if (err) { + error_propagate(errp, err); + return; + } sysbus_mmio_map(SYS_BUS_DEVICE(&s->prci), 0, memmap[SIFIVE_U_PRCI].bas= e); =20 object_property_set_bool(OBJECT(&s->otp), true, "realized", &err); + if (err) { + error_propagate(errp, err); + return; + } sysbus_mmio_map(SYS_BUS_DEVICE(&s->otp), 0, memmap[SIFIVE_U_OTP].base); =20 for (i =3D 0; i < SIFIVE_U_PLIC_NUM_SOURCES; i++) { plic_gpios[i] =3D qdev_get_gpio_in(DEVICE(s->plic), i); } =20 if (nd->used) { qemu_check_nic_model(nd, TYPE_CADENCE_GEM); qdev_set_nic_properties(DEVICE(&s->gem), nd); } object_property_set_int(OBJECT(&s->gem), GEM_REVISION, "revision", &error_abort); object_property_set_bool(OBJECT(&s->gem), true, "realized", &err); if (err) { error_propagate(errp, err); return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->gem), 0, memmap[SIFIVE_U_GEM].base); sysbus_connect_irq(SYS_BUS_DEVICE(&s->gem), 0, plic_gpios[SIFIVE_U_GEM_IRQ]); =20 create_unimplemented_device("riscv.sifive.u.gem-mgmt", memmap[SIFIVE_U_GEM_MGMT].base, memmap[SIFIVE_U_GEM_MGMT].size); } --=20 2.21.1