From nobody Mon May 25 20:33:50 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=1778288180; cv=none; d=zohomail.com; s=zohoarc; b=FTeiP1V/Xk9wP/pQVq3ynqmtL0keNjVxMq6LQh/PjOzrAdYIAi9/Jvi/T3l+p0f5456XKTc0/80cxwhYc+0Rel2SdI0K6MsrUn0cCcMXI52HGq6iFdGqEe2AhVpf2wBqTGWWA17yco2afOBgergXsI4Gl/5DybS/XkGSbNA9oA4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778288180; 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=G57Nouu8CwyvuWiaefu+uNrgJj5uC88qon/6Wi3OVsw=; b=NZ8aE62fiN2GXMS/jTYef/cwn1e1D9IjzLFFxFSvlQIBDuImRT3xBdebrL+QablH277qfwxwrz9Ch43k5x32EmbEXCIMLsx5VpJwJ//pcFYHEd15zti1jsifMt8Nfx4moW+lDGv29mayDpM8BJOahiYSnEoqiIjr35cyqaeXSFM= 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 1778288180778257.0054930213264; Fri, 8 May 2026 17:56:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wLVyb-0000bm-1N; Fri, 08 May 2026 20:55:29 -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 1wLVyN-0000TV-Aw for qemu-devel@nongnu.org; Fri, 08 May 2026 20:55:20 -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 1wLVyK-0005xd-Gn for qemu-devel@nongnu.org; Fri, 08 May 2026 20:55:15 -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 648GWNEj2335604 for ; Sat, 9 May 2026 00:55:10 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 4e1keh9bc5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 09 May 2026 00:55:10 +0000 (GMT) Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-2f525565b33so3407949eec.0 for ; Fri, 08 May 2026 17:55:10 -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-2f888c3b301sm5352610eec.23.2026.05.08.17.55.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 May 2026 17:55:07 -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=G57Nouu8Cwy vuWiaefu+uNrgJj5uC88qon/6Wi3OVsw=; b=GmflL7XpDW1EWgDfZe+aWMaLw0k uf1EBmwFk7s4o8fm773vHZhuiOOGzHSLeOB93w5u2K/Mzorvmdl88ddV3JYNXUtw m1l29nW3cr8s58jzXwCoMmcrh34obUwJ1A771M7CBs41u8N0bQt+P7/ayBQzfoK2 V66sMDoeRAAwNlukhuDVRNdG1TEP/SU/unjhBTkZW3yiV+Dqafz2mW5v97fPf2hz MxKnuwoYKe0ObVzN+pm16NPoTTNHQTZ1hBzymD8cPxdJFaTOe+11tIc4mJjzk+Ac 7OffZyvFFYe/Ex+3MBzWdDAgP2gyjS7h4pg2v9vgS7TkLoZJg26dnN3PfMA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778288109; x=1778892909; 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=G57Nouu8CwyvuWiaefu+uNrgJj5uC88qon/6Wi3OVsw=; b=fl/GrP8KYLJCIcBdoiwbQxRVuy6xO/vJOJh8NNZMCLzFQZesee0FvjweTg2xqBTap3 D1ainsuSsHtLg+PC9wtnrEIzI08ro0NNUFkCl9YTlbE9+S2gSd5qYYHmnVYjD9H758+B 7rYmdItgSKXb/LYB4SO5ZobWcQBXVptUunPR1KW3X9CPoYXT+CPhWq2tLh4RmOcjyAKJ B3gFpqwORTPLA1hUPFOxwWtNAfL9v7SERbumCTbFSjQ9bbczkG3Q3bK4zGwcWYpEnfbY RYGWWJaaVebvWd3cW1aR86tu279KfpqRZWNoRrvITlqms3ER0jcAjbmiaBiKvl+OD7A0 OOWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778288109; x=1778892909; 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=G57Nouu8CwyvuWiaefu+uNrgJj5uC88qon/6Wi3OVsw=; b=UnEI+bnqJAcL3njAqLSImJHDtjvYTr/HpEZ0V+0uJ4CqLpqngb5yUrwAqPQIDgZOAt y3SNY/W+nJZmo3WD10jAZgBwEYVkyzbBLnfvdeo6MgdsDXab5yegmimbQ1d6yDwzDJO3 Nn/0JY93J4iPCYPejAmdu+2kI4BLM6VaDdkIROlVDIORyU7+wK0CNYBBhmwdqglW4QAR IpzjNkC+I2uIIFBGpIfkUERJhTXLsS+sW0x1srDYStoWHBkhS3lntS2kp5z72QV0yre0 zJe9CrxGiW1U35+bouwLWhPn1+QeXFT3WyUswQwM/W+RmMha7114C5A0G9V8Ng/JjCL1 aokw== X-Gm-Message-State: AOJu0YwEWuGrKM6rtdYMVG/v9sNZwQb7xCkk7WYG8hqLWMk/h9vKDJgp WKJ/LMpzQiqa/3wsjXBwmzBvGH32SJBNrjJcT9bf3Ba3HmxWc07TVLjAtQGK0MmrTyxqVFITlbN G+H03b/MLakgtjpgI3W7uiNe+CSZUAQ9twLq7HvlCr/MCoRZguime7xn4fadzI8ULqCDB X-Gm-Gg: Acq92OF7IcQIRaerw3tC7vGUYQxsVhtC2j3iGkKmPWKlxiMNujVk76QdV+5cB/Ns7Z3 nRxaUFcTAKQNip+4mbC5ygo8yCcLG3/EE0sHp7nh4Bv0UOKcWcqJUHKQ9cLuWNEO+YxvIqF160h 3/uh5bS+WNQmpwU8vwfDaLJI5biTTs3ZuABFNUGBBut3YsmstPMAtRk8xq3XymHd2EOXESVORH4 oIbmNsXPRR/REoAfEpspRp7I+nAjAA7anrlcOIeFIXUGD+cy3a9GD5Zn4tt1wzI6VpBM/5QheGB 6bHEtiE9poD4sJGV8fxeTQqnMPy50EcxJFBWGoIf2fsRB/LavAawEuI5Nf40nA5ZTQiFR3xjqa5 9jSWeA2klLKwif8+U3MJhKQeECysyhVp5NbbFJEU+EVi4kBhf3P/E1WhtHUlnzXHeWJ/+cVMo1E 6XTGoyaA== X-Received: by 2002:a05:7301:1018:b0:2e2:27bb:a48c with SMTP id 5a478bee46e88-2f54df9f289mr7325694eec.14.1778288109056; Fri, 08 May 2026 17:55:09 -0700 (PDT) X-Received: by 2002:a05:7301:1018:b0:2e2:27bb:a48c with SMTP id 5a478bee46e88-2f54df9f289mr7325667eec.14.1778288108457; Fri, 08 May 2026 17:55:08 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Markus Armbruster , Max Filippov , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pierrick Bouvier , Anton Johansson Subject: [PATCH v5 1/6] qom/object: register OBJECT and INTERFACE QOM types before main Date: Fri, 8 May 2026 17:54:48 -0700 Message-ID: <20260509005453.3984184-2-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260509005453.3984184-1-pierrick.bouvier@oss.qualcomm.com> References: <20260509005453.3984184-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=CJIamxrD c=1 sm=1 tr=0 ts=69fe85ee 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=_K5XuSEh1TEqbUxoQ0s3:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=VDdTCajPACCFXhBZtZ0A:9 a=scEy_gLbYbu1JhEsrz4S:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: AXAmRTR3BIBAZEdbiYq8HW-0tBZSYkJl X-Proofpoint-ORIG-GUID: AXAmRTR3BIBAZEdbiYq8HW-0tBZSYkJl X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA5MDAwNiBTYWx0ZWRfX6ql5z2GJT74e F9L92ltxtZkUZJJ+/W3saXGlr2NXMQ1JLnQFJ/p8zQIiLbQsaLjiFxAFwYSc7tkzwnsEq+RaQPi 5QXY3piuOqCAYZ8f+lVzcMs7qpC3g2iHRksPJzC0P9KWb0GqlUL41TQnbFALXvfq/0XAgErx5nN cvL2hz5riHOXajH8VF9E6/OgBw0DX9/whKNsE+WAEcnWeCfYobuqnsjfbjRA0Py8V3aziVf9xcy fKU53hIEJkcPr/R1tRcIJQp6AbsZmyH5hBt8LYabokEA2tfTULks+LQ9G0FshXRfbueViJNqWsZ OeASvM3gij9z9MBhbKLuuF9dI0aD26t9Tq3Qclun8i829GzEAj7UZpZzHqq5XWinEoezsdjo0Zg FkaER9/Eu0NxWkcy9qrwrP5zM6sfu56OSbk7TDmQ7JvFTihEnxemoOgIU2MdxK0ep4Kbk4GUvZl EA77sh8xWbEge/FW+Pw== 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-09_01,2026-05-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 adultscore=0 spamscore=0 impostorscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 priorityscore=1501 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605090006 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: 1778288183384158500 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. Reviewed-by: Richard Henderson Signed-off-by: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- 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 20:33:50 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=1778288189; cv=none; d=zohomail.com; s=zohoarc; b=bM7LZjCAn3vyq4YG590oS422kEKreLdnO1lV3BE5CWkSRI/nY8M68xjkxKsdobTVyuO+2wpiOmpx8Glhl9eAQuhc3ZsAeniHNs15wD1IeRSIObKbtV9Ht091FNCl/SCWhs9aaiAo2H0DWODIa7LpoVKkjxMlednKFAsRWJY1VBU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778288189; 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=BJj8s2vRp8m9n1bJfX7JiIDpyg6+MDEeWrD16gq9sQ4=; b=iw7cMgs6vuzxXvVlWRTj93sr5ncFeMNfYIdufr2ZuX54CRLEY+UtayGBhtJ6eKNLgRELwYrzYWZpMy1qz+pxftBqfD0e1xLBAuDLzPuxU2SxXxDQzyqbAs7A6DCkEBsCe/qZWWA2TOV0eUhHjKeqaeXbud30tbadsQYDFkrdhcU= 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 177828818941358.48239054073986; Fri, 8 May 2026 17:56:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wLVyg-0000el-KW; Fri, 08 May 2026 20:55:36 -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 1wLVyN-0000TX-CM for qemu-devel@nongnu.org; Fri, 08 May 2026 20:55:20 -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 1wLVyK-0005xg-Op for qemu-devel@nongnu.org; Fri, 08 May 2026 20:55:15 -0400 Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 648HU2mC2515326 for ; Sat, 9 May 2026 00:55:11 GMT Received: from mail-dy1-f198.google.com (mail-dy1-f198.google.com [74.125.82.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e1m9ns5gf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 09 May 2026 00:55:11 +0000 (GMT) Received: by mail-dy1-f198.google.com with SMTP id 5a478bee46e88-2f3eb8f3419so368128eec.1 for ; Fri, 08 May 2026 17:55:11 -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-2f888c3b301sm5352610eec.23.2026.05.08.17.55.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 May 2026 17:55:08 -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=BJj8s2vRp8m 9n1bJfX7JiIDpyg6+MDEeWrD16gq9sQ4=; b=OTmYcROJxohrUnEHB3ceH4NiOJd kWmlbYKvNWVU8sPGk+x5F1KG8mxsng61Kjd01JB29XB5j3iCw77TgCPFUJPhjuxr M63y8mhB3uElUogec9k87SaYx/zUnD9mBiJpCvja0uGJNvETy4/FdCW4u7zsVUCJ ewH3aA8QrvJ5Hb3uPatmmDDH1uw8jearFGcmbhqlhzcw28P9RucVyUepNaAh9u8F wMg2fl1UZUfnjx/EMIYOIdSsqPH77FdkFH8vSoQUPtWZ26afYmRHmkWRIB5NCmRQ ela6NdxrD0mONghFDUtQVVXtG+n8zye9ApDDSMt8w5gVlcUHPzdo/zK69Ng== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778288110; x=1778892910; 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=BJj8s2vRp8m9n1bJfX7JiIDpyg6+MDEeWrD16gq9sQ4=; b=jVYduqesJ5Ebhoj9qNC7lF1clfDgJF+Py0OP/OSnimCPtqizkCN1XUIFkTcnlHVraz Vu0pe8alp5zUP1o1hIznCGDfykgXUpcxgW6T/2DcYY4H1nfPo3inuAsO9vME52NtudZs WoI46f+D7uBhxWjz0Al9MP2UFBN7hAT3AdbFou4Y84GWDOOzP3ZOauIXf+uQQ0p4bLEX 6JNjkUXXQXnTbeT4N/pnoPCV/g2pi2cBPULRcsFKwaXnLsu6sSCBlrnTfOSHp4FTSHfM jzvgstaCybo5dwiCI/F4udY2JjHXKw00G31VyNxx+7KCc1PcZeZrLSV/wag6Shwa46Q9 XrjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778288110; x=1778892910; 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=BJj8s2vRp8m9n1bJfX7JiIDpyg6+MDEeWrD16gq9sQ4=; b=mYFb2MsfSACTXCe51Ggq3iaEu5e60WNnsUYDDVRoOOYEi3yN9tmM53QGVd4P4BMBCH am4jfAGKNMwJVOxSKNbuSaksMsUNW2gYYJnLVHQ4p2PA2DWL67YkOqKD7SokSzH7ecK3 nFOucI246D/h6pyKoZXGozkGdSaNYjuIqRY0luPw6Yxu5AwmA44jAidhTDebuMdo2YH5 U8b6ZbipH9VIJHKcnItqHvx+GpdFRzJ9TagbWb8xhcBZKZZOK2IwKQfJEtjxdprDrY2g JIZzY1DTV52UfvYbbUxY8kGRp/ph7nfAdpsDarmir93LFNZPuuMr6erw3wruDbRs9Z4B b8zQ== X-Gm-Message-State: AOJu0Yxif95PBVK7/wVgEtgD01L0Iy1tI8KrJbfDZ8gjUp/4XmkM+U6Q YFZQkHG1bz62mnVG4JuWakZrUvW3RDRXyhFh01v4TtWH2wPaRX2egXPy9Jseh9iks8YR36jxz0r JOtAu1v4c2A/rHy6XAAH7OSoCnhesUkhiHiSWuGaamOTZichi0Yq5wJfm5XVulXFPN6iq X-Gm-Gg: AeBDieu3kB7OwSqayTlh7syNnQlHYbkS6KDri2lbdaTi5X5s91jr8iitywKHGMgwVTD bdXXA5nJ6ViOROFtR3MMrQTJ8G+y3Qbg5SElCEzzW65p9OGHNFaandgKzn3F52lti0cItMP0/kv 6zq8H6FUvuWlyMJspUjh4dSHUT+cL3f/tD2xvrTdEF+9Gi8v/xIWLQMqFzfUx1QoNqAGZTE5vWY 9jDj0d9yY7AmCrA3T9tQQ/CNi85TMYmsEaSMV2ioD55Vs11L+wbXDqrqvhsyN8+YYRXm3pHApLy udsjFLFHhwgzVzfffQYLs3V0BqfBoSefgDUHNnDenJrA8ykt3lpouPJQW+PcwetnRrpxuqFrLRe jYAOJVmCv0U1X8B1+0PnVFtYcz49qLeu0pPZXryB1BG2WD2BnYxFqa/F5bB4cotnL19fYoaG6r3 njfFtzSg== X-Received: by 2002:a05:7301:1014:b0:2f9:5c29:ffb6 with SMTP id 5a478bee46e88-2f95c2a01a1mr1081890eec.13.1778288110125; Fri, 08 May 2026 17:55:10 -0700 (PDT) X-Received: by 2002:a05:7301:1014:b0:2f9:5c29:ffb6 with SMTP id 5a478bee46e88-2f95c2a01a1mr1081868eec.13.1778288109470; Fri, 08 May 2026 17:55:09 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Markus Armbruster , Max Filippov , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pierrick Bouvier , Anton Johansson Subject: [PATCH v5 2/6] qom/object: initialize type_table in static ctor with fundamental QOM types Date: Fri, 8 May 2026 17:54:49 -0700 Message-ID: <20260509005453.3984184-3-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260509005453.3984184-1-pierrick.bouvier@oss.qualcomm.com> References: <20260509005453.3984184-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=DaEnbPtW c=1 sm=1 tr=0 ts=69fe85ef cx=c_pps a=wEP8DlPgTf/vqF+yE6f9lg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=vRPrYSdLeMI82gwj_0sA:9 a=bBxd6f-gb0O0v-kibOvt:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: VXsoXfEfP2QXoJP_vy38Lv0m-UoFQUTI X-Proofpoint-ORIG-GUID: VXsoXfEfP2QXoJP_vy38Lv0m-UoFQUTI X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA5MDAwNiBTYWx0ZWRfX4faB+z5/ookN CQFDfW70jcgJhGybuJfD2UiAytQAmoO1KUtSTz8wKoedOpmhtcDYCa2KufKhC/v/fUw+BDQj4/v OZhJVljVu8SF4JWswOytWFoyWeVm0OcLEAikigMVQwzn4Boz98SF0ewLILEc/25OUzPEAt1XUfo 11QHr1tdlsy1QBoN3p/cpr5mukqIANtGqoYbAcKl6v2KpCrPbtwHrLt7hKvVwBXCBsjUQHSD3DU pWg486F2haLoNE61PW2Y1vtOY5gma9lGbEqIuRwN7Js8kE6h+U/dlUMS7lMpUjUsGLWVu+2hf81 6jkKkM03IPvwEyULuk4FqHtoxZ0zohGQKYFyL86OzSakmvLYE3ykQRT4qa7PUIbvhl4jSZ6Rpzf pXixr813MZ+/8kXlif/cqr13RgeejVWG5HLDOyKfNqOcnAd6GgLaZPlMGu92A2UaYgzF9PJBcLQ YzD3rPyCNEC7kGtzgpg== 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-09_01,2026-05-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 spamscore=0 priorityscore=1501 adultscore=0 malwarescore=0 suspectscore=0 impostorscore=0 clxscore=1015 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-2605090006 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: 1778288190551158500 Content-Type: text/plain; charset="utf-8" This saves us having to check if it's initialized everytime we have to access it. No other QOM type should be initialized or accessed during static ctor calls, so we don't depend on their ordering. Suggested-by: Richard Henderson Signed-off-by: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- qom/object.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/qom/object.c b/qom/object.c index a5d268d0722..bd48f22bb00 100644 --- a/qom/object.c +++ b/qom/object.c @@ -76,28 +76,19 @@ struct TypeImpl =20 static Type type_interface; =20 -static GHashTable *type_table_get(void) -{ - static GHashTable *type_table; - - if (type_table =3D=3D NULL) { - type_table =3D g_hash_table_new(g_str_hash, g_str_equal); - } - - return type_table; -} +static GHashTable *type_table; =20 static bool enumerating_types; =20 static void type_table_add(TypeImpl *ti) { assert(!enumerating_types); - g_hash_table_insert(type_table_get(), (void *)ti->name, ti); + g_hash_table_insert(type_table, (void *)ti->name, ti); } =20 static TypeImpl *type_table_lookup(const char *name) { - return g_hash_table_lookup(type_table_get(), name); + return g_hash_table_lookup(type_table, name); } =20 static TypeImpl *type_new(const TypeInfo *info) @@ -1069,7 +1060,7 @@ void object_class_foreach(void (*fn)(ObjectClass *kla= ss, void *opaque), OCFData data =3D { fn, implements_type, include_abstract, opaque }; =20 enumerating_types =3D true; - g_hash_table_foreach(type_table_get(), object_class_foreach_tramp, &da= ta); + g_hash_table_foreach(type_table, object_class_foreach_tramp, &data); enumerating_types =3D false; } =20 @@ -2854,6 +2845,7 @@ static void __attribute__((constructor)) register_typ= es(void) .abstract =3D true, }; =20 + type_table =3D g_hash_table_new(g_str_hash, g_str_equal); type_interface =3D type_register_internal(&interface_info); type_register_internal(&object_info); } --=20 2.43.0 From nobody Mon May 25 20:33:50 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=1778288182; cv=none; d=zohomail.com; s=zohoarc; b=cNXbZIbg1o1PDsidYZgyvd6T+TyeGaob5pLJinYxaSUmYctJoSjXJfxW766wf9ZVp+JPph3xCLTtndqCujSjoBoX1LbwTuFSBZN7meGpVGHgrJD0vjAqLAYmc0aLTaCmTnC6v+kBGXr47KOqPO9XILuMU9sv1ICp0NPJVKwYpjg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778288182; 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=ccJY+iG0pd89Vp/075sBmYMQIkXmTwvv+melW/PueCk=; b=nJSo0vcjkKcOQITfynBEzE9QYF68TlmSuv2QPDPb4kotsfB/z7YWO8d8K38RXgiZopqoaC2+L6FEVvib+DqcJu3r0Oqj973QdLd5gl0aYFjijfY9HPSJlGVwTy8yuIjcVky9QH9DHHcKH8hFcjrOakAJAqD0AZSMH5ZL68jZDfI= 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 1778288182872832.4033034728222; Fri, 8 May 2026 17:56:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wLVyd-0000dU-7G; Fri, 08 May 2026 20:55:31 -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 1wLVyO-0000Th-VN for qemu-devel@nongnu.org; Fri, 08 May 2026 20:55:20 -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 1wLVyL-0005xw-Qv for qemu-devel@nongnu.org; Fri, 08 May 2026 20:55:16 -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 6490JhC81767965 for ; Sat, 9 May 2026 00:55:12 GMT Received: from mail-dl1-f71.google.com (mail-dl1-f71.google.com [74.125.82.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e1t9q01sw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 09 May 2026 00:55:12 +0000 (GMT) Received: by mail-dl1-f71.google.com with SMTP id a92af1059eb24-12dece274b1so2702810c88.1 for ; Fri, 08 May 2026 17:55:12 -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-2f888c3b301sm5352610eec.23.2026.05.08.17.55.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 May 2026 17:55:09 -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= ccJY+iG0pd89Vp/075sBmYMQIkXmTwvv+melW/PueCk=; b=YFPNUj7ZGzSKhn0O 7mX2eiROdvzOakNGpjCnijDvJKwrZPKIvs3+bE/6uBcdJG4q1PhYWX2GFYDz41Yu 2SeaQAkQUHu47KXlmHmvgJoR/I9gUcEEvRcSKI7Y1Myz+Gl+qZYf0oVdTEQQEU1W MWZ4knGRbYfmaxERAvGTc8PNceNX04iK55UKJ+h6r7KCmAYrsI961Po/lBx2h5Mr JenJRL5uI6lNNo0FIBPVxfnW5kfArmGsol9cFUtX8cYiK/c41WkANiLYs7HMrD0d a7p8D/9buvcO0DDbc6gTbsA9E/dqlLqBtwp4owdq6mawRQz+fDa2GKxVqSEW4Mwq GGKuVg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778288111; x=1778892911; 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=ccJY+iG0pd89Vp/075sBmYMQIkXmTwvv+melW/PueCk=; b=A0n6OmERbQsg+03sIV6/k8Y0RMJNMkULsxVIR6gnOsTTwP+F8vw1TfPjG9v12VO/G4 tRVvfjV7cVm4r8L4Ump6ndByGp+Yfp4U0bGKe3Nc59dae6Q7Ug1EaZAhyexQzoQmJd8b Vroy0ESsdGyqqsG5b6kETsZwsPqltRNp48n75uJTCAr4NT5tMuEYJn+ZMof/ARjH5kVz 1im1q0FPsEQjs9L3wQ0UIm/I+tsw7piAcNB4u8DadKDmVsDM235S6HOzjv0XNSIouvX9 T0xwYcOjIdC7GfJXkWHzuLGBMgewHjY7+8TbrrZ+kpB1/0hiQeTBGCKcrwZ/4kBuf2Ni Ocpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778288111; x=1778892911; 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=ccJY+iG0pd89Vp/075sBmYMQIkXmTwvv+melW/PueCk=; b=jh79VhPx1oWviOYDtP0MCYwGIH5ZD+WkF1x6UyOSFg4EMARXIOhBpDe+deZWWSucyC +KVDuu11SVun9f7koUf7b7q/lKzqPi8pAT+K+qOqW078ZOV93D5knnKw3RKdHlxNHaWq ZGAtsKGJRMeBGZ5ADIVXoIIjONhuieaBvJFc12YDOcvq4dhT0ScY6CTRq+Gc8ruZ7aKh b26V3p/evs2k1xmwZd+wsdAVXecxQxrtSdm4XK8iYfANT/Xt+yjV/bfvhcvt/XgVhw5U Xnh0uhoGmtmMaJ0Oy3S3OfmSOP1s63H8a1XK81+7P9xyKesDaY9kVyqGlcqm6OAOktwS aNkw== X-Gm-Message-State: AOJu0YxF2cM4KuLiB+eXOsu/9IulI/FkBGQZXPxtX1bSLM8FFRe0UEuP yAUBLw250UTKGrtihbWuSpN35Qh8jJpXVTzV+trh9h5zyHkNLN8E3vHzpOEqBDo80NMLEXvJ4ia ddIQ8APSC0dgIm3XN5OHuA+xD4HSbcaMmERGfntKlr65hPLnG09ED3dg+/kfHqvwTyc6q X-Gm-Gg: AeBDiesgKJKzUd9a6qDAKluIDmlnZuUn1LH1XjpJo6cEJLIuMJOvEucHV3XzvTjiPdf WXxVxHABRUHPek9czIxgCVHny4SQ8zOMusdr4z9xX0Brfph8PBQg/jUoINlBJd1iXuTqgdcvRqg /+J4XJ+ikUpVpjU8tU0gJqZFYpqWnzkGgVKO9hNEmPIlrEQkLHWQe+Tgwwpgmxi3gvlcQdhOd0i NtHiFApfzCb63/jlVybpReYQLBksH/Bbj7Bf5VF/wav9URnxPv7148t9Hj5TOubROpimzxXBR27 /4fKqvMc0z76Nf5wdSTo2YMaPd8zulcMsuY7/htNJyZh9JS+Vi4foWtWvkyDjfSWXbw9HrNqrRm 5DPvUvQeKZOVNY9ysW0PUfmGT78mEhP3Rm7/S+dG1u11rk+fnmLKBahBCNDoKy1qPpdiV5MKIym Ul+TtYCg== X-Received: by 2002:a05:7022:625:b0:128:d715:b717 with SMTP id a92af1059eb24-131852d534fmr7296470c88.13.1778288111107; Fri, 08 May 2026 17:55:11 -0700 (PDT) X-Received: by 2002:a05:7022:625:b0:128:d715:b717 with SMTP id a92af1059eb24-131852d534fmr7296453c88.13.1778288110512; Fri, 08 May 2026 17:55:10 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Markus Armbruster , Max Filippov , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pierrick Bouvier , Anton Johansson Subject: [PATCH v5 3/6] target-info: extract target_info() definition in target-info-init.h Date: Fri, 8 May 2026 17:54:50 -0700 Message-ID: <20260509005453.3984184-4-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260509005453.3984184-1-pierrick.bouvier@oss.qualcomm.com> References: <20260509005453.3984184-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: nn1Awcif12AurF78UJb6K7OddsBjBcGv X-Proofpoint-ORIG-GUID: nn1Awcif12AurF78UJb6K7OddsBjBcGv X-Authority-Analysis: v=2.4 cv=J7yaKgnS c=1 sm=1 tr=0 ts=69fe85f0 cx=c_pps a=JYo30EpNSr/tUYqK9jHPoA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=l1QZgXgEFyKk2KBU3EsA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=Fk4IpSoW4aLDllm1B1p-:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA5MDAwNiBTYWx0ZWRfX+GP9gaInVIaw FNxzKmJeJSX+5K5IQczXYfIIckT7obEczufdvTzSTz+SswF6y2gk2h1JFK0UrZqI18hrYsx7Ev6 +IUzsnmyb0BH3BNl9GMyXx2U3Amo8aWkKEkrjynBwfkjfal5R/P8sFNRYVl6pBYWuI1l+Mr6tMp RN13t6vFXFzMSRW/BYf4CGZBvMIEtU5eweUYCO24No4V3IB65AMlLKGA21L6Okv6QHiKZiygOfp FZziuVqyt4+NL5mjsKxypRp5joS54Na95cTDPgVKtVX+neNpdD3VXo3wp91EQ/I4NXY62IqDsnH GK+2bwNu1zIIkAjB+8zhFIdLVEG/qdbeV0pat4wfPmxaH1dEaQNybzvEB9WoQrqD2xiBpLaeVbb Oe/j8Qrd6qHS85USuNGgE8NSU0SThtZlSru8Q1jlj1ydM1zAwxdFjTXfYakPGEXDEDT4D4qhL8d jtW8vTJNOgOC31hjNEQ== 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-09_01,2026-05-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 malwarescore=0 phishscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605090006 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: 1778288184739158500 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 --- configs/targets/aarch64-softmmu.c | 6 +-- configs/targets/arm-softmmu.c | 6 +-- include/qemu/module.h | 1 + include/qemu/target-info-init.h | 78 +++++++++++++++++++++++++++++++ include/qemu/target-info-qom.h | 28 +++++++++++ system/vl.c | 2 + target-info-qom.c | 14 ++++++ target-info-stub.c | 6 +-- 8 files changed, 129 insertions(+), 12 deletions(-) create mode 100644 include/qemu/target-info-init.h create mode 100644 include/qemu/target-info-qom.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/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 new file mode 100644 index 00000000000..3f4eda19083 --- /dev/null +++ b/include/qemu/target-info-init.h @@ -0,0 +1,78 @@ +/* + * 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 QEMU_TARGET_INFO_INIT_H +#define QEMU_TARGET_INFO_INIT_H + +#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; \ +} + +#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 /* QEMU_TARGET_INFO_INIT_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 d2f4044e5d8..e44da0941d4 100644 --- a/system/vl.c +++ b/system/vl.c @@ -2889,6 +2889,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) diff --git a/target-info-stub.c b/target-info-stub.c index 07d8647ed8e..22b7911201c 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/cpu-defs.h" @@ -41,7 +42,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 20:33:50 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=1778288198; cv=none; d=zohomail.com; s=zohoarc; b=am6NZbJuTJ0IVmXjrHoFS/CbMStCKZMmzU1Ebppt4trxAHu65iilKhpt+T8uf3FKSaDh7h54C4nlpVoMlaHs+rOBUzjkefVwx/heCbbfKwQI+eGckFcG+tvVDnatKpBulmuynn1lrBTnh5p5Pgp18+VyG9hvcnrLbqVF1RyOBnM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778288198; 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=XEcizUUTyZsT3aUtnh6Piq3IYZxAXkYO//vcr+qpH3w=; b=chpVuxc5yOi76a1dfTRD4IMe9HRIS6kNNV2oCPiK5aIIDV5CfIlHU2hCOErfGuGcIkpJrTVQqFLz0xpQ0fTZvW5vXSKAdGVZsIcPItrh9ZO3uq4QasfMpTtGqGD2KZopOQwf8555ZxE13qo/WPClTBDY3v3Xsi01zeIojZLkvaA= 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 1778288198576125.22402899709027; Fri, 8 May 2026 17:56:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wLVyy-0000hH-E2; Fri, 08 May 2026 20:55:52 -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 1wLVyO-0000Tf-JQ for qemu-devel@nongnu.org; Fri, 08 May 2026 20:55:20 -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 1wLVyM-0005y5-Mg for qemu-devel@nongnu.org; Fri, 08 May 2026 20:55:16 -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 648MROSA318068 for ; Sat, 9 May 2026 00:55:13 GMT Received: from mail-dy1-f198.google.com (mail-dy1-f198.google.com [74.125.82.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e1bc03nv2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 09 May 2026 00:55:13 +0000 (GMT) Received: by mail-dy1-f198.google.com with SMTP id 5a478bee46e88-2c0f6593ef5so2810374eec.1 for ; Fri, 08 May 2026 17:55:13 -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-2f888c3b301sm5352610eec.23.2026.05.08.17.55.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 May 2026 17:55:10 -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= XEcizUUTyZsT3aUtnh6Piq3IYZxAXkYO//vcr+qpH3w=; b=AwEceEPopjMGPu+x LNG2YWsqa7W2XrJ46U8JB1Xmx9EJ1zGE+5lqkHw2JRSMLyJWGBSOve6qGczlBg/z niVIFFScIZT5+Ca+GbDfPot8OzEz/2lvTJonGoQZOh0cOsPxCRC0BHcYMsMYAj9Y 2Oy4BclM97b5ONgIqHIHG1/ltY//PAXoz9i+I777d1MkTee8UECx0UdKE6BW3xAj 5fz5ABwB6vkKGYxPG2LiQSggnxUQhBGecezeARSQt3pwvjzy59S8V+jA4J4qnZkr VJPuKJDv5CYtE5l9ZPFxV53MyVMDJKCxzepqi4TWwn05lrSZBim325ci6kOiwKSE QiAsMg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778288112; x=1778892912; 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=XEcizUUTyZsT3aUtnh6Piq3IYZxAXkYO//vcr+qpH3w=; b=MUXVBHBZ3EYOS0/m268yem3e3RX62HlZO5pOlOWKegssrj5ybhNVK532s2WUB6ttdk DDbtRIUAkCB/95r/kfG+ucXY+jqsYULl63ytfzM3qxzV4oeWNgYs8ZO6m8eMxXFZe3Rx P+PfqNI76lsKmdkzWpPP7XSQrMuRGl+t/uzL2N8lybqqctzF1P27P0XNPkSZjPrAAjAo lo1loNMf3zfq8EWuNysp6KtrTo13Vr36GpRKkbfrn49Iw4aA5lJVHDBfphID+v3TUl7W pEq/36YAQ1Zfr4tRFNeu99ta1FEIW/sB/Anccy8jgpV/TUjf6NdpaXndw/CSF7sNFoZg uX2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778288112; x=1778892912; 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=XEcizUUTyZsT3aUtnh6Piq3IYZxAXkYO//vcr+qpH3w=; b=jcLJ4deqc85Ob0LP+ZpuGNaQy1ysjGsdLtYdqjjtK0agdLeFmDcIsxsf343aA4Gq0N EsD4ubTXqOSXAVzSGkO0CX0QA8CZrwjhqNLLs8sc9h/en2hwDK4iuYOzDY9/zK4ziq5w SLGa5Z5VBDC+TMgNkOrO0yG90IyfBny0ZEeTTaPJsS9xNJ9a0aZ8fuZJ3gHbmc5vef2P PFaL3NDRS4/c3kn9zKEnZJ1QXHSq4DX3IC68jM9AhtU5WuOVh72ADeRYuTNRBbZHw6mN EURycLfbAEg9eYvu+nfFtFG5WTpn2NVFXp8CL3KphR+xC5gShWBwxOwC/Uv1TRmz6l3D xWug== X-Gm-Message-State: AOJu0YyNJ/1+7MF3ALWW+rHwcFnPLsWo33VKqLTinwI/mgAYCYgIoj4G Wt00z0elxfcvrs9hUcj4R2wfK+pudr6g1+IQSRbOD+WdRAYvmiMizi0IN2ftWsz4r744ZkibvS2 1911DQezk2ZcBrptz9yyOm7gr7PQHsv+G0Msq3ypjVU6qpEN+/55qoXIRwEOjF6CBCtFr X-Gm-Gg: Acq92OFx9BR5mHOEgi+WHidsaPB0NMAhHXaaIFiLHjy6QomZCb+B177I5/dBOUN2D8o /cIwzmlz61ZZDaKxPpgPp2/w4wPqW70VKMNEUn5xu5MEFBQyHwM73+2+SkOn3oyEbUSVaUgN54E AXGvdSafMLNCSYB2q91tpAf8+pfVTlvUTYKpxojNmqDLiUmX9dQzd/Q5SdcePDCBX4Ve+odZ4fD SCNrXTi/VcxbABdbljeIaJvBDK65LTH96iWvDgJdfeXLogQxh4LQWp3gk23FpHMRJqqlcQWJXKs Vu5kvSl2WGNvNhFgM1OxSkdROcBcEQEjh0ol33J+d0R2DEH/KVoijFsM+SPrxL133Y1xsvu09kd sHl1g8joD26rpQrqsTiKIZTdVg6Hza4OPum7dWfnzys8wfRt1Df8r1oRR+OXkX9al+Mh+kjHCgp xghl4KiQ== X-Received: by 2002:a05:7300:f690:b0:2ea:7901:8d72 with SMTP id 5a478bee46e88-2f54a87e863mr7914265eec.17.1778288112072; Fri, 08 May 2026 17:55:12 -0700 (PDT) X-Received: by 2002:a05:7300:f690:b0:2ea:7901:8d72 with SMTP id 5a478bee46e88-2f54a87e863mr7914249eec.17.1778288111478; Fri, 08 May 2026 17:55:11 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Markus Armbruster , Max Filippov , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pierrick Bouvier , Anton Johansson Subject: [PATCH v5 4/6] target-info-qom: detect target from QOM Date: Fri, 8 May 2026 17:54:51 -0700 Message-ID: <20260509005453.3984184-5-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260509005453.3984184-1-pierrick.bouvier@oss.qualcomm.com> References: <20260509005453.3984184-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: AW1haW4tMjYwNTA5MDAwNiBTYWx0ZWRfXzNM8TYUvUNzq 98h03mnXCHxEgVm2Cug72uM28CMFFPAFLn0mgN7gf+iehZIdoPEhPH2+M29t4LCw5RKAoHC/AkL t6Y9qjWNuP8Uag87aFyL6jb3AjOF/ZLk9phKFjuDvYI2SN1rI+2VvByhqYC2j8Ym4OOM3XcY6Dc 72MSr13p04nKDiLRmzbEbSgZnc+h8tsSJNibmP9YPzdMRyF3/wzmRAx7yYn5+lmEvwnCa+iIvd5 g5LMk1oMISVfNNxEyrIUh74qa45ai/Pl18iB5mlqw1JGE4Riuooeo+hp9bKhvIWt2/0obfYdQW8 7029te2K9eKuzp6C+p22FHVd3VBO17Sa2Rh04j7+TjAyt6cbpYlw2mt313vV9kuuzVjxmyoY+Z7 KqL4IJKZoWoXiT/NLKDNTfir4xb5XrMQzH6MWRuiokQImNm53rtteXuyXlkZTEs/5QcoBgs1CRM Wflpme8IVEiN8vUHuYA== X-Proofpoint-GUID: ur8_Q7SB_lIHlOY4KlYVUuEFn5b84euC X-Authority-Analysis: v=2.4 cv=JJQLdcKb c=1 sm=1 tr=0 ts=69fe85f1 cx=c_pps a=wEP8DlPgTf/vqF+yE6f9lg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=0wc84GFNkZAXjcWhtbQA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=bBxd6f-gb0O0v-kibOvt:22 X-Proofpoint-ORIG-GUID: ur8_Q7SB_lIHlOY4KlYVUuEFn5b84euC 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-09_01,2026-05-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 impostorscore=0 spamscore=0 lowpriorityscore=0 bulkscore=0 priorityscore=1501 suspectscore=0 clxscore=1015 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605090006 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: 1778288200941154100 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 --- 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 e44da0941d4..e690aa3ed8c 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" @@ -2890,6 +2891,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 20:33:50 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=1778288198; cv=none; d=zohomail.com; s=zohoarc; b=LSLuPYErNHBOtzwY90cYiFXRUCtSLZ+IQRQVm5ilw9fa25xXaFHc5pSEhl4hPQp9t0dorVpXE4DsVnUodItM8Y8AOd278kmyn8PIAsCbCLWsH9YIuwawmz637DWh+2uRoypERELuqTBHhx0Zuty5UHiNyChD1yg4D4Cee0iZweY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778288198; 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=uUvbFm9GvC7wGL+IB/qHUcJ5ur8KbOvk71g6ve35TUc=; b=KZNnaib8+X0jJafb9Oby0F/cJLiZ3HFh+zk7P4uSfRfKlMEzzrl9K7v1MqSwkOB0Om7MsjuxwM2aq7J+HhGXn+GG7GaoTr+TwNj1zXejQAiBufhypL7BLJiGo0gYySEuc2theFyisdpWTzETUKE6k3spWV9GT0hwwDgTZRHMu8c= 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 1778288198081363.62360080348276; Fri, 8 May 2026 17:56:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wLVyq-0000ft-5X; Fri, 08 May 2026 20:55:45 -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 1wLVyP-0000Ti-8m for qemu-devel@nongnu.org; Fri, 08 May 2026 20:55:20 -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 1wLVyN-0005yH-HE for qemu-devel@nongnu.org; Fri, 08 May 2026 20:55:17 -0400 Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 648GUAY5145934 for ; Sat, 9 May 2026 00:55:14 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 4e1kdc1bww-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 09 May 2026 00:55:13 +0000 (GMT) Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-2cc75e79b97so395973eec.1 for ; Fri, 08 May 2026 17:55:13 -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-2f888c3b301sm5352610eec.23.2026.05.08.17.55.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 May 2026 17:55:11 -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= uUvbFm9GvC7wGL+IB/qHUcJ5ur8KbOvk71g6ve35TUc=; b=gVt6JriDb+hR6q0l Lu1au81NEJ8Ys/U7R2mJNyoFOMiOXLBPp3Iw3LrQXgwYtHwcrY5ItqucbKNW41CD IK5venFUdboBn+alKwOH5rwKN9zClWXOGqi96E+MugDNf5NPFGF8HpOFlRqQ5g93 5cXbbiXqkEHfefkt0Oy3YMPeDuBeMiCQSSlUT7/wKaDh7pguUtcqt6PbCpuh9EpS YFBADp9R4nXrNiagVlHf4nE1Tz9tJN0QbIDl0HeHER1XcG25QrT4Bel1JFETDYBI zCFgrbPNx6jM1yHCvGyexVs75dOAiEDiLZBV+KefGJtwuubogZ9/L37NpFoh5ix8 uxLvHg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778288113; x=1778892913; 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=uUvbFm9GvC7wGL+IB/qHUcJ5ur8KbOvk71g6ve35TUc=; b=V4TNI8+17SLBQn/DxDo8DEEteb9FItl3xKCS5nnhBV0zIoWloQ2LFajoJmspNl5GEn PyGTlkww5pPm1APq4wysCVBsAfQgdVy2D14/u9v+5CbaO/gxvK0lYWt63AmqBvXna4pw rGZBvdZmYXCg04M5VuXmfs887dRv1VmLXESDIWCF6pTZj83es40bUlQg1xxy4R0aDjLE z4Su+tMlEswt9VUEYO0bjEDgo9zYOzTICbMlYFkJZ2tFr3FmGKOKbmJKkwd7B8ivE+8n WBtgrW68BcC8D/2HWYXnbeyzgn4rcd4DRKHA2hlLSRkxgzAyKZTwtwvCxol8gcgGd+eh RaeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778288113; x=1778892913; 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=uUvbFm9GvC7wGL+IB/qHUcJ5ur8KbOvk71g6ve35TUc=; b=d8vUfALFrCHOZSrE2qkDu5Jxz7UcBXk3PGTBqBMeG8UYaI+vBf9DPYBK8Yuzh0SjlR sOHPJ3VlnEqj1+IvSIgmwdEB4+B6tLPzhAiyQboQ5V+7FAJtVvjatUnaiKp8bSOsWmni PfQsrprjrSHLtv0K5LAYDNTW9WbyNYU4I2K+otKDxUoNAkywgpKlMHBMFk3c1f7/Ixap cyMKmNWofa355Vs2Z6W2epRL4CRs6zBK+ryQFTUmhaYjsx3S2HQa+Tq4YSC1Uxdl6M9M umtA6kUstlyt7zttQCeTPVlw+oARj4TKmUYz5nW1SoLCWjh5AKDnJoUcNGaqJgr31BPX 4y1A== X-Gm-Message-State: AOJu0YzEewDjIX02RNFjyn/fiRdKpLT5MCVOvTlYXie48DtPAnmaDHEE 5tI8LQJ8hZrFN215rkVsk+SWfabUukvihVzvK+2sagTFALOCAPBDf+c31T99TWTA2jWwoeGW/20 Bs4HafSG8nYZSlLLm1SwTjWEccmbq3PjtJUb6mvzCZm3cm7Q6yeuNJqpx0hFUnAPW/8Nu X-Gm-Gg: Acq92OEKMb0SGrEC7pyROANEwaor/ySlv6HnO9yzcMAKuI63DCRgy0zDiLfX+h+WthM ibrD/SJNpn5c74QV5rVTxkYIOxxtHZLkK4N6Dcezy2FnD0+jptdK5F4STsXS5Sv4/6FBivOge39 fBkcC0/W7TX/4h9qLcyml7CdfaYjzjQU2s5goDt3yVhpxi2Z0ch/vgRW7PgrDKBXo/KTNoacEiO 4r96/pn7J1eHTi1W2V1vSXr7W0QjG4iEXwQLwaIhx19Dj5A685s/LZr6NsQ5hiJXAM0pT3coP5P PNYh4IOSde5khdzIse/6ilukAHDFrMPS3fsUSXQwQtNY3fLy7+38wNEU6rtOzB9NJDJg7IOYOrU ptjZ/pLnzeD6vVNP/0JOIs0CkFkbpvFNANOPLPSseul/Jat7vGPoleiYDNyPfk7sWsMMy2eC/K3 kYDZaq2Q== X-Received: by 2002:a05:7300:6ca8:b0:2f5:3641:f110 with SMTP id 5a478bee46e88-2f54d790853mr7809665eec.31.1778288112967; Fri, 08 May 2026 17:55:12 -0700 (PDT) X-Received: by 2002:a05:7300:6ca8:b0:2f5:3641:f110 with SMTP id 5a478bee46e88-2f54d790853mr7809648eec.31.1778288112350; Fri, 08 May 2026 17:55:12 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Markus Armbruster , Max Filippov , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pierrick Bouvier , Anton Johansson Subject: [PATCH v5 5/6] target-info: replace target_info() in system-mode Date: Fri, 8 May 2026 17:54:52 -0700 Message-ID: <20260509005453.3984184-6-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260509005453.3984184-1-pierrick.bouvier@oss.qualcomm.com> References: <20260509005453.3984184-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: AW1haW4tMjYwNTA5MDAwNiBTYWx0ZWRfXxUiuIQMOfzZY Dvjr0WzsROMRWY4Oc2vorfK/02ihm9bVGMsKtog2wYirqvAW5e8cTJic4TFa47t4fvGwavK6Ph4 6RLrp4XH5VAGt9j4ahaIdCF90wfzx1NwVhbt+Cdo6Mnz+N6Ttk9IX6uzazFxNJkPcxV1cSYaSK0 NVGRqpyd7PyiuXN0v2hb92NKAH/h1nz5+3iiISEN+lqzfK79nGSY6sdQu4gSQV1tmu1ON6pDjOW n5j63t8/3Q1X3TlAr1vuv4r/w9ylF8CXFgwXHNPOOijgvLPawTE6MrOy6x+/wOnweKHj1fPDoFg tKolHFR0BYdBESQG6t+tT9OGuVE4hrPlMF6R6mPWmDJbCBCUkM5it9yUe+4ihDG7h7IH41uhWDw 9DeHDQmEtyHkgcrZAzl2XGLtG4TpoBhMhCBZmQICsXkIOyy62Uiu69zSp/ng4/2wAs/eypIIy6S lynSWEEOaBasoMp2tAg== X-Authority-Analysis: v=2.4 cv=RZOgzVtv c=1 sm=1 tr=0 ts=69fe85f1 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=YMgV9FUhrdKAYTUUvYB2:22 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=Ar47GhOyGom1hrc3c0YA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=scEy_gLbYbu1JhEsrz4S:22 X-Proofpoint-GUID: p7_ZGNT8gSUhjcVS-45NC1-N7ejSrtMD X-Proofpoint-ORIG-GUID: p7_ZGNT8gSUhjcVS-45NC1-N7ejSrtMD 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-09_01,2026-05-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 suspectscore=0 impostorscore=0 malwarescore=0 adultscore=0 phishscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605090006 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: 1778288200557158500 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 --- 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 3f4eda19083..176fd975a16 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 From nobody Mon May 25 20:33:50 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=1778288167; cv=none; d=zohomail.com; s=zohoarc; b=cnvcQ4G002/4gCAWRb7BRay8hSCLweyXWWbqRGc3X6bPwE8hxLpb7+mlPJKyHH2gWEQ60wIkik3EyNaxO5M3XmM/PPo5ieyb9i/wAkZdJmluHI4wR622BnmnpvypZZPX6KCdaRdxYNX2Z8Sq0zWJ2CFlTkLCRm0XijbZNMbrFO8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778288167; 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=EqWj9/dq2UcCMjZDn8X5RDV+nwKrGwJ6F1azjrIAg+o=; b=ijQzWklk3B8D1qhLaJwc+53nyLmSJh4azmn4YWbrvza4lpEGLNohVfPQsoivrTZUPBnGcoYzP8or0dSGw5Nc7MOH7edsX8UDdSE2jTZUKNwe8rwZrntHzHT8G2QCRDy6yusg8/5ckbKDrXpkBe+Jvq2Pnh2a6As30Xk28m9RHbg= 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 177828816708936.344357856307965; Fri, 8 May 2026 17:56:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wLVyw-0000gV-42; Fri, 08 May 2026 20:55:50 -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 1wLVyQ-0000Tm-8b for qemu-devel@nongnu.org; Fri, 08 May 2026 20:55:20 -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 1wLVyO-0005yt-Mh for qemu-devel@nongnu.org; Fri, 08 May 2026 20:55:18 -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 648N7wHQ257853 for ; Sat, 9 May 2026 00:55:15 GMT Received: from mail-dy1-f198.google.com (mail-dy1-f198.google.com [74.125.82.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e1auekkjh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 09 May 2026 00:55:15 +0000 (GMT) Received: by mail-dy1-f198.google.com with SMTP id 5a478bee46e88-2f485961555so7056605eec.1 for ; Fri, 08 May 2026 17:55:15 -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-2f888c3b301sm5352610eec.23.2026.05.08.17.55.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 May 2026 17:55:12 -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=EqWj9/dq2Uc CMjZDn8X5RDV+nwKrGwJ6F1azjrIAg+o=; b=NQzRrFKPwGwrPo5MUbx8jjSoYQJ 32aOiruPL6CaoH6n/nEhHh63kA2/kdchAkpmEXTNvWF5mpJ5/OpjkChEYDeUcGAz ardwXSaM59Zj513LJaI8hCaCpHtO2QviQvtpUskVhQgq0GLYBuyJl76d1GYFvcYu awkmrAEYIzFGwOCrU3oKWRnnF5n/OSn6KkCfIQdldWR8XWEuwBSWOyxKzFCw8adK 8PUFeiqtTMenRotYdDdy+nZ7MXXfHzbqmXJbtZjLixhqTFjDKbTQk6pMKVHzoTSa 2dJtPr7bTHI5k6HX8DbY5+CaAaM+T3NOPVZall93ABITXMB5M7SBL0sa9Ww== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778288114; x=1778892914; 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=EqWj9/dq2UcCMjZDn8X5RDV+nwKrGwJ6F1azjrIAg+o=; b=Zp0ZzPVx9IzgCLZhkfe9Xveo1N9HIsPdoF0Pa2e9Zuo2840/y/iB1akMbuuRg5yc7L ti3t3gs+NNmvXH9Q4x9MRYiOLgtdSrXdN0uKMqUUcfnIVWfxDK+D0Jh+kaKUwLjlDh7J SuG/n/YuFxV5kqYzXgLokJbp1EWTSi5NlBhOliIbzYNOogyOQLUJ/LP1q26jrWxiAO8K G/c2o7KebTUJP6ctNUzqUxeSR0YAC71rBK06TVD53pbjiZxto/tnfGFxYVOWxopQ0ThE lNTTEQCR5F582NTtJRA2AV4uSm+fIQV7KlhoDFlkgOzlb/ZhTTYgA1ZK6dabbtv8Fw5V xT6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778288114; x=1778892914; 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=EqWj9/dq2UcCMjZDn8X5RDV+nwKrGwJ6F1azjrIAg+o=; b=oNY/h2YFsHG4DgQMNHmKYilj6wOSdKln2Lqxyks3JjGuE+1L8Hq3k1kViN/3pMiXKU edyMMtz0scmxSCttguMWz3rkx+zFTF/eGTxXGf6Onxkv0B3DOUSEhU8sUsnJiAU/EvUm lDdfBkGm2qJi6ITtux22BtWSIcVZMinOoYiOLvASuA1PaHa+yxqrdRxs/BUSXMioL4kB 5rTXZhBUZfDdd4akgNR7CcKsIOaH1HIVYRZdnP/3y+pOBvDOQd/8+zuYWiuH1DGM9h7c q5vtWza9FCN2rmxK8Us5HSSMbnyCiJbWEB21Yi1996ox5BZ+W1RLgFkzxDq/uoa4EZo8 DhXg== X-Gm-Message-State: AOJu0YxLKqAwkuHjntcyTb4JK8orkfPD4rm4b+Uch7C1Aq4l+gVydddN 2kUQREYjyPHQda7ovaJRudgb5bsBx+3k5TNa9bC/8plAW1RktYS/Bhzaq/27i0eWgLnvNnDepH5 5wQb0QmAX73puTVjuv2SJndsMjCeHFMY2GBlsvQTnGEuMplDMucSvs+EoIrWLqcEtmsEU X-Gm-Gg: Acq92OFETJUmBk1SMj/5oZf/Gme6UxMZhERewD3OWhKgegeRF9850qk2hUayS5I7BtJ l+7Ip6He8rH81us5HXOkn5YnwNZGIQHeyI3gokHHtJKxvSmVWc5+QDokeMGdnsvq99hMFWcylYM J55tWHYFCt0VGwN1XmfnnG2UM3ATV8TdhFwBTSag2OaWytJDdHbWhQoL0feryTN1Dxu3kVbXUwR Y02B6iemIDS5BXEC98kwwuvzv7xBQkQlXsddUR2uy8oJlYPDdE+7pKN6ZOgggNiijbtoCVtSSyf RuqRJrHsbLC3KG3I0ZwS+JnOYo8Ir4HNJUfXtbl8k8fdFCOQagjcdNh/AoB5cNC24XsTAhUsnhM rWgltY9kxQvhQKRbqqmTNCQ/04Qg1vXTaQHux+DMjPX8rz21AS0bCBQnHeKCwzLz2zAsCrCNFFr 3z0GyVzg== X-Received: by 2002:a05:7301:1687:b0:2ed:7e1:975 with SMTP id 5a478bee46e88-2fb3dbf9718mr215135eec.1.1778288114101; Fri, 08 May 2026 17:55:14 -0700 (PDT) X-Received: by 2002:a05:7301:1687:b0:2ed:7e1:975 with SMTP id 5a478bee46e88-2fb3dbf9718mr215118eec.1.1778288113561; Fri, 08 May 2026 17:55:13 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Markus Armbruster , Max Filippov , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pierrick Bouvier , Anton Johansson Subject: [PATCH v5 6/6] target-info-qom: use a single class_init for target-info-* classes Date: Fri, 8 May 2026 17:54:53 -0700 Message-ID: <20260509005453.3984184-7-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260509005453.3984184-1-pierrick.bouvier@oss.qualcomm.com> References: <20260509005453.3984184-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA5MDAwNiBTYWx0ZWRfXym5VHBwU6LNE Husk8KCpVdekKrio21C3C/f7yGbkHWIVAlMhT4xO+Tu4vz2HD3y2rRuVraAA66207d4K24AhVn8 jL2qduOAzc7sjJIo9EA9vjt86lOLWOfBD2H5SZzfo3dXvf9obe4NzcbcukMZlDzl+yYuOImCjkk 4v6JTpzBEfvgd5m7kBqd2A0+cuyctlJmTncOohGhXqbJi9p2a0wxWv9JfYAaPsNkpIKJ25zxAsc Uslx4mBYgSimvTfCSxJ6KqC1Kx5yx9gla9CeHaeg1Tn6Q7Jy74IUgY86uYRfMB+k0WXqSBmLM/p T4kWeeRCXv286UcF3XJiMu4ypulVJI0gp8sF9qfzJdx7AfKKQtUxudfJdMg5zARpr9RFbF9tRXX MSi0pQJO2HU97f1jHtjhqTVsA/BWNKzTcEDrenq3MUzDhcqfyHAlrRep3w+43+vZhhuTWfwFOEq Jce0gQBxzqsmHw2lHfw== X-Proofpoint-GUID: IMgB8tJgEpCiZstKI3c_DWORWmLmPKFJ X-Proofpoint-ORIG-GUID: IMgB8tJgEpCiZstKI3c_DWORWmLmPKFJ X-Authority-Analysis: v=2.4 cv=fcydDUQF c=1 sm=1 tr=0 ts=69fe85f3 cx=c_pps a=wEP8DlPgTf/vqF+yE6f9lg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=ilk2Vr1kweFqPRpfcZEA:9 a=bBxd6f-gb0O0v-kibOvt:22 a=cvBusfyB2V15izCimMoJ: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-09_01,2026-05-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 bulkscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 impostorscore=0 adultscore=0 clxscore=1015 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605090006 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: 1778288170099154100 Content-Type: text/plain; charset="utf-8" Instead of defining a class_init per class, just use a common constructor and set class_data to corresponding TargetInfo structure. Suggested-by: Richard Henderson Signed-off-by: Pierrick Bouvier --- include/qemu/target-info-init.h | 14 ++------------ include/qemu/target-info-qom.h | 1 + target-info-qom.c | 6 ++++++ 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/include/qemu/target-info-init.h b/include/qemu/target-info-ini= t.h index 176fd975a16..3945f2998e0 100644 --- a/include/qemu/target-info-init.h +++ b/include/qemu/target-info-init.h @@ -37,8 +37,6 @@ const TargetInfo *target_info(void) \ #include "qemu/target-info-qom.h" #include "qom/object.h" =20 -#define TYPE_TARGET_INFO_TARGET TYPE_TARGET_INFO"-"TARGET_NAME - typedef struct TargetInfoQomTarget { TargetInfoQom parent; } TargetInfoQomTarget; @@ -47,24 +45,16 @@ typedef struct TargetInfoQomTargetClass { TargetInfoQomClass parent_class; } TargetInfoQomTargetClass; =20 -OBJECT_DECLARE_TYPE(TargetInfoQomTarget, TargetInfoQomTargetClass, TARGET_= INFO_TARGET) - #define target_info_init(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, = \ + .name =3D TYPE_TARGET_INFO"-"TARGET_NAME, = \ .parent =3D TYPE_TARGET_INFO, = \ .instance_size =3D sizeof(TargetInfoQomTarget), = \ .class_size =3D sizeof(TargetInfoQomTargetClass), = \ .class_init =3D target_info_qom_class_init, = \ + .class_data =3D &ti_var, = \ .abstract =3D false, = \ }; = \ - = \ DEFINE_TARGET_INFO_TYPE(target_info_qom_target_type_info) =20 #endif /* CONFIG_USER_ONLY */ diff --git a/include/qemu/target-info-qom.h b/include/qemu/target-info-qom.h index 91be415ed33..a37c3e101e0 100644 --- a/include/qemu/target-info-qom.h +++ b/include/qemu/target-info-qom.h @@ -25,6 +25,7 @@ typedef struct TargetInfoQomClass { =20 OBJECT_DECLARE_TYPE(TargetInfoQom, TargetInfoQomClass, TARGET_INFO) =20 +void target_info_qom_class_init(ObjectClass *oc, const void * data); void target_info_qom_set_target(void); =20 #endif /* QEMU_TARGET_INFO_QOM_H */ diff --git a/target-info-qom.c b/target-info-qom.c index cc470b3b4d6..5b0498ca654 100644 --- a/target-info-qom.c +++ b/target-info-qom.c @@ -37,6 +37,12 @@ static const TypeInfo target_info_parent_type =3D { =20 DEFINE_TARGET_INFO_TYPE(target_info_parent_type) =20 +void target_info_qom_class_init(ObjectClass *oc, const void * data) +{ + TargetInfoQomClass *klass =3D TARGET_INFO_CLASS(oc); + klass->target_info =3D data; +} + static const TargetInfo *target_info_ptr; =20 const TargetInfo *target_info(void) --=20 2.43.0