From nobody Sat Nov 15 01:20:40 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 1758114037556599.3441418911913; Wed, 17 Sep 2025 06:00:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uyrlB-0000bI-OH; Wed, 17 Sep 2025 08:59:47 -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 1uyrkz-0000SA-L5; Wed, 17 Sep 2025 08:59:34 -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 1uyrkw-0005CO-I2; Wed, 17 Sep 2025 08:59:33 -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 58HCuN7F008967 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 17 Sep 2025 21:56:59 +0900 (JST) (envelope-from odaki@rsg.ci.i.u-tokyo.ac.jp) DKIM-Signature: a=rsa-sha256; bh=H8Viwr1cqgug0xlJipwqK4Ddh9h3sxTvY8hZvwlaj9U=; c=relaxed/relaxed; d=rsg.ci.i.u-tokyo.ac.jp; h=From:Date:Subject:Message-Id:To; s=rs20250326; t=1758113820; v=1; b=ASEKTZYuEtYCiyC+S1q0meRd7z5XkixpT3NBMntqIHUfz+u0zb7CO1TAibDaO8Si M1Kt6K1CX2uTX1JQsNDvxB6seFFV1Ef95h4G1o1GsG4bTdYcmlXJosgCognl/9t8 s08EXpyc2oHGY/G6fADfhaJ6amvTtEcHhDqt3c2Jw6k4U3FsgSfjLHgXW78z97rK qF5Ki5NNU2Y/Lt5OxRcNTk7e80JEzE/FpMwoMoLgxMoFc9rsOr4PnGetetyhxzul cQqyKz1qLGmXvn/1B84xIEZg1wNyHrmBxVkojB+TbAsyx9c6n5QW1ViVc7PHdXkb JpUg87NjSDLtKgd/dqk9FQ== From: Akihiko Odaki Date: Wed, 17 Sep 2025 21:56:47 +0900 Subject: [PATCH 35/35] memory: Drop non-QOM AddressSpace support MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250917-qom-v1-35-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: 1758114040134116600 Now all AddressSpace instances are converted to QOM so drop non-QOM AddressSpace support. Signed-off-by: Akihiko Odaki Reviewed-by: Richard Henderson --- include/system/memory.h | 13 ------------- system/memory.c | 26 +++++--------------------- 2 files changed, 5 insertions(+), 34 deletions(-) diff --git a/include/system/memory.h b/include/system/memory.h index 5108e0fba339..9b249b4b3ae2 100644 --- a/include/system/memory.h +++ b/include/system/memory.h @@ -1163,8 +1163,6 @@ struct AddressSpace { /* private: */ Object parent_obj; struct rcu_head rcu; - bool qom; - char *name; MemoryRegion *root; =20 /* Accessed via RCU. */ @@ -2719,17 +2717,6 @@ MemTxResult memory_region_dispatch_write(MemoryRegio= n *mr, void address_space_init(AddressSpace *as, Object *parent, MemoryRegion *ro= ot, const char *name); =20 -/** - * address_space_destroy: destroy an address space - * - * Releases all resources associated with an address space. After an addr= ess space - * is destroyed, its root memory region (given by address_space_init()) ma= y be destroyed - * as well. - * - * @as: address space to be destroyed - */ -void address_space_destroy(AddressSpace *as); - /** * address_space_get_path: get the path to an address space * diff --git a/system/memory.c b/system/memory.c index 7a77ba0f1797..363f50e7a4f0 100644 --- a/system/memory.c +++ b/system/memory.c @@ -3206,11 +3206,7 @@ void address_space_remove_listeners(AddressSpace *as) void address_space_init(AddressSpace *as, Object *parent, MemoryRegion *ro= ot, const char *name) { - if (parent) { - object_initialize_child(parent, name, as, TYPE_ADDRESS_SPACE); - } - - as->qom =3D parent; + object_initialize_child(parent, name, as, TYPE_ADDRESS_SPACE); memory_region_ref(root); as->root =3D root; as->current_map =3D NULL; @@ -3222,12 +3218,11 @@ void address_space_init(AddressSpace *as, Object *p= arent, MemoryRegion *root, as->bounce_buffer_size =3D 0; qemu_mutex_init(&as->map_client_list_lock); QLIST_INIT(&as->map_client_list); - as->name =3D g_strdup(name ? name : "anonymous"); address_space_update_topology(as); address_space_update_ioeventfds(as); } =20 -static void do_address_space_destroy(struct rcu_head *head) +static void do_address_space_finalize(struct rcu_head *head) { AddressSpace *as =3D container_of(head, AddressSpace, rcu); =20 @@ -3238,18 +3233,13 @@ static void do_address_space_destroy(struct rcu_hea= d *head) assert(QTAILQ_EMPTY(&as->listeners)); =20 flatview_unref(as->current_map); - g_free(as->name); g_free(as->ioeventfds); memory_region_unref(as->root); } =20 static void address_space_finalize(Object *obj) { - address_space_destroy(ADDRESS_SPACE(obj)); -} - -void address_space_destroy(AddressSpace *as) -{ + AddressSpace *as =3D ADDRESS_SPACE(obj); MemoryRegion *root =3D as->root; =20 /* Flush out anything from MemoryListeners listening in on this */ @@ -3263,18 +3253,12 @@ void address_space_destroy(AddressSpace *as) * values to expire before freeing the data. */ as->root =3D root; - call_rcu1(&as->rcu, do_address_space_destroy); + call_rcu1(&as->rcu, do_address_space_finalize); } =20 char *address_space_get_path(AddressSpace *as) { - char *path; - - if (!as->qom) { - return as->name; - } - - path =3D object_get_canonical_path(OBJECT(as)); + char *path =3D object_get_canonical_path(OBJECT(as)); =20 return path ? path : g_strdup("orphan"); } --=20 2.51.0