From nobody Sat Nov 15 01:20:41 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; 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=reject dis=none) header.from=rsg.ci.i.u-tokyo.ac.jp Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1758117317943281.62048741082435; Wed, 17 Sep 2025 06:55:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uyrsp-0002iL-7E; Wed, 17 Sep 2025 09:07:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uyrpX-0005uP-Rc; Wed, 17 Sep 2025 09:04:32 -0400 Received: from www3579.sakura.ne.jp ([49.212.243.89]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uyrpV-00066D-LT; Wed, 17 Sep 2025 09:04:15 -0400 Received: from h205.csg.ci.i.u-tokyo.ac.jp (h205.csg.ci.i.u-tokyo.ac.jp [133.11.54.205]) (authenticated bits=0) by www3579.sakura.ne.jp (8.16.1/8.16.1) with ESMTPSA id 58HCuN6s008967 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 17 Sep 2025 21:56:42 +0900 (JST) (envelope-from odaki@rsg.ci.i.u-tokyo.ac.jp) DKIM-Signature: a=rsa-sha256; bh=xplWx0T3pH95kfYhsL6HObR0v1/371FsGPZ7likh5Eo=; c=relaxed/relaxed; d=rsg.ci.i.u-tokyo.ac.jp; h=From:Date:Subject:Message-Id:To; s=rs20250326; t=1758113803; v=1; b=u0e4qWkRUJ30ZFxZupPVEGVLpoAX0qgZl3mczzMZJ6ciKmH26JvBI2UbGVLoLb/l RCWQDqjNSH/BwyDKf5oVnYhPptBdNepbPjoI0kDyafZJyT9skmz8F851N3fq4QF9 TGKnQMQYKRm/zCzAjv+WncnP7a7Ja9j2Jx5R9iInHH3UQKlmb7TsQ0Xkrrwsha1G oKI+4Gf5Z06GaycO3NgiwqIk5ZG3pw1l4umaK+XFIuchSh7SJ14vQczC3BZ0qvTr s5OI5nrZMLby0g7zMYdJEeXj+cEcnJEFWSJCS4bnT56F1d6cCIhpZ3CbYNkpCYzZ ORZTrQ9dCXZq58Fkzi59BQ== From: Akihiko Odaki Date: Wed, 17 Sep 2025 21:56:26 +0900 Subject: [PATCH 14/35] hw/misc: QOM-ify AddressSpace MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250917-qom-v1-14-7262db7b0a84@rsg.ci.i.u-tokyo.ac.jp> References: <20250917-qom-v1-0-7262db7b0a84@rsg.ci.i.u-tokyo.ac.jp> In-Reply-To: <20250917-qom-v1-0-7262db7b0a84@rsg.ci.i.u-tokyo.ac.jp> To: qemu-devel@nongnu.org Cc: Richard Henderson , Peter Maydell , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Steven Lee , Troy Lee , Jamin Lin , Andrew Jeffery , Joel Stanley , Eric Auger , Helge Deller , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?Herv=C3=A9_Poussineau?= , Aleksandar Rikalo , "Edgar E. Iglesias" , Alistair Francis , Ninad Palsule , Paolo Bonzini , Eduardo Habkost , "Michael S. Tsirkin" , Marcel Apfelbaum , Jason Wang , Yi Liu , =?utf-8?q?Cl=C3=A9ment_Mathieu--Drif?= , Nicholas Piggin , Aditya Gupta , Gautam Menghani , Song Gao , Bibo Mao , Jiaxun Yang , Jonathan Cameron , Fan Ni , David Hildenbrand , Igor Mammedov , Xiao Guangrong , Beniamino Galvani , Strahinja Jankovic , Subbaraya Sundeep , Jan Kiszka , Laurent Vivier , Andrey Smirnov , Aurelien Jarno , BALATON Zoltan , Bernhard Beschow , Harsh Prateek Bora , Elena Ufimtseva , Jagannathan Raman , Palmer Dabbelt , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Matthew Rosato , Eric Farman , Thomas Huth , Halil Pasic , Christian Borntraeger , Ilya Leoshkevich , Fam Zheng , Bin Meng , Mark Cave-Ayland , Artyom Tarasenko , Peter Xu , Marcelo Tosatti , Max Filippov , qemu-arm@nongnu.org, qemu-ppc@nongnu.org, qemu-riscv@nongnu.org, qemu-s390x@nongnu.org, qemu-block@nongnu.org, kvm@vger.kernel.org, Alex Williamson , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Stefano Garzarella , Alistair Francis , Akihiko Odaki X-Mailer: b4 0.15-dev-179e8 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; Received-SPF: pass client-ip=49.212.243.89; envelope-from=odaki@rsg.ci.i.u-tokyo.ac.jp; helo=www3579.sakura.ne.jp X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1758117323176116600 Make AddressSpaces QOM objects to ensure that they are destroyed when their owners are finalized and also to get a unique path for debugging output. The name arguments were used to distinguish AddresSpaces in debugging output, but they will represent property names after QOM-ification and debugging output will show QOM paths. So change them to make them more concise and also avoid conflicts with other properties. Signed-off-by: Akihiko Odaki --- hw/misc/aspeed_hace.c | 2 +- hw/misc/auxbus.c | 2 +- hw/misc/bcm2835_mbox.c | 3 +-- hw/misc/bcm2835_property.c | 3 +-- hw/misc/max78000_gcr.c | 2 +- hw/misc/tz-mpc.c | 6 ++---- hw/misc/tz-msc.c | 2 +- hw/misc/tz-ppc.c | 5 ++++- 8 files changed, 12 insertions(+), 13 deletions(-) diff --git a/hw/misc/aspeed_hace.c b/hw/misc/aspeed_hace.c index 198363fd64fa..a8a4a91afac8 100644 --- a/hw/misc/aspeed_hace.c +++ b/hw/misc/aspeed_hace.c @@ -603,7 +603,7 @@ static void aspeed_hace_realize(DeviceState *dev, Error= **errp) return; } =20 - address_space_init(&s->dram_as, NULL, s->dram_mr, "dram"); + address_space_init(&s->dram_as, OBJECT(s), s->dram_mr, "as"); =20 sysbus_init_mmio(sbd, &s->iomem); } diff --git a/hw/misc/auxbus.c b/hw/misc/auxbus.c index e5448ef3cc60..d20dd8789ae6 100644 --- a/hw/misc/auxbus.c +++ b/hw/misc/auxbus.c @@ -74,7 +74,7 @@ AUXBus *aux_bus_init(DeviceState *parent, const char *nam= e) /* Memory related. */ bus->aux_io =3D g_malloc(sizeof(*bus->aux_io)); memory_region_init(bus->aux_io, OBJECT(bus), "aux-io", 1 * MiB); - address_space_init(&bus->aux_addr_space, NULL, bus->aux_io, "aux-io"); + address_space_init(&bus->aux_addr_space, OBJECT(bus), bus->aux_io, "as= "); return bus; } =20 diff --git a/hw/misc/bcm2835_mbox.c b/hw/misc/bcm2835_mbox.c index 4bf3c59a40a1..f26aa39ca4e5 100644 --- a/hw/misc/bcm2835_mbox.c +++ b/hw/misc/bcm2835_mbox.c @@ -310,8 +310,7 @@ static void bcm2835_mbox_realize(DeviceState *dev, Erro= r **errp) =20 obj =3D object_property_get_link(OBJECT(dev), "mbox-mr", &error_abort); s->mbox_mr =3D MEMORY_REGION(obj); - address_space_init(&s->mbox_as, NULL, s->mbox_mr, - TYPE_BCM2835_MBOX "-memory"); + address_space_init(&s->mbox_as, OBJECT(s), s->mbox_mr, "as"); bcm2835_mbox_reset(dev); } =20 diff --git a/hw/misc/bcm2835_property.c b/hw/misc/bcm2835_property.c index 8bdde2d248b5..e86d001f17fb 100644 --- a/hw/misc/bcm2835_property.c +++ b/hw/misc/bcm2835_property.c @@ -540,8 +540,7 @@ static void bcm2835_property_realize(DeviceState *dev, = Error **errp) =20 obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &error_abort); s->dma_mr =3D MEMORY_REGION(obj); - address_space_init(&s->dma_as, NULL, s->dma_mr, - TYPE_BCM2835_PROPERTY "-memory"); + address_space_init(&s->dma_as, OBJECT(s), s->dma_mr, "as"); =20 obj =3D object_property_get_link(OBJECT(dev), "otp", &error_abort); s->otp =3D BCM2835_OTP(obj); diff --git a/hw/misc/max78000_gcr.c b/hw/misc/max78000_gcr.c index 0a0692c7cffe..048b265be348 100644 --- a/hw/misc/max78000_gcr.c +++ b/hw/misc/max78000_gcr.c @@ -320,7 +320,7 @@ static void max78000_gcr_realize(DeviceState *dev, Erro= r **errp) { Max78000GcrState *s =3D MAX78000_GCR(dev); =20 - address_space_init(&s->sram_as, NULL, s->sram, "sram"); + address_space_init(&s->sram_as, OBJECT(s), s->sram, "as"); } =20 static void max78000_gcr_class_init(ObjectClass *klass, const void *data) diff --git a/hw/misc/tz-mpc.c b/hw/misc/tz-mpc.c index b8be234630e3..b5415d46feae 100644 --- a/hw/misc/tz-mpc.c +++ b/hw/misc/tz-mpc.c @@ -550,10 +550,8 @@ static void tz_mpc_realize(DeviceState *dev, Error **e= rrp) memory_region_init_io(&s->blocked_io, obj, &tz_mpc_mem_blocked_ops, s, "tz-mpc-blocked-io", size); =20 - address_space_init(&s->downstream_as, NULL, s->downstream, - "tz-mpc-downstream"); - address_space_init(&s->blocked_io_as, NULL, &s->blocked_io, - "tz-mpc-blocked-io"); + address_space_init(&s->downstream_as, obj, s->downstream, "downstream-= as"); + address_space_init(&s->blocked_io_as, obj, &s->blocked_io, "blocked-io= -as"); =20 s->blk_lut =3D g_new0(uint32_t, s->blk_max); } diff --git a/hw/misc/tz-msc.c b/hw/misc/tz-msc.c index ed1c95e2e9fa..07a8a5137d22 100644 --- a/hw/misc/tz-msc.c +++ b/hw/misc/tz-msc.c @@ -260,7 +260,7 @@ static void tz_msc_realize(DeviceState *dev, Error **er= rp) } =20 size =3D memory_region_size(s->downstream); - address_space_init(&s->downstream_as, NULL, s->downstream, name); + address_space_init(&s->downstream_as, obj, s->downstream, "as"); memory_region_init_io(&s->upstream, obj, &tz_msc_ops, s, name, size); sysbus_init_mmio(sbd, &s->upstream); } diff --git a/hw/misc/tz-ppc.c b/hw/misc/tz-ppc.c index 28a1c27aa3cc..ac928accec2d 100644 --- a/hw/misc/tz-ppc.c +++ b/hw/misc/tz-ppc.c @@ -257,6 +257,7 @@ static void tz_ppc_realize(DeviceState *dev, Error **er= rp) for (i =3D 0; i <=3D max_port; i++) { TZPPCPort *port =3D &s->port[i]; char *name; + g_autofree char *as_name =3D NULL; uint64_t size; =20 if (!port->downstream) { @@ -274,9 +275,11 @@ static void tz_ppc_realize(DeviceState *dev, Error **e= rrp) } =20 name =3D g_strdup_printf("tz-ppc-port[%d]", i); + as_name =3D g_strconcat(name, "-as", NULL); =20 port->ppc =3D s; - address_space_init(&port->downstream_as, NULL, port->downstream, n= ame); + address_space_init(&port->downstream_as, obj, port->downstream, + as_name); =20 size =3D memory_region_size(port->downstream); memory_region_init_io(&port->upstream, obj, &tz_ppc_ops, --=20 2.51.0