From nobody Mon May 25 16:36:41 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1778021369; cv=none; d=zohomail.com; s=zohoarc; b=mQm+tXj19XdYXe5uUxMhCLQY43vELVR1CNI1BgvL+NRNvdFtmH8i7t8uGDuPS3Zk30Qbc+/eVrXReQ1FlmndiNKU8yOUJVDbVkevsV2UViARzhGcwduTf2GhxAY3I/ahHPCKzhPw8920BTse+CVBsfrBpXOw26PGoMsI1kceEzA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778021369; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=wSZ/Spf9jTX5omsj1ryEHouCjhpkZKbrn85CwyPrVfE=; b=Zx68C6ZByZe5rC88CEdpij0e2zdNKC4GhFSp9yUPHknigvRwL2KCEmuxOBj7tuShOKUvuYAS5kl5pU4LK8fRASLnmlvLfz4Q/nUTWcFQuiv+m4tCV6XNzBAjOLI+sIG0x47XWjwiKPY0mKGwW+hI9nXP44uOTE93MaFFicwDcC8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1778021369680453.2244967170318; Tue, 5 May 2026 15:49:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wKOZB-0006Ox-0v; Tue, 05 May 2026 18:48:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wKOZ9-0006O7-Dl for qemu-devel@nongnu.org; Tue, 05 May 2026 18:48:35 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wKOZ7-00069o-Lp for qemu-devel@nongnu.org; Tue, 05 May 2026 18:48:35 -0400 Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 645EKDuw912453 for ; Tue, 5 May 2026 22:48:31 GMT Received: from mail-dy1-f199.google.com (mail-dy1-f199.google.com [74.125.82.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dyj7jhwpe-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 05 May 2026 22:48:31 +0000 (GMT) Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-2ee1da7a13fso5850313eec.1 for ; Tue, 05 May 2026 15:48:31 -0700 (PDT) Received: from hu-pbouvier-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2f56d4cf2fdsm898953eec.8.2026.05.05.15.48.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 15:48:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= wSZ/Spf9jTX5omsj1ryEHouCjhpkZKbrn85CwyPrVfE=; b=cEGyDVbfLNLYyKjB OwyZspW1d2IOsyAQkx41bTy8EpGZGuJqNpNsMlUlIbzK4PhHnbyQceV0lm9CEuIl a09PwDBODKlw1dh49LN6bo4cp0L9WXHxcpRD2iYTLwV4/YMLWCkH/BV0dz6BQdOS SAKdAYrdx+vN0OmLuK73pLxl2jXGZztxSvKy5cHrQIrew4aw/TpdGDdqDRkSe+8w WHJ2RnDgv6zo4LG+aR20VH1RUmkm72m5CvSvXdskKzPFYJliz6nT/YSKfDAq/Ypo nznfvE6qsp4HGhmMGrFDAIyKLWUBZOj+hymsiDJ+XvlTtOF/hEQ/Wv74QqHkEPDe GEdIIg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778021311; x=1778626111; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wSZ/Spf9jTX5omsj1ryEHouCjhpkZKbrn85CwyPrVfE=; b=R2vClSh7zopBe5LED/R7BgemW0bS0Nafe887Z1XrvgV0EXq1fiqkLEG4EXgH7YYFm7 sklQMbVC+aZ7HYs5RHLjSq2s+Sz9F7h+PFuadw5lal9gw4YVIQ4q/eBneKT0XSsxpZYI YJ9vakVo/bFvAtxXNHGgi29rpi9ZPAXMwoLPAUaPFjys/5/fqVpU/w+p+fSRKw4jRi57 nda6192xEGsoUAPEk11+BoFNy0jVm7SQSOGVy9/7S94wE/S0Yylqe5QWnxxmzOmU18KL GjKxviukSdg1je2e8xcPPvSB2G78gksObsH7YmO2a/hBYzNaA1REYhFXQvYyDfx7lMFw 8E8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778021311; x=1778626111; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=wSZ/Spf9jTX5omsj1ryEHouCjhpkZKbrn85CwyPrVfE=; b=XL4vsIdF1/xMnjlH/amKWeaDmRn9TASnlOSX/UTCwfRzD/5xG+4TG5dhgYazkNeLH9 4mIpskZLnHDxYQNupwn6ZggvQLjYVXr5C6O0qoQEGjYsn2Js29QCSY7IOqkxMN+n6y1W bd/R3gPmQfxDR6ZwhzXCt98qosMwbzF7gnX5FnwVUi7BRf4I4rvvrse3lw6y9naQGB+i 3H0AGymLOC5cSajdEwhixchbur4xnE660/GLXTK3qj35L96QApJJ5LB/lPkvrLVkooQa +YeqWlV7cXoyacG+8izXZSwtJQIlOY+bTL0OUeXmJvYy6XpOl+XaNVMgI7xr1vEouKL3 iwqQ== X-Gm-Message-State: AOJu0YzDMhtuw22mP4apRDtKzxs5fW7wZL6vnJ/dSbMotxtl6t/BN03J PAeQZKGaRKVSlZZjwVQrVpHTj8kjeJSqN7VaKXiANbkp8H5bQIuyy+VPeXLWrECvbpFs+GCExxm hK8CWmos/hxZjWhEJH98WU2Dnkg1xV+6O/WjGAmyf0Rb7bUfqKsDm8Jsv2aVxR4rZ1RGV X-Gm-Gg: AeBDieu8S5T7+ke83ak823nE1J1JvubCq7ibLW34veIKjw2nmlwa1yrhjDUtrqtxjUr 50Xx+FYUjITBSiO9YkBWzNwJtXyDskkN6JVSC4WGusMUhLJRReauVJ74QEun/h+cDdikvyxsiRc wWggMeYvIqASNDg/6Pa9FioF/CUrI4puQ8hPQ74M95yIdAkj4xeYc3J57elV7SdVK+aw2FyRT9O qNks63uWszsAOZSbyyA3gaUwlI3JeO502r7dBq4HKZtdgMBceDfHV9i4W7gx4MYe4pl2YG+fL03 VJkDmdYTWYRmAbQBToSKNbV81XA2yh4pmHTYAid4647+jEfOPQxDwoGtGpjYsHCCLsKwlfq+QN5 sSRBeU1AbRGZfhTOLNE6z23GHnlLlTFPRUqY3EnRcxr4EBS/TEbszxfnvh0QLCOnBQwgwYz/Kvw 5GDi/TvqDO6+/oNhQuXe3nKgozyBw= X-Received: by 2002:a05:7300:434b:b0:2da:1874:f3bd with SMTP id 5a478bee46e88-2f54fa52a90mr515732eec.16.1778021310621; Tue, 05 May 2026 15:48:30 -0700 (PDT) X-Received: by 2002:a05:7300:434b:b0:2da:1874:f3bd with SMTP id 5a478bee46e88-2f54fa52a90mr515720eec.16.1778021309956; Tue, 05 May 2026 15:48:29 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Anton Johansson , marcandre.lureau@redhat.com, Markus Armbruster , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH v4 1/6] target/xtensa/core: register types using type_init Date: Tue, 5 May 2026 15:48:21 -0700 Message-ID: <20260505224826.2698753-2-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260505224826.2698753-1-pierrick.bouvier@oss.qualcomm.com> References: <20260505224826.2698753-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA1MDIyMiBTYWx0ZWRfX5J/oDmpNLa4Y UMKHnOOsh5hzqhXPTvFa7HWzypZbOHwzKWVJZ7+9T1EmlAzY5WHzM6heF+rsfbzdgaq6zxP60QQ Fy5Y/rlaeQzQ+7sZQ0aDUdD4mDtmiPA5i0OhydzfTWctNh2seCuFy7M+cWDF2O1WApSiRfcU77L Y31tIEI2Q7bSB7J09y1Fcya5rLkQoLTkPg+Sg+YA5N1UVcfBcUwI6B/ysiT1It9yUR37XkSvhKA RYhWVkh1JQRRkoVZNVPpWIKKRpzwg8d8jPSKE5BDUwFWRkXKfnNzogF7mQTJei5nr3klOOEj3FD g7Twv8GxS1LEUQEzvVMB4q3Z+lDjNFBlm0t1Q9Eehn8XYcnmNUsxJe2rJs+tha3kKgGVQxmdC24 4xE+meRIRFvyiRMg9lUC/kXRtFRDiW4x7ClPQ35Pq874340rTFpQgBgGaD2X2+2iP/JYsSfVmBB ozMe+2bsc25+kklZKDA== X-Proofpoint-GUID: ya0yOFljRTHmD0k4pUD6Uq3ShNF3EMzk X-Authority-Analysis: v=2.4 cv=FpA1OWrq c=1 sm=1 tr=0 ts=69fa73bf cx=c_pps a=cFYjgdjTJScbgFmBucgdfQ==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=W37sF3GUcAVBL6lWIEgA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=scEy_gLbYbu1JhEsrz4S:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: ya0yOFljRTHmD0k4pUD6Uq3ShNF3EMzk X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-05_02,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 impostorscore=0 malwarescore=0 priorityscore=1501 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050222 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=pierrick.bouvier@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1778021371643154100 Instead of using a static constructor, delay registering those types until we call module_init(MODULE_INIT_QOM). This is not yet a problem, but since we will start initializing target-info types before any other, without this patch qemu-system-xtensa* fails with: Type 'dsp3400-xtensa-cpu' is missing its parent 'xtensa-cpu' Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- target/xtensa/overlay_tool.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/target/xtensa/overlay_tool.h b/target/xtensa/overlay_tool.h index 701c00eed20..b9eaffa4871 100644 --- a/target/xtensa/overlay_tool.h +++ b/target/xtensa/overlay_tool.h @@ -451,13 +451,14 @@ =20 #if TARGET_BIG_ENDIAN =3D=3D (XCHAL_HAVE_BE !=3D 0) #define REGISTER_CORE(core) \ - static void __attribute__((constructor)) register_core(void) \ + static void register_core(void) \ { \ static XtensaConfigList node =3D { \ .config =3D &core, \ }; \ xtensa_register_core(&node); \ - } + } \ + type_init(register_core) #else #define REGISTER_CORE(core) #endif --=20 2.43.0 From nobody Mon May 25 16:36:41 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1778021344; cv=none; d=zohomail.com; s=zohoarc; b=b0+9l4htERpRAor5jMau/eL19tCfdjwMAwovZxVBUphynF1syXQNJD4Ck4+VYscHlFtQTzND2ft/ocCM1vwfC/VToc7AKpP1tZm5gnE+aGrn0PAQ7T2nFORczbhsxIpgwTm0jJZS637bj5ARXxp9u5eR2/jilq1hok7srHu5bkM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778021344; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=tSmPencAU5o10CcjukLavzqfOdGbkNhhQxdywYnluD8=; b=cKpo2Fqk8pA58fgcfbBZGMmc4cXfBh5KyFDWFmzSo6r+WXUjLNybrUp80DGarn6+lAt/lNH9im6rLGfXzLv5BsCYD22bjQv/GxmminaY53wsqt2osz2TKvn7t9qQbm2vClVsbLbf1qacKWpNeAZJsvvJspEGD5aaNBWY3/Y+HeQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1778021344818499.5285376938714; Tue, 5 May 2026 15:49:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wKOZB-0006Oz-HZ; Tue, 05 May 2026 18:48:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wKOZ9-0006OO-N3 for qemu-devel@nongnu.org; Tue, 05 May 2026 18:48:35 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wKOZ8-00069q-2O for qemu-devel@nongnu.org; Tue, 05 May 2026 18:48:35 -0400 Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 645EL5Xt152202 for ; Tue, 5 May 2026 22:48:32 GMT Received: from mail-dy1-f199.google.com (mail-dy1-f199.google.com [74.125.82.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dyj809x8g-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 05 May 2026 22:48:32 +0000 (GMT) Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-2ee34588671so5847459eec.0 for ; Tue, 05 May 2026 15:48:32 -0700 (PDT) Received: from hu-pbouvier-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2f56d4cf2fdsm898953eec.8.2026.05.05.15.48.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 15:48:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=tSmPencAU5o 10CcjukLavzqfOdGbkNhhQxdywYnluD8=; b=n06kKgnPmjWFsrH+f1AhvmjD6/H yjD0JLNejEtDHfFI59wZv7kISGSFat1IVDrB7zarbrfXM8eELrnOzKKEtuaOegct uj/mqUDMEZS8Hd9ccvF2gefkLQvCglx+xr0oYUzH0djZ/HBZ/87JaGlHdE0pXj9X 7wDijBa+DuR0xcC6oIZzIbkFI0hlVTCA/77tSaHo5vbqK3hlvCmKzhKbGk7FAK/S zLAeQjDBA4malfljId1cTwgoNTrtUfdu1pUDgBR0cOksayOk3ymGyhbquL/3PWtQ rvQMkGFRZZKLZ41wSUtaAI5HJKgv16aIjMGcUmkv14Njg97t0cryQnwXtew== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778021312; x=1778626112; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tSmPencAU5o10CcjukLavzqfOdGbkNhhQxdywYnluD8=; b=FxaEjcIgeLI+rM0Hm9PwXQI9/S0gWfzTdrNdPj7JBNBCGEahlR2EUulAhQ5+EGIvur jHgxlpybRs5k/YXDYsSEXx3bCeA/Uesp2eHZa3pHjxn1/0gYNvY25l2DyhJHS/R/iDvp G32wCIN9uV2sioyl+mko0EU1ITksPnSXD2sBV0X5ujHqJNiaDFtyDta2PthKXtfS3MHK j5iBmuePnzpzB/eBqbIVeKNzkjnzvmdw+mrvjHxA4iDOctDVHXuiD6ujxuHD76h55r9Q xFSa3vIYIa7WiFAyecJ8/Xq7Zr9GHEjQzSZjC2IDAELdSnlQX4HCfDedE2guwnmCdajR d8bQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778021312; x=1778626112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=tSmPencAU5o10CcjukLavzqfOdGbkNhhQxdywYnluD8=; b=Y40+m6yZmjbaQ2E73i30ooASE3I4tpp0ENFiNqEfdoPhowVH9S74VkrmPRlp5yfasE dkMKBKO7n7Sv+E3p//FfDGe6+GHj/rfrBfVOsJ5lA9srROyUsd4jJVaoNFGXQ5uJk7pt 5E43BKD/qzizlJpiXgoVAyHuDmiKFMiZRcUzvmpdRV2PbJRQNzRbrC0jnLoPhJrqFDJd bM2PGi+t0SC4NeEtf8yQQlAS5PXJLPOhRftXvfaBL2iPCsZZJhLz65MHXBoFPioGR/zY re2m4dxZOfmaespbAjBBMhCKCsCSC9RZl5vVsu4FQ16IWWAvzC6aU/tF4nimUZsPg4ut tRVg== X-Gm-Message-State: AOJu0YzoEWw398Cjep+XkRZj2iaQOdkgt008fWhFLyzJn3fNPPwTETUU XXjjYAmQKNDDAMdaHinmhn002fVWDAY8ftwdggtkb/4EnNPrw0YiQlRggW7BAM6y9ZntV/fyXxW giG2l3j64NUMsG1e4VCd5DYRrorFfTqMra5UyrACFM/jASBofQbCEqa2TkfLEmDSXAWuR X-Gm-Gg: AeBDies9vGR+Gh6l/zLdrFih9wbPyqrYlhOsqbzlSWvWY9RuxKkxZO4SMzfv1yzV8j+ SaknUMTike14AJl0YGnpj6MaRRVFYiglf4atWaKhC6YK6T3G/36SSeICfYK+h6cjK2An2HBjzOx sqNYktlO/pU39MN/zf3sVNVdg0W/Znnsx8TlvGTCp4P7eDLIqw4hRlYf04skSh018gwvdNdJr9E 8Ox1c18ItNOO9Q2h4aeX5tH94mlcFxe6qpD1RZGj2/cx4r+3htulRoHXWGUkl06T0AKM0xGgSt+ OtdLEF4bXwfX99ldpddDXMl3A2UUK9ncod9xuBrvsB/YNQH/fKYXXEN9deSS5ewKdPinKDuT4b6 sc19pisAUbJXYNE9AlyYXbQcsdfJGWEqeCSN3FltsFnb2bkg5Cp3g96SSwNeJaTTLEVmVWsfqZg 0E9RTaIoVt6KvoKxbm X-Received: by 2002:a05:7301:fa0d:b0:2d9:2b54:ea9c with SMTP id 5a478bee46e88-2f549f7c312mr658855eec.18.1778021311712; Tue, 05 May 2026 15:48:31 -0700 (PDT) X-Received: by 2002:a05:7301:fa0d:b0:2d9:2b54:ea9c with SMTP id 5a478bee46e88-2f549f7c312mr658830eec.18.1778021311039; Tue, 05 May 2026 15:48:31 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Anton Johansson , marcandre.lureau@redhat.com, Markus Armbruster , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH v4 2/6] qom/object: register OBJECT and INTERFACE QOM types before main Date: Tue, 5 May 2026 15:48:22 -0700 Message-ID: <20260505224826.2698753-3-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260505224826.2698753-1-pierrick.bouvier@oss.qualcomm.com> References: <20260505224826.2698753-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=XvnK/1F9 c=1 sm=1 tr=0 ts=69fa73c0 cx=c_pps a=cFYjgdjTJScbgFmBucgdfQ==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=VDdTCajPACCFXhBZtZ0A:9 a=scEy_gLbYbu1JhEsrz4S:22 X-Proofpoint-ORIG-GUID: TUOxzSlVbzge6tsIqnPMGFvwQ-bAHws7 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA1MDIyMiBTYWx0ZWRfX/7mhO0ALR/Ju 9S116oyh0SivE5W7R44RNmSX83QGhfEjkQiOGtuTOgBibBfm+1jH2UAJyyklByw87b1F1GMLxIv fB+G3wqJJ2W6vbZL/ioisNgB6P03/RnbFwOnYlJ6xMg2krlBBB+cpiMBHvjBZFaADsQrqrYz95H kLjlsEmje3hSAoyURq51v02t3NCUxBDcGAyUa0MnZOkyrAS+3YehO9AzprO7qVmVJ7Cgq/SBk5+ D4Csllcs0pG9QcUI64DorbIIe1UD158Xe9jZCioXz00O/tmZuGAFpeBGljewTnY6d8VnnXfqME4 EnmZ7vIB7rMefA5j8nTne4gE/RqDHBgJ8HsfPWwoGSqo5bk83E/XJtDFdJlNWUnM+3drd1cxJBw dIFs12KGWuFVFplgGI/9PMbQlfillapE3NrLACTjjVsCNlimVGHAPN3iaCsE/CfAxW+v4++BfdR T/ZvMvWJHepsr3tY2GA== X-Proofpoint-GUID: TUOxzSlVbzge6tsIqnPMGFvwQ-bAHws7 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-05_02,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 adultscore=0 clxscore=1015 spamscore=0 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050222 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=pierrick.bouvier@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1778021346059158500 Content-Type: text/plain; charset="utf-8" Those types are special, as they are the base of all other QOM types. In next commit, we'll introduce an extra step in module initialization for target-info-* types. However, those types depend on TYPE_OBJECT, which is only registered at MODULE_INIT_QOM step. To avoid having to introduce another step, and modify all code calling module_call_init(MODULE_INIT_QOM), we simply register those base types directly in the static constructor, before anything else. Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- qom/object.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/qom/object.c b/qom/object.c index f981e270440..a5d268d0722 100644 --- a/qom/object.c +++ b/qom/object.c @@ -2839,7 +2839,7 @@ static void object_class_init(ObjectClass *klass, con= st void *data) NULL); } =20 -static void register_types(void) +static void __attribute__((constructor)) register_types(void) { static const TypeInfo interface_info =3D { .name =3D TYPE_INTERFACE, @@ -2857,5 +2857,3 @@ static void register_types(void) type_interface =3D type_register_internal(&interface_info); type_register_internal(&object_info); } - -type_init(register_types) --=20 2.43.0 From nobody Mon May 25 16:36:41 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1778021344; cv=none; d=zohomail.com; s=zohoarc; b=kGO7NjpAID1cx22Ybbb67YkfffFoHjBnz4OGA690PFO8FGHRr+Cx2iQ//Yjle/aMT4hVoY3B5a+avxoRwXIk3HoSta4tGrGogeAX7q6O4FO6wSj8iMG/3o2qfb39WPdE6ayvbw8wdYxYztOcEkE3umIljVtnc4ZhnSwwrVq5SFQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778021344; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=54T5hcINubNCcwaMGkVx4ajHGLNd1sHSAIGwNUp8J0A=; b=CKq+grZUAdgJylc7RPqHL+4nR1BFzP59HBTJcLTkTGSKVJ8PTQ7WkIWiCTpQb3IbeZAmXgO0j9CbC1PutAhsDiFY4AsR2Vm4tuJYU19l8G3lozC252S3ST+qA4WRsxOa/G/m3rViUIDqMRf7eq4F7z1t1/vT9XCdMgY3f534vD0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1778021344819265.42513882429773; Tue, 5 May 2026 15:49:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wKOZB-0006PO-VM; Tue, 05 May 2026 18:48:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wKOZA-0006Oe-Kk for qemu-devel@nongnu.org; Tue, 05 May 2026 18:48:36 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wKOZ8-00069v-RA for qemu-devel@nongnu.org; Tue, 05 May 2026 18:48:36 -0400 Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 645LYYxS3475707 for ; Tue, 5 May 2026 22:48:33 GMT Received: from mail-dy1-f199.google.com (mail-dy1-f199.google.com [74.125.82.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dyhsgt33p-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 05 May 2026 22:48:33 +0000 (GMT) Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-2c0f6593ef5so8233357eec.1 for ; Tue, 05 May 2026 15:48:33 -0700 (PDT) Received: from hu-pbouvier-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2f56d4cf2fdsm898953eec.8.2026.05.05.15.48.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 15:48:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 54T5hcINubNCcwaMGkVx4ajHGLNd1sHSAIGwNUp8J0A=; b=YIeMZ/sRCuMkfO8T TRcmh2KWCJZE3qOQBniMKFMSmPcmiA/MSCFO0CX3rokgxIYES1cSnZsBLR2EWlM4 hZiy4cmSZziYanl7FE2nJKfDUxCjA9qFIHsszZbq1ttisjtv5MK6Z4cc7SZcy37g ju7APdETSc7HLO37gkLQFM0OazA4N7+1GTbOdP213CB/xdrxOag3vWyAy1+qMhHZ NptTvklM2UILmSrJH7xB0qiXttkFX7c+JLt3uCLfVytv4UG32C/sKNmRLnTE5pkx pKfo2AeKdrLsUidcDstVhnKxEFdrU2OdOv+MjXxowndQaU7fiXIWx+iq3nL+BhUm EzxNIA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778021312; x=1778626112; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=54T5hcINubNCcwaMGkVx4ajHGLNd1sHSAIGwNUp8J0A=; b=TZSQG19xgnH4r3tTCX9EYvQMsluSEkjdwircKR9pC2NqQhrRjHN58gljnb8Ol4PI8P wfKRDPvl5ulNQ/RB1wxN6Wtd9bB4pAg+sg52hOQ1SSsZuyP/R7FthdFd3aIiDXUJsMEP T4YzqyaYOW/A63Zr5P9R/9M809cLHqO5YErxwtIuhHj7ZEGTbf83MkYdl1THTy0+RRlG tbrmvh9rhu6O8vq0gYaqhEpbmyUYiXWXiDz6FJLPNBoMorwVrw7JPqYYrkbVhVmJbD1a T41Gkg1e6nTFODewLfMo0T/z/ACDmyVV1qr812IKhSWVcm5nkEQ00f5cWOWFSuIwg3vb RsFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778021312; x=1778626112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=54T5hcINubNCcwaMGkVx4ajHGLNd1sHSAIGwNUp8J0A=; b=NpGKzqJXnCWp6UCWcfQobpAF8MwSVFauaxqgxWM7/Ulj4D43+z9fEFkWpvotInG5Vc mKm/w6r8tNlvrl7x4wWmU/DaTWQTc3DFjTyzgWVIFx8SHDsT+j86lpJrTkmfRSmTQTRd KEXV6P4AaVntFQoiKG1LXfjLLLPtyzwIPJyUI1Cc1b4BGWHfD6U86BWzf/PnPr7U8Yom CcXXwxgaY4X9hUuUXAT7dUnioXsR0j3eCUMq2VgfdFUMyb85ecCYscTUCLGhMV0xD3XG +u+oogAiYz22XXzN/YXJaRS5DuxUw9yi69FBtHqpPlMSqneVGsvphri5g6FiF10Ej6N9 5omA== X-Gm-Message-State: AOJu0YyNkUZXEBhvQg5E5M5WgwyuuFqgHYy0qq72olzIoUXaedk7nKFU AqI+9nNvcPTtmXEHBeDq5oIOt/Ur9ihwNbhOaNBcTvHiyXJBH8NG+GeBbuj/aq6tBdEFYdddeji 9VrHaaJF03V99iRFiJ/qevuyl6i5wqFf1DOOe5IjPP1a2X4jGTWI82KiwpOyuQZ+6DN2n X-Gm-Gg: AeBDiev1DGMHlnK7f8SeeULZOWAp45M9wwDDzUxJvgXiTbHfjIq+/904uDrtcmVjma8 +uOgaYiU1nHLQTvU2UD1Rkwtt3LnMAbLBasR76WJ4ukj5cefHHfekghW0l/yIuTvtXv7yAplr9u UdoSvcApYQE5IQ3xmYOLbUuoc6TnAO3N9ltGUo2yGamjg5b89zMGwYnZ8CqILtjXuZ+84thBedc PSa/1BvH/kec6SuPU20uac/n9sNdGoZAEy7afjjuLGwtqHIXGTX5aJbXQxXrsr90oXuhdMDJjNr pxlM3WnTcD58OQKak6Q/fHj9WKBuN/22y0r0g2PGZfvVAsEzndFUCCFnX6iMC8dlBXZjXBh3wZX q10jlVsi6gyEi1XELdCT6BKtL3AZOw7seGYXgkFExfaHUbutKgAfxk8cUKXZYCT1SdQWVBT54gx gVPqp85aR65OR5tb9b X-Received: by 2002:a05:7300:72d1:b0:2ed:2942:34ab with SMTP id 5a478bee46e88-2f548897087mr652867eec.3.1778021312404; Tue, 05 May 2026 15:48:32 -0700 (PDT) X-Received: by 2002:a05:7300:72d1:b0:2ed:2942:34ab with SMTP id 5a478bee46e88-2f548897087mr652853eec.3.1778021311868; Tue, 05 May 2026 15:48:31 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Anton Johansson , marcandre.lureau@redhat.com, Markus Armbruster , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH v4 3/6] target-info: extract target_info() definition in target-info-init.h Date: Tue, 5 May 2026 15:48:23 -0700 Message-ID: <20260505224826.2698753-4-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260505224826.2698753-1-pierrick.bouvier@oss.qualcomm.com> References: <20260505224826.2698753-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: yciioyWDmJHi5Wmu-6ygbYOOlv37Pg0Z X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA1MDIyMiBTYWx0ZWRfX2DyOlFMUQwrL x4O6fM7NCJrCKzN3ecD4yKoV8wDOd3kgIVGi0pWARptruiB7hRf2FZtuaEJeWPpPB7rWbqbMi+n LHRm7X5sgF940piJ0uf3ZvEXe6FecIWuDKewqhlBcNPCbsaMeZ80jmknXI9MTfdLoY7XMWgLYDn WJus41+QvjlMYgU22lHmO933g+R1CNEY6nf5B/uw9Y9zz5Q8egLu8YhfsPQDdvg56tq8KRqaOEu EPpKnQb2XWXe6NCkV4OU5BJSxhkFJqWu0th1uuAOKxSXMSOFvt46k3UKq+a6ZuAQHwpy+eZxA8D diOvbgK7tXU4GyhHMItjIPoVQMv4e8QHTOMNTakvUz4/k1ju2OZ1z2j6GlL5rAbhn4+4GZEJof2 G0SemFNFv+wquKXbIbfGab2wtUXE7Nr4dWgkQMMakZRxj9dH7192KKC/aFpo1FZFrCQtP4L8OTK cAk/6LEbaujq1ncD9GQ== X-Authority-Analysis: v=2.4 cv=EPU2FVZC c=1 sm=1 tr=0 ts=69fa73c1 cx=c_pps a=cFYjgdjTJScbgFmBucgdfQ==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=090slgBn3MrHMI8nANcA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=scEy_gLbYbu1JhEsrz4S:22 X-Proofpoint-GUID: yciioyWDmJHi5Wmu-6ygbYOOlv37Pg0Z X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-05_02,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 impostorscore=0 clxscore=1015 bulkscore=0 phishscore=0 suspectscore=0 priorityscore=1501 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050222 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=pierrick.bouvier@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1778021346091158500 This allows us to prepare next commits, which will introduce qom registration for system mode. Reviewed-by: Marc-Andr=C3=A9 Lureau Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- configs/targets/aarch64-softmmu.c | 6 ++---- configs/targets/arm-softmmu.c | 6 ++---- include/qemu/target-info-init.h | 21 +++++++++++++++++++++ target-info-stub.c | 6 ++---- 4 files changed, 27 insertions(+), 12 deletions(-) create mode 100644 include/qemu/target-info-init.h diff --git a/configs/targets/aarch64-softmmu.c b/configs/targets/aarch64-so= ftmmu.c index 82ccb575759..75d95b0e743 100644 --- a/configs/targets/aarch64-softmmu.c +++ b/configs/targets/aarch64-softmmu.c @@ -8,6 +8,7 @@ =20 #include "qemu/osdep.h" #include "qemu/target-info-impl.h" +#include "qemu/target-info-init.h" #include "hw/arm/machines-qom.h" #include "target/arm/cpu-qom.h" #include "target/arm/cpu-param.h" @@ -23,7 +24,4 @@ static const TargetInfo target_info_aarch64_system =3D { .page_bits_init =3D TARGET_PAGE_BITS_LEGACY, }; =20 -const TargetInfo *target_info(void) -{ - return &target_info_aarch64_system; -} +target_info_init(target_info_aarch64_system) diff --git a/configs/targets/arm-softmmu.c b/configs/targets/arm-softmmu.c index 18940e51e55..73546fa5737 100644 --- a/configs/targets/arm-softmmu.c +++ b/configs/targets/arm-softmmu.c @@ -8,6 +8,7 @@ =20 #include "qemu/osdep.h" #include "qemu/target-info-impl.h" +#include "qemu/target-info-init.h" #include "hw/arm/machines-qom.h" #include "target/arm/cpu-qom.h" #include "target/arm/cpu-param.h" @@ -23,7 +24,4 @@ static const TargetInfo target_info_arm_system =3D { .page_bits_init =3D TARGET_PAGE_BITS_LEGACY, }; =20 -const TargetInfo *target_info(void) -{ - return &target_info_arm_system; -} +target_info_init(target_info_arm_system) diff --git a/include/qemu/target-info-init.h b/include/qemu/target-info-ini= t.h new file mode 100644 index 00000000000..c781cfc0590 --- /dev/null +++ b/include/qemu/target-info-init.h @@ -0,0 +1,21 @@ +/* + * QEMU target info initialization + * + * Copyright (c) Qualcomm + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * This file is included by each file defining a TargetInfo structure and = is + * responsible for registering it. + */ + +#ifndef TARGET_INFO_DEF_H +#define TARGET_INFO_DEF_H + +#define target_info_init(ti_var) \ +const TargetInfo *target_info(void) \ +{ \ + return &ti_var; \ +} + +#endif /* TARGET_INFO_DEF_H */ diff --git a/target-info-stub.c b/target-info-stub.c index f5896a72621..af7cdc5e67a 100644 --- a/target-info-stub.c +++ b/target-info-stub.c @@ -9,6 +9,7 @@ #include "qemu/osdep.h" #include "qemu/target-info.h" #include "qemu/target-info-impl.h" +#include "qemu/target-info-init.h" #include "hw/core/boards.h" #include "cpu.h" #include "exec/page-vary.h" @@ -40,7 +41,4 @@ static const TargetInfo target_info_stub =3D { #endif }; =20 -const TargetInfo *target_info(void) -{ - return &target_info_stub; -} +target_info_init(target_info_stub) --=20 2.43.0 From nobody Mon May 25 16:36:41 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1778021380; cv=none; d=zohomail.com; s=zohoarc; b=fUL5zYjhZ0Avf+mbVrVr8l4HZ+jsz4+orHwBvxKB/T4pFMFijDREkTBi46jTM9RSzLMB8sB6LABt5fwYJRuXxP/RXF9Pet0lvYvFBiDeamHc8LRMmb9pVvuPOu1hqVJd8obuh04qyAQsaOhtDN3G1ncZ1VSIgeJIK/oNhkBJIFs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778021380; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=AhTTTeOqFwkW4Zdn/+Bo3rQ7uW49WhpNkEu1S14lZqM=; b=YHbdhE4gzm+NDvG0XISsskvr5nrBX+dY2IzucXr7vAA3OudDf8fjQbM9PAVEpg9O+UGl1V2LcEUGVjV+0xGpPqRxgkyRLzNP5zCB2hjAlosa+2EvfPnZyfKBbHhPABTEsHYNSrO05phCN4U53YdeFlliQ8bIu36bwaXGN3tlM6A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1778021380271890.489745454196; Tue, 5 May 2026 15:49:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wKOZC-0006Pd-KL; Tue, 05 May 2026 18:48:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wKOZB-0006P0-FC for qemu-devel@nongnu.org; Tue, 05 May 2026 18:48:37 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wKOZ9-0006A9-N6 for qemu-devel@nongnu.org; Tue, 05 May 2026 18:48:37 -0400 Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 645LxGnR3502578 for ; Tue, 5 May 2026 22:48:34 GMT Received: from mail-dy1-f199.google.com (mail-dy1-f199.google.com [74.125.82.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dyhqfa28n-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 05 May 2026 22:48:34 +0000 (GMT) Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-2f2d983d109so1920444eec.0 for ; Tue, 05 May 2026 15:48:34 -0700 (PDT) Received: from hu-pbouvier-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2f56d4cf2fdsm898953eec.8.2026.05.05.15.48.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 15:48:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=AhTTTeOqFwk W4Zdn/+Bo3rQ7uW49WhpNkEu1S14lZqM=; b=g4FXS12SE9m4pId1ae2+f5UsSNg B4uTcGifBFxUPV8BBb09y6yjJfxSRMxH9F19UEePof39QH0OD+fRVe6lhmIVREnj awegfQ+BCa6gobQqq1UEQWhFimkII44jT6Su6nu8X9bTQpgoWNeV2qcFlBlUogXw GexBch8Y38TyO0PwbGiCktyv1c4lWC5ZbuBoYkw4yqES5gax4EFHgwguGBYSOsKp d7i8nQFmK0ILKZ/0ezVaIBrQfcxlCK+c+JhZRdUvRoSf5DcVtF5H0iAHudonTXrn FuRjCnXbREonQjrOPuSbgpno/31V8qKZfwT2WWIpyuhqca8nFrE1iq+QjOA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778021314; x=1778626114; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=AhTTTeOqFwkW4Zdn/+Bo3rQ7uW49WhpNkEu1S14lZqM=; b=izTk8+N7DjH2ni/I6ru4Hb7Btzt8Lc6QTYwFXQpF35CXY2Z5Sd4tEW9cs7gK2eh+4O EtYK8ji4OdzcyDhllwpdR8rEmdyifGtlNhcosaTfE3lXMA3+7etJBkWA1vUcLY5PLxKk YowD/9eCoXhot0Hs19WlbOGmV53vjiJ7Y5Dc4Jlb+DO597vrNsNSvbdMQ8tyUkAF87XX ux28qihaIVgi42J54QA3IAPDABrm/NY/p++aoyyuZInSol0oWg/5LxCgaVWcGmSbZRq/ WyXkHAd8I7Qexg52RZW+yRQIHanOJZzZnkqzHo5sx2fpjGAfdBWIAdbCEkLzCg86lQ4G a9FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778021314; x=1778626114; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=AhTTTeOqFwkW4Zdn/+Bo3rQ7uW49WhpNkEu1S14lZqM=; b=PywRAFfQGCfLKVjonnBR1KLlbdIk0kEqA89+OG4cJ4sMTl2GqLPQ34etb0mjjhEdWr E593kTJGouY+jXw+rNQWLDMYBKWM4D70v3qZ+Zqp6aokLKI6KXLln2hDA65p8DNgey0p /N4wZxi8hTBtzgdoS2ck2JG8mCTSXL2DleRYabq8RUwFIfpZ+bPDJmt8Yk3RnnWprMCc XxWWcsHFKzmzyGkmY8acT74n5hhbtuKJPWdKT4HA8rsYKo/8HCy9mRN+NwlfYimZ8OeP eUbXIx/ZNxJq0nymQgewsA6lYnXniuMq+V/BY9jfKZZPSYsNZc6XMqDQ4Kcpqjr/Q/Fc awlA== X-Gm-Message-State: AOJu0Yw5kRaczRDCXX4ID9rwVNaCIMI+oEjrJSrgmOE9rZFXzn4WQNUw 1kEm4sbWNIy7o7NKdgBSfZBHNvSngKw+R1+LxhpP8JCExaAwxYxN6EjpsgdeKT4qeCc/c8/KjDN ugOLGdUwTrSKUZM3JE8bcdcpjGMHPP1mNYj9z/DjX61V+fq+mVH0yTzQODC3MxJwqehYb X-Gm-Gg: AeBDievrA0ZdWEz2t2L9AlAEQHB5QIGk+zvHCHRVUfJx4SJHVm/QzhjtoligcZQdjiZ dNlQDcCQL3snqSATCFu6p46+EX70x9SusGv6TMgiBbvOFQN65GBSgHS6O6G5r95Nks1ocEsM/0/ qZDSKTYDkCdkUrwsPkZ2tWZRMOf3DKCQ/U7XQFBF8RlUR5iooB+s+SpymRpXrbWPoMITW4jPPCx QkGHCiYe8jZlMc4HbMz8HHjJhu0cWGsvUOm2eyKpcNnXgbyuqgGbr/nXyK188HoufF+jDnx1PW6 tKHxd9+lr1cfjiYgrarED9RyMqrc4P5awPSM15nEcEVQgFG6BnpFIQ7Z6HBmdSY4GF0/cZeNxM1 TbXjsVS7MKOPsvWYpCLlJSKHh1d4XOxTtQwar9RZZ91oAtpnSR1v1X6kW18H71FcYcRO8c/7NWg Jm3fJB1bViZAyorDKE X-Received: by 2002:a05:693c:3013:b0:2e7:af57:3b72 with SMTP id 5a478bee46e88-2f54b89a18bmr639800eec.29.1778021313543; Tue, 05 May 2026 15:48:33 -0700 (PDT) X-Received: by 2002:a05:693c:3013:b0:2e7:af57:3b72 with SMTP id 5a478bee46e88-2f54b89a18bmr639781eec.29.1778021312890; Tue, 05 May 2026 15:48:32 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Anton Johansson , marcandre.lureau@redhat.com, Markus Armbruster , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH v4 4/6] target-info: introduce TargetInfo in QOM Date: Tue, 5 May 2026 15:48:24 -0700 Message-ID: <20260505224826.2698753-5-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260505224826.2698753-1-pierrick.bouvier@oss.qualcomm.com> References: <20260505224826.2698753-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA1MDIyMiBTYWx0ZWRfX6Vv1fgSu6DkO BdXI44o/iWx4Y9jYGsgIRWkyPvHMjUjVq3DMQ0tbk2gnN78PmsxM8p7u2yCe3XfW1N/B/Xrrt8B ceWyI/b7qVkUxC1zJLiZW4ujArvSI8De1Bugm5+ynEZnnznw/EZKCJlsWtD0MbBOvh/O/EguOza SfUirxEupA0XMxy08Khg17bXIDt4vcGfax8znG70Zn4VxnuComxMdeN1NTQFcWJbUL6O+Jh0dUN qvDYdEXes5JAL1sHprieYmlx74JSMXqMB92Oq4+ia//Ms+auWeMJl6bVlbmW6TAV1DBDm4Ab6Ny ILk9QdpRYCWr77YDRxOjz8zEpXxEeUaFBa2uhsmKvwB7Tli0QX2AtQYu/hZI5qSi1a5ZVEtZXlo /cZ9XKcf0DdeWvm1UUAp5aA/lRERffuOXyQqXoXcc1mcHo8iH3SGyaLtIlKa7AH+vWfqCTGOE3Q UND9g+WJs0OgZM/nGbw== X-Proofpoint-ORIG-GUID: iSTjazkW4zrmfIqkbHYR7DMtAbHZ6uXq X-Proofpoint-GUID: iSTjazkW4zrmfIqkbHYR7DMtAbHZ6uXq X-Authority-Analysis: v=2.4 cv=NPvlPU6g c=1 sm=1 tr=0 ts=69fa73c2 cx=c_pps a=cFYjgdjTJScbgFmBucgdfQ==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=ifg725Mek7oY8M_gCSsA:9 a=scEy_gLbYbu1JhEsrz4S:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-05_02,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 lowpriorityscore=0 spamscore=0 priorityscore=1501 clxscore=1015 suspectscore=0 phishscore=0 bulkscore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050222 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=pierrick.bouvier@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1778021383468154100 Content-Type: text/plain; charset="utf-8" For the single-binary, we want to be able to retrieve at runtime the current target among the different ones available. A consequence is that we can't rely on existing target_info() definition since it will create a conflict once more than one target is available. To solve this, we add TargetInfo in QOM, with this hierarchy. We define one class "target-info-X" per target, that inherits from abstract class "target-info". Using concrete vs abstract class ensure we can easily filter "target-info-X" from all QOM types. Associated TargetInfo is directly set through class initialization, without relying on any instance. For user mode, we simply define target_info() like it was done previously. In this patch, we keep the same definition for system-mode also, and it will be replaced in next commits. We will introduce detection of target from QOM, so we need to make sure those types are registered early. Signed-off-by: Pierrick Bouvier --- include/qemu/module.h | 1 + include/qemu/target-info-init.h | 57 +++++++++++++++++++++++++++++++++ include/qemu/target-info-qom.h | 28 ++++++++++++++++ system/vl.c | 2 ++ target-info-qom.c | 14 ++++++++ 5 files changed, 102 insertions(+) create mode 100644 include/qemu/target-info-qom.h diff --git a/include/qemu/module.h b/include/qemu/module.h index 9885ac9afb3..fccf017bf9e 100644 --- a/include/qemu/module.h +++ b/include/qemu/module.h @@ -43,6 +43,7 @@ typedef enum { MODULE_INIT_MIGRATION, MODULE_INIT_BLOCK, MODULE_INIT_OPTS, + MODULE_INIT_TARGET_INFO, MODULE_INIT_QOM, MODULE_INIT_TRACE, MODULE_INIT_XEN_BACKEND, diff --git a/include/qemu/target-info-init.h b/include/qemu/target-info-ini= t.h index c781cfc0590..859451c672e 100644 --- a/include/qemu/target-info-init.h +++ b/include/qemu/target-info-init.h @@ -12,10 +12,67 @@ #ifndef TARGET_INFO_DEF_H #define TARGET_INFO_DEF_H =20 +#define DEFINE_TARGET_INFO_TYPE(info) = \ +static void do_qemu_init_target_info(void) = \ +{ = \ + type_register_static(&info); = \ +} = \ +module_init(do_qemu_init_target_info, MODULE_INIT_TARGET_INFO) + +#ifdef COMPILING_PER_TARGET +#ifdef CONFIG_USER_ONLY + +/* + * User mode does not support multiple targets in the same binary, so just + * define target_info(). + */ #define target_info_init(ti_var) \ const TargetInfo *target_info(void) \ { \ return &ti_var; \ } =20 +#else /* CONFIG_USER_ONLY */ + +#include "qemu/target-info-qom.h" +#include "qom/object.h" + +#define TYPE_TARGET_INFO_TARGET TYPE_TARGET_INFO"-"TARGET_NAME + +typedef struct TargetInfoQomTarget { + TargetInfoQom parent; +} TargetInfoQomTarget; + +typedef struct TargetInfoQomTargetClass { + TargetInfoQomClass parent_class; +} TargetInfoQomTargetClass; + +OBJECT_DECLARE_TYPE(TargetInfoQomTarget, TargetInfoQomTargetClass, TARGET_= INFO_TARGET) + +#define target_info_init(ti_var) = \ +const TargetInfo *target_info(void) = \ +{ = \ + return &ti_var; = \ +} = \ + = \ +static void target_info_qom_class_init(ObjectClass *oc, const void * data)= \ +{ = \ + TargetInfoQomTargetClass *klass =3D TARGET_INFO_TARGET_CLASS(oc); = \ + klass->parent_class.target_info =3D &ti_var; = \ +} = \ + = \ +static const TypeInfo target_info_qom_target_type_info =3D { = \ + .name =3D TYPE_TARGET_INFO_TARGET, = \ + .parent =3D TYPE_TARGET_INFO, = \ + .instance_size =3D sizeof(TargetInfoQomTarget), = \ + .class_size =3D sizeof(TargetInfoQomTargetClass), = \ + .class_init =3D target_info_qom_class_init, = \ + .abstract =3D false, = \ +}; = \ + = \ +DEFINE_TARGET_INFO_TYPE(target_info_qom_target_type_info) + +#endif /* CONFIG_USER_ONLY */ +#endif /* COMPILING_PER_TARGET */ + #endif /* TARGET_INFO_DEF_H */ diff --git a/include/qemu/target-info-qom.h b/include/qemu/target-info-qom.h new file mode 100644 index 00000000000..585995c7ad0 --- /dev/null +++ b/include/qemu/target-info-qom.h @@ -0,0 +1,28 @@ +/* + * QEMU target info QOM types + * + * Copyright (c) Qualcomm + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef QEMU_TARGET_INFO_QOM_H +#define QEMU_TARGET_INFO_QOM_H + +#include "qemu/target-info-impl.h" +#include "qom/object.h" + +#define TYPE_TARGET_INFO "target-info" + +typedef struct TargetInfoQom { + Object parent_obj; +} TargetInfoQom; + +typedef struct TargetInfoQomClass { + ObjectClass parent_class; + const TargetInfo *target_info; +} TargetInfoQomClass; + +OBJECT_DECLARE_TYPE(TargetInfoQom, TargetInfoQomClass, TARGET_INFO) + +#endif /* QEMU_TARGET_INFO_QOM_H */ diff --git a/system/vl.c b/system/vl.c index 516ed7890b4..2b6739271ba 100644 --- a/system/vl.c +++ b/system/vl.c @@ -2890,6 +2890,8 @@ void qemu_init(int argc, char **argv) =20 os_setup_limits(); =20 + module_call_init(MODULE_INIT_TARGET_INFO); + module_init_info(qemu_modinfo); module_allow_arch(target_name()); =20 diff --git a/target-info-qom.c b/target-info-qom.c index 7fd58d24818..ba2c7923760 100644 --- a/target-info-qom.c +++ b/target-info-qom.c @@ -7,7 +7,11 @@ */ =20 #include "qemu/osdep.h" +#include "qapi/error.h" #include "qom/object.h" +#include "qemu/target-info-impl.h" +#include "qemu/target-info-init.h" +#include "qemu/target-info-qom.h" #include "hw/arm/machines-qom.h" =20 static const TypeInfo target_info_types[] =3D { @@ -22,3 +26,13 @@ static const TypeInfo target_info_types[] =3D { }; =20 DEFINE_TYPES(target_info_types) + +static const TypeInfo target_info_parent_type =3D { + .name =3D TYPE_TARGET_INFO, + .parent =3D TYPE_OBJECT, + .instance_size =3D sizeof(TargetInfoQom), + .class_size =3D sizeof(TargetInfoQomClass), + .abstract =3D true, +}; + +DEFINE_TARGET_INFO_TYPE(target_info_parent_type) --=20 2.43.0 From nobody Mon May 25 16:36:41 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1778021378; cv=none; d=zohomail.com; s=zohoarc; b=GJyiSdXm5MNGq6wU1YgNfYs5DGaiTSPRkeujGprY/Hj58rpzkbuvIfxXQwgsHy72FrtEu5EhGzs3DNBtjWF6tcxwP3OfpZgrn/1UEzMaRo6Xq7gu2smLOsmyAE9svXmtONVz1VjN237nW4MhmGQLpWXtIArNcW0aU+Y28zBxuMc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778021378; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=4s3jHbmg75cVEgANJXecjMz/G9qW28DVPPqZw24W3uc=; b=YrommAz92F1p4M8kCgazeD9ACTxX9l68yjqpsNVOXXJ4PiydEs814+duVRVFizTZoL1ykVtHdFGJoMK0S0AbXB0nSF9FI8Md4WoB2D4pRQ+q1pF5INAqgtNvXsg0SxwJyFDk+iH9LxCPRKx+QbCELWv3OmlbkWpd5+Zss9hQd+U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1778021378662650.3362862038889; Tue, 5 May 2026 15:49:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wKOZF-0006QW-2i; Tue, 05 May 2026 18:48:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wKOZB-0006PM-RX for qemu-devel@nongnu.org; Tue, 05 May 2026 18:48:37 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wKOZA-0006AN-8t for qemu-devel@nongnu.org; Tue, 05 May 2026 18:48:37 -0400 Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 645ErHcO248496 for ; Tue, 5 May 2026 22:48:35 GMT Received: from mail-dy1-f199.google.com (mail-dy1-f199.google.com [74.125.82.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dyjq41qng-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 05 May 2026 22:48:35 +0000 (GMT) Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-2f485961555so991024eec.1 for ; Tue, 05 May 2026 15:48:35 -0700 (PDT) Received: from hu-pbouvier-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2f56d4cf2fdsm898953eec.8.2026.05.05.15.48.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 15:48:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 4s3jHbmg75cVEgANJXecjMz/G9qW28DVPPqZw24W3uc=; b=DlIV/7RghveM2x+F AIg43OlKxhLs2zcU58QE1MdaPaRFPOgzq8pdN3L03LTkuwk6/hQU9DH45W8NfC8+ 42dysL/NakLFDJY8z0bGfUwiKMdUuC+fHeH/BEArpMKgjxKNzzyZVeHDbHzJJCgE Ht5toqaMIA86JKkdxOblWSV/4ubDIUXWe8IBRbnYzjvUFnZGPgJssABOH67w5qUT DqmI1i7GgKXEF5lxP5aaE9U6ydoMsrZNIvad+9BZd0KJNJI1ckC5TleynJ2Qp7sT MCZdapQy67BTx1xA7QY0ahsBR1n60Kd/NLbCeuvVKSFfZIpN7+pfxMiV8zO0Zk19 M9s7tg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778021314; x=1778626114; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4s3jHbmg75cVEgANJXecjMz/G9qW28DVPPqZw24W3uc=; b=c5PVjqKwa8Kht5XTrP/aD0DqMyqC7SmKQkz4uZW98nB+z4hmlFWDDo5L33Pn7R7dP0 va4A1KtV83hzm8EbHPBNmeiN0lvtUhrFRmMUdfwrmz2vIlCFa8jSKMuTc2zUfJ+MaW63 TQ1WAjZYtEyWXbol6sdu8Uxpz4jM7TwtXWJjObkqWQH/nj19F/v4uJXiSse63nWPdmgP eSMzrgwC6rHIId9I2K6LNaRYqVwub7qlvpihl/t1akrlxiwYxpugoB3A3mkpW2OH9uv2 i5P/yRBCwv7AgwKOA9HOjIXD/gxvxHPmCIB3U59iv922pnv9M7dmi06a8SrtRZDB3fBB rg5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778021314; x=1778626114; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=4s3jHbmg75cVEgANJXecjMz/G9qW28DVPPqZw24W3uc=; b=SWE615CIwYprzl7c38cuz7fJcZbELdpOUXdQWJn0HfI2kFLm8HNZTaSRMRSvDvwwj2 0kjtAK5qPaODb/0aOtUmdtLuyPwuSNAImHJv4jA9vxgJrQyjUm+CYfVSdfWnvdTKZgG9 6ZFTCB0GRm+XDlMCMZeqWEDTU/968q0OypMcZeWMowtl3WyTcR+t9Ucbx32ZeIpsXQND HQi3XmQ6vgfch4IWlCQMI/pmgZRiA3aY1Q/YdN/PNPHBQDueDU76/yU/ZmLHL6NjRvo4 Fczbv6FJBKbZEQcBbUdiscaMYmvzny0P2is7oPBe8H7fzg1icg8QQySkKXOT5sDqmgC2 UpUA== X-Gm-Message-State: AOJu0Yz9T/coZiqia/LAdM226p4DrnP72oqF5f2iprgzX8XJlkHQnVYd 7iFUi5rnDxXzcMpNy6DJaK6P1CMBhDUFW7QV5EaIlXv8ajxNQmh05ItfSNuk9OGdON45RqmrlLE S8Mc3XjruFffaIs8IIAX2Xq4+60FxPKVhxeoafGMsf9yMSLb710P+yBIwckhnjQrFhn8I X-Gm-Gg: AeBDieuB31g1fGU4fdQVdo735P7OLp6Tc/BavCXzCr9YUz657be/tUu5rcxdAfNM3hY 9rHraH1SIczteQD5ZyfMEmrvkuWoHBIpVxe/RyeQJKWQmRpj0yrsZDZ/Hfw9BbJV8XWYJ9U/Qmf L5MdZmZH6her84DYo+ax4qkskewN2AF9UDzUbx2GjgPXXlJmi7KIOPxiDXi6KoCOaAaM17Wqlh1 N7GYHFC2d6dARuqvGjw2UcS0J9VGqjpVCiZeiMnjncRwU4eOSM/bps2iCSMSWKGlvrNSIlouRGu 9lo2ZC8dZNv/062GwhWkL8MPA+lu2U821L/RD9Z1mWwYqTPifw5XGSfaSSz5rCn+36lA27dXTvT Gv6ANpz/vftnkJQ0GRT7AraNhFagS2zHswKPk/MqoyB5SfuAaNm5ZWAPtGRnURGl1kVAakyBB7J pLzSoXV6t2e83NJ72H X-Received: by 2002:a05:693c:2c86:b0:2ef:8b91:212 with SMTP id 5a478bee46e88-2f548e9922emr762018eec.14.1778021314176; Tue, 05 May 2026 15:48:34 -0700 (PDT) X-Received: by 2002:a05:693c:2c86:b0:2ef:8b91:212 with SMTP id 5a478bee46e88-2f548e9922emr762011eec.14.1778021313656; Tue, 05 May 2026 15:48:33 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Anton Johansson , marcandre.lureau@redhat.com, Markus Armbruster , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH v4 5/6] target-info-qom: detect target from QOM Date: Tue, 5 May 2026 15:48:25 -0700 Message-ID: <20260505224826.2698753-6-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260505224826.2698753-1-pierrick.bouvier@oss.qualcomm.com> References: <20260505224826.2698753-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=MYxcfZ/f c=1 sm=1 tr=0 ts=69fa73c3 cx=c_pps a=cFYjgdjTJScbgFmBucgdfQ==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=0wc84GFNkZAXjcWhtbQA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=scEy_gLbYbu1JhEsrz4S:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA1MDIyMiBTYWx0ZWRfX4ZSVN8lc4yTi wM0rAZzfdBuzvtmt+CeoKpPNAk/h2sOAEMjKC1KD1rdOjR2xLYkVX6t+Ec3QrfPaBJP4BmnIdYs yOpcJEGcqLoElpG7PkY2gxFJE5ftwHju37Ve1FSKfOFhH6RUzZXs9Zl4dnFy8XqSQMRJxCEBR6W /SimoZPdOqNG5iN2Rh02jgSJxjHVNSngR5ss/WM0sFnGHZRSdz57Z8WetrgMFAorqfFnfeV6QZO +PhDrqdTZIgQOwaCVSnD0H41OMmN31ILPsLbt3YUOg309rkjzhxYudmnpnoxTX5+hYu8/436Q6G B4EqaRtOusq8y68BpBYUUfpAkh91Fzcx+RnWGQQpmVmAgOrtdDp2pDfgV7rFqj2EluDKcEqSiIQ 734+tNq8ky+AvvLSB+oBBANtzi7GMr4K7xdawC9pGG0M7JwTFvzF1ZgRTLnkBBe8tTlm4ZNvjKF 5JTY8lymBppJtsiFQag== X-Proofpoint-GUID: W9_-PZfDuYlRK7bLqibfrwTLCeHCc94z X-Proofpoint-ORIG-GUID: W9_-PZfDuYlRK7bLqibfrwTLCeHCc94z X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-05_02,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 lowpriorityscore=0 spamscore=0 malwarescore=0 phishscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050222 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=pierrick.bouvier@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1778021379844154100 For now, we expect only one target to be available at runtime. This will change with the single-binary and we'll detect which one to use dynamically. Reviewed-by: Marc-Andr=C3=A9 Lureau Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- include/qemu/target-info-qom.h | 2 ++ system/vl.c | 2 ++ target-info-qom.c | 16 ++++++++++++++++ 3 files changed, 20 insertions(+) diff --git a/include/qemu/target-info-qom.h b/include/qemu/target-info-qom.h index 585995c7ad0..91be415ed33 100644 --- a/include/qemu/target-info-qom.h +++ b/include/qemu/target-info-qom.h @@ -25,4 +25,6 @@ typedef struct TargetInfoQomClass { =20 OBJECT_DECLARE_TYPE(TargetInfoQom, TargetInfoQomClass, TARGET_INFO) =20 +void target_info_qom_set_target(void); + #endif /* QEMU_TARGET_INFO_QOM_H */ diff --git a/system/vl.c b/system/vl.c index 2b6739271ba..77b2b4e673d 100644 --- a/system/vl.c +++ b/system/vl.c @@ -28,6 +28,7 @@ #include "qemu/units.h" #include "qemu/module.h" #include "qemu/target-info.h" +#include "qemu/target-info-qom.h" #include "exec/cpu-common.h" #include "exec/page-vary.h" #include "hw/core/qdev-properties.h" @@ -2891,6 +2892,7 @@ void qemu_init(int argc, char **argv) os_setup_limits(); =20 module_call_init(MODULE_INIT_TARGET_INFO); + target_info_qom_set_target(); =20 module_init_info(qemu_modinfo); module_allow_arch(target_name()); diff --git a/target-info-qom.c b/target-info-qom.c index ba2c7923760..9d1f50ffcab 100644 --- a/target-info-qom.c +++ b/target-info-qom.c @@ -36,3 +36,19 @@ static const TypeInfo target_info_parent_type =3D { }; =20 DEFINE_TARGET_INFO_TYPE(target_info_parent_type) + +static const TargetInfo *target_info_ptr; + +void target_info_qom_set_target(void) +{ + g_autoptr(GSList) targets =3D object_class_get_list(TYPE_TARGET_INFO, = false); + + size_t num_found =3D g_slist_length(targets); + if (num_found !=3D 1) { + error_setg(&error_fatal, num_found =3D=3D 0 ? + "no target-info is available" : + "more than one target-info is available"); + } + + target_info_ptr =3D TARGET_INFO_CLASS(targets->data)->target_info; +} --=20 2.43.0 From nobody Mon May 25 16:36:41 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1778021378; cv=none; d=zohomail.com; s=zohoarc; b=Y9OkzcxqN5CAZXKpHRAfm9emFVCaCRixSM/Fn5dsucvwMLRSAi/+jOzRF7meh3qdZdLBnzx4ERAHke5QBg1OJVUTp6wdjcx2qLS0nZTW6gifgvxWpS2IvLJZ/CkveLBiiF5XgLpqUMqBTrR1WsZMgE7nSx7gmZOgRKXDYrTmTNo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778021378; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=5a9a6kWz7AaL1uWn7ELkEIPMK/peDJVgH4gBGXaMfws=; b=kBVAVeH7pO2iJVJILcCkbSqVWLtwMFwyX9QZBbAUVUAl6PSPRjWqYNk7/mC9DU5CmNLLdsjP5TGR/dyOStSZzMVYrBYwiH2LSQDVq8aY4FaQt8sMIs8p30ENEl/gP78cfWxSCGS1phlbHv6yzsfBazjEnHwpmrSdsANru3C8xL4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1778021378302206.18213969987585; Tue, 5 May 2026 15:49:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wKOZF-0006Qn-Gs; Tue, 05 May 2026 18:48:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wKOZC-0006Ph-Sn for qemu-devel@nongnu.org; Tue, 05 May 2026 18:48:38 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wKOZB-0006Ab-FS for qemu-devel@nongnu.org; Tue, 05 May 2026 18:48:38 -0400 Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 645KMq303187611 for ; Tue, 5 May 2026 22:48:36 GMT Received: from mail-dl1-f72.google.com (mail-dl1-f72.google.com [74.125.82.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dybkkbm5p-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 05 May 2026 22:48:36 +0000 (GMT) Received: by mail-dl1-f72.google.com with SMTP id a92af1059eb24-12dfe9c058eso1486229c88.0 for ; Tue, 05 May 2026 15:48:36 -0700 (PDT) Received: from hu-pbouvier-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2f56d4cf2fdsm898953eec.8.2026.05.05.15.48.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 15:48:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 5a9a6kWz7AaL1uWn7ELkEIPMK/peDJVgH4gBGXaMfws=; b=hlkM8Rvv029N3910 88DTwOU+Ym02X7du1bykU4LdC8Er8hQ08MeekcqbSSYDDNBBDosmtTq93qRz9w35 XNXi23clO8xQ4WduKiNN6/lpQwouQ1Ih5Of5gfT0dWZR1lUj9b3rVRwZ9cTTy63E rUEQW1a9Bo+W02Dmagp7oPeHmVyp1endtrv/gTRH7DsxzKc4xvCDXUYZLHlgAN2m ZqxzeAIPZQggs7kEDuR48JfpeWmoPuqKhPtygNogYIRdnkp4tF4eZBk29bMtv9Bu K1/Cv+H/SHQeNy1kPFlmvi97PRkGWWZ2N1edDXMW9LLnsuj8hdbVunXylTnk0vQS vff2Rg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778021315; x=1778626115; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5a9a6kWz7AaL1uWn7ELkEIPMK/peDJVgH4gBGXaMfws=; b=C6Ft0613LM/XuSn+bdCsPbm5KlKLja+MlpP7xts0mf+inLemSKu2DPkMV2vlHppqrq FGr2JA877HQpt1fN35IplX92NpFUQzssp2MRCLfstA9kMUgSAVyT5FJ78cZtYivu+q7D bmpD0rfedSMlEB7hko1QN4cI8GpGPOi0A7RK/JmiKFmixFOxreyJmk9m18TDHcMfZV1e fEYFJ+34CsM30Q9RDKv72+AAu5HOzBN5pZQiWy37jnXnYocFm/0fIJYPcDiRFF70ohME PbDErX8GNnvUFwl/2LeLJDMWnxWUmK4/xRGW5PgToCv2yqmMine7RR1QTFm5uAaep0OF u5vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778021315; x=1778626115; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=5a9a6kWz7AaL1uWn7ELkEIPMK/peDJVgH4gBGXaMfws=; b=JpZvbOsv9lu5JzXQ/ykQgK2D9LBZSBUOGs01LeiN54YRwCOHrGL09RsYo2ULE/iLdO hVk4XG+9T4PDptEZbL0XUG9bc7DefRDZ/8ugEmqCalE05eFcy+bxDLGnL4ljkPMurw3S K5PPd3fBocX6HHL3O1ZJrrPp0CcZqok5TokGp3JfS5UqL/zf1gCpYzzHz0YYq3wivJ8a UkFNNmyvNOL5SAaDbL4XW6wServHEwDKU6SIKQZpfiiildiWHJNMxCgrVQubiU6E/IjV SKYRwvM2p+rPmdflSPPbWAbqlu4feGjr+v/951sUW8b95ueeYs2mA7rTiniJ4XNlr6kS iOpw== X-Gm-Message-State: AOJu0Ywq751bO75MazOHh0JQHqIkCDn551jHB5GYuy7Awv/nNJaZS14O o1V3bZ9KsWrTI7/y3sNRPAL38RJFMlJrPWnCjwN9L/cjq68DXGomVWJ1TOMkqtJvFrjH7vjrHQ3 vilM9eE4hNaGQrYJzvmCMBgkJddzZOl5klOllVZ79tdhwZYwXxLP3DJaIn24MWuGrTXh2 X-Gm-Gg: AeBDiesGUGKkbY0Fsm5VW60o7Jw/hfDbVOpFsZTIOZuKWgEnv6JGwQWXjRiDg6DCx+9 JSCmnsmgPmChy9E9FuRwUw2/WCUFehSVYpK4owwW9ykjqNVPHfJY+astHkiH6GeS1Tm6cWuO5ML zIXhl90j1lPvPDEF9t/bwl/X7VKCOJb0b3e9CSIIPEO0B4ZbZR5m/NIGCRk0ODK8HE3pwmSqfnN hIU4PQewdDXddxUmmXfL5OAvbwpNxYvfU2tzvjZjWvfVF7b0xKILmYpe2kpFqgyC9/RrNUobBmq dkFuYwSARJOo66GYjQsV1oPBKgj4ug+5LRX4j0xQc2E9Z4gxGD47fqEfHGJiNb4KpKbzPfDNEyN w7gjUFnktNImIDx1tRZcWe3AxyykMyROlF58j7tsinpOrf6c/KOMTsX9+OFrfX7VbZramHmzneO Oy7ehKNHS8tqTxOyp79tXvS/t9qh4= X-Received: by 2002:a05:7022:1e10:b0:12b:ec67:3523 with SMTP id a92af1059eb24-1317d89653emr667911c88.9.1778021315049; Tue, 05 May 2026 15:48:35 -0700 (PDT) X-Received: by 2002:a05:7022:1e10:b0:12b:ec67:3523 with SMTP id a92af1059eb24-1317d89653emr667896c88.9.1778021314527; Tue, 05 May 2026 15:48:34 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Anton Johansson , marcandre.lureau@redhat.com, Markus Armbruster , Paolo Bonzini , Richard Henderson , Pierrick Bouvier , Max Filippov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH v4 6/6] target-info: replace target_info() in system-mode Date: Tue, 5 May 2026 15:48:26 -0700 Message-ID: <20260505224826.2698753-7-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260505224826.2698753-1-pierrick.bouvier@oss.qualcomm.com> References: <20260505224826.2698753-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA1MDIyMiBTYWx0ZWRfX/ZKCMSvPEfQK QtkcRYAVMZMQqsYt2bLC6y4Sk+C/1/rlBic9UBSql5Ze/WgPQEE1jEJRaZLcdczEEI4CWmimGO/ +b4r9CQ9JGu46SBRmySj7VJGgFYF3hPZaBaK1ZKXhE9NLGAblkAvLlQ2Cy7CIaoxKqa4Lbvcuqr yaqsaK0pQacCWSYOJCkTN4Vtw4kaZXaXwGWnEIJdpUzg39Q+WfBzEigSLXn8YtLfHdqEOtEJNYv UVdWCsoqW1kC3fvy7Rv1vEWLfXKVXEvfDW2sKzUpTWiWRa3u2RRd6JLVYTD33uAjSJCT5wzfBPz Mwb5nzsMs5qkOijP3H3qzYWZ/KEE749BkB5CN2Nz1Hb3njdvrEEsNMoCz/hoow5l1mRN4A17Cug YvMu1GVtUCuZNCmludwt1jrZEtZBm1D0FBMgMRh6yKnAWs7YYhfzSdK5CsWdtZu6cPoUGK2sQik oryJsw2vbIJQpJFUXMw== X-Authority-Analysis: v=2.4 cv=SPBykuvH c=1 sm=1 tr=0 ts=69fa73c4 cx=c_pps a=bS7HVuBVfinNPG3f6cIo3Q==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=Ar47GhOyGom1hrc3c0YA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=vBUdepa8ALXHeOFLBtFW:22 X-Proofpoint-GUID: V0uj-BP7aW6EeXxNpmq6Kwch2NpPGdlt X-Proofpoint-ORIG-GUID: V0uj-BP7aW6EeXxNpmq6Kwch2NpPGdlt X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-05_02,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 bulkscore=0 impostorscore=0 adultscore=0 lowpriorityscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050222 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=pierrick.bouvier@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1778021379831154100 We now can use TargetInfo information available from QOM, and remove duplicated target_info() symbol. Reviewed-by: Marc-Andr=C3=A9 Lureau Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- include/qemu/target-info-init.h | 5 ----- target-info-qom.c | 5 +++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/qemu/target-info-init.h b/include/qemu/target-info-ini= t.h index 859451c672e..a9efd8a1e40 100644 --- a/include/qemu/target-info-init.h +++ b/include/qemu/target-info-init.h @@ -50,11 +50,6 @@ typedef struct TargetInfoQomTargetClass { OBJECT_DECLARE_TYPE(TargetInfoQomTarget, TargetInfoQomTargetClass, TARGET_= INFO_TARGET) =20 #define target_info_init(ti_var) = \ -const TargetInfo *target_info(void) = \ -{ = \ - return &ti_var; = \ -} = \ - = \ static void target_info_qom_class_init(ObjectClass *oc, const void * data)= \ { = \ TargetInfoQomTargetClass *klass =3D TARGET_INFO_TARGET_CLASS(oc); = \ diff --git a/target-info-qom.c b/target-info-qom.c index 9d1f50ffcab..cc470b3b4d6 100644 --- a/target-info-qom.c +++ b/target-info-qom.c @@ -39,6 +39,11 @@ DEFINE_TARGET_INFO_TYPE(target_info_parent_type) =20 static const TargetInfo *target_info_ptr; =20 +const TargetInfo *target_info(void) +{ + return target_info_ptr; +} + void target_info_qom_set_target(void) { g_autoptr(GSList) targets =3D object_class_get_list(TYPE_TARGET_INFO, = false); --=20 2.43.0