From nobody Thu May 28 00:44:48 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=1777420007; cv=none; d=zohomail.com; s=zohoarc; b=ccvWU7/fVKV3IRR68KZ9FVnI14sthh8YPAfCfLPHMMeQd87NyoYHqM0XfEzaeNvuozfXYLSVpZrSYf6BVQREvMAD+r1CH02Emo/MNNb6/GYktdXlzUcHXTuX70kDCIYqSHbJNNQiZpcxuM2LLZkN/m9k8/bSu77XZBih0gJu+Ag= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777420007; 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=ohxIldnHtarYccrkSr85kEdxo/eY6/u9XDs5GDljwOw=; b=QMPkli+XVGJ3dN4Qnd+kuUzQBiyvpK7wmqHx2UvQvRWvSFd0e40zWD3481ZYZELlHWmGanVAwyHbmkkO24kpOhX+OpJza1SoISbEtafkSASgcBV+k4LqfVVFU3iGqY+g9yDukWWRW0x0yE6ZgeRecDjhgqqtSjRmVGkGtiJTiZ4= 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 177742000746670.04704043910647; Tue, 28 Apr 2026 16:46:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wHs7p-00035O-60; Tue, 28 Apr 2026 19:45:57 -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 1wHs7k-00033x-1C for qemu-devel@nongnu.org; Tue, 28 Apr 2026 19:45:52 -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 1wHs7f-0000TH-VW for qemu-devel@nongnu.org; Tue, 28 Apr 2026 19:45:50 -0400 Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63SFscBK2890764 for ; Tue, 28 Apr 2026 23:45:46 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 4dttgyu0us-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Apr 2026 23:45:45 +0000 (GMT) Received: by mail-dy1-f198.google.com with SMTP id 5a478bee46e88-2eaf70f3b5fso4246764eec.0 for ; Tue, 28 Apr 2026 16:45:45 -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-2ed1bf8ddaasm345300eec.7.2026.04.28.16.45.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 16:45:43 -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=ohxIldnHtar YccrkSr85kEdxo/eY6/u9XDs5GDljwOw=; b=RCd4byhmUS0CKWrpkpASF+l5YxY /ksambpPPybdHr7XmT+OLaBq2o5CZ4PWKmD3pn4u+lDmNaUt/c+Z3qbEGP6tkt/I x2f8iFPlB2T2Xf6BUujrzjU0smvgtSTcPmffZOoG1+EWU5mzczdzKNwsfMryRvoA UnW8Do9WPmZj5gKKJSi8PGGGJz6BwmBopSVpGdw9JQ7oKw0lcO73ncNp8CXUVogx /3uCuG9U5RguSKbnnhwmkFPhUwiWY+bvuDBc4S2Ujaa+lyOlE/yfzzab3V83Sb7T ytZJEeJFpc+tVpoo8puRTmB/81uIDD+fqXQzUzSCDHw946DWd49zcmG9c7w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777419945; x=1778024745; 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=ohxIldnHtarYccrkSr85kEdxo/eY6/u9XDs5GDljwOw=; b=Fp+lkPlRDdd6Rl2DiPlHcmHlRSi+8lAoAc+gAfgvsyUNw+mIQ9PbuqiweuKXbnApET G/ZG635E0rGVaGAs6CTrEe/Rp2B4y8ElNY2roQ3YF7IV7YYSLYwJxqImHbQ60EE0AfeN mm6F41esJukodoyVmdZeBtd1nM05PtURCLxzUfxjU0TMKnlFsa6B5hw4HOwuhaLfBy0R D7EgGY/KlxKj2IUt6fJ/gHfxgL/RiPZpHlQQHeAFUIBi4RZKeG1rjkrxnBrUy98Mvlxp buB7hkFFXpAx7Uuu7IUOnRExoW1b+dcQB07IFIf1VcU2sd5mB2XibriPuVWe6OMqOeKv ITfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777419945; x=1778024745; 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=ohxIldnHtarYccrkSr85kEdxo/eY6/u9XDs5GDljwOw=; b=s/BOnI7HFZtw1MrY8tASJysX9YwxMT1HxOpqfZtOTie9J+iJp08X5G4bRxH8wY/oHA CV4BwVeNX5Xd9nXmdByoNNgduD+8fmZ8pRLxeCTo4mT+0dP1YkXge4NhWRzYK/BYqo1j RWQu52a8mliX9vYBDxV/CwGWbpSawNvTDUb2tO2CYxQmyApTpIWJTabecIkodE4hxHtk R6C6xhwVKtP0DSdqL06/VctxaBaUUzp/1AuoyCjEnBBVX2qSatzM1T6uagr07gF9Gog4 BXMpxNNFgsuk2HewNiPRmnO4Jl/yyob26EJs47dy7ro5krEeKHhw7Q7j0twnwcLJB+MJ RzqQ== X-Gm-Message-State: AOJu0YxKfppetz34pSIYC5AZ5PfD+XPdiPtJBqS0hsLlLryg8HY6HJJO QDgOxeOjnJkDm7jNI5nYqFVQ05nO/hXAWYiMcLheqUX3tCaV5pox49Mk2d3XwQB/AAMfMeJwlSe xW4aNRUrLRjm63DPUPYxaDbCOJb3AWdntz3NOcAXJEvjA1BPuX+80SJHQL/sidSCblj7Z X-Gm-Gg: AeBDiet2cWpQrJ9FPje+quhBqan5CP7WmuBG1/JHy0kkuw0hJ+/8NjC/wOpxORPKIId reoQlO0ygXEnTtomVy4av+wORx769pw00qYmAd5WpBnlnfeUOt1+phqWijzdSDk14p5aW+t/hwJ mmBN/zdF0NRLqOAS2Kz8G72lf+f15KRjK+nqDG5+69gVdfYxcVX3EYrywlg+cU7WAZubRm32cZl n2cNGDIpE16YpPlxkJ1GzbqCoQQEpluRrxPvCIU6Yp119HRQsBnyVgoRFOYEDgpsiDFu3G6QWVO 4xIhglmUgnutqPkZs4zeVCI9uzObYfyoIzwjJ8ozjrG1VPL7cT6ZXSMAMOiE5+6KkGbEtbnMrys eklyI341sWePyAt/tcws/knXiMnOaehrcHw2kGxFYw1sLyNktjKf2J3zPKujtWb0F8y4RTO08Ib PGdc2yHA82Gbsk07tP X-Received: by 2002:a05:7300:6c22:b0:2ea:7901:8d72 with SMTP id 5a478bee46e88-2ed0a083f68mr2689930eec.17.1777419944913; Tue, 28 Apr 2026 16:45:44 -0700 (PDT) X-Received: by 2002:a05:7300:6c22:b0:2ea:7901:8d72 with SMTP id 5a478bee46e88-2ed0a083f68mr2689890eec.17.1777419943812; Tue, 28 Apr 2026 16:45:43 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Markus Armbruster , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Anton Johansson , Richard Henderson , Paolo Bonzini Subject: [PATCH 1/6] target-info: extract target_info() definition in target-info-init.h Date: Tue, 28 Apr 2026 16:45:14 -0700 Message-ID: <20260428234519.1812371-2-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260428234519.1812371-1-pierrick.bouvier@oss.qualcomm.com> References: <20260428234519.1812371-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: MZkr4Rb3rVElu1HAJsfcz64yYfevU5kO X-Proofpoint-GUID: MZkr4Rb3rVElu1HAJsfcz64yYfevU5kO X-Authority-Analysis: v=2.4 cv=cb7iaHDM c=1 sm=1 tr=0 ts=69f146aa cx=c_pps a=wEP8DlPgTf/vqF+yE6f9lg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=3m8A-TV8Jbz7CCrNb4oA:9 a=bBxd6f-gb0O0v-kibOvt:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDIzNCBTYWx0ZWRfXxPZXXIY2Ir4J NlR4NKQBy6uYjtSuAxTFvQ5W75/9O8b5nnxqesotzAi5BRFbkyYIljpg/j18n4BEe7oKvVEHf4c fnru/F6vTpYb5NPjCRR1oUZIyYhOIm0CllP70/AUOvu99oKiSkWbGqkzTr7YKTqrEo80JhPP2VP 7QaMZtw0BfUZwPeeG9k6p8cX1I5AucNqBiRnz+sThakQY0jlaPgZvZ0aksu8O6lzX8jrzsTWSgt JYpC3YbgDqom2yXwQzdxl2O1eBHbAQTOdtYu9JzAFU1j2MO3K/yseUJGExXeiiwGwhNzCgwh5Sd 7yjSPGojCr1bQdRPggiRiXnilLnJVccfpu/cKTdPWlhsluCQip7VCGhKEzNQmzMlu6Y7RVqFAyV abIdRmKBU1cn+lseFqmq4Rk8LrOHlFKa77zFFsqmzlIENklvuYyAPGGeRl4Z2zMcJouP9haYBMZ N5b8TqVDAj5WYvCFPTw== 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-04-28_05,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 clxscore=1015 impostorscore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604280234 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: 1777420008907154100 Content-Type: text/plain; charset="utf-8" This allows us to prepare next commits, which will introduce qom registration for system mode. Signed-off-by: Pierrick Bouvier Reviewed-by: Marc-Andr=C3=A9 Lureau --- configs/targets/aarch64-softmmu.c | 6 ++---- configs/targets/arm-softmmu.c | 6 ++---- include/qemu/target-info-init.h | 20 ++++++++++++++++++++ target-info-stub.c | 6 ++---- 4 files changed, 26 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..9be06d8523a --- /dev/null +++ b/include/qemu/target-info-init.h @@ -0,0 +1,20 @@ +/* + * 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_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 Thu May 28 00:44:48 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=1777420013; cv=none; d=zohomail.com; s=zohoarc; b=cdXgTchkDODPwtsM7UsdgqV79JDfkZaa7TF2sKFLc+g9mu5S63ATPkZ6pbSmlIol8Mk7lXj1nYlOJ2HNOaf0+FTPtgp6Ad3SGN9sZrT+IsTItR41JmJv7o+Qbd74DpIpMQsl1IhiHvgSlA1TOw/2LSkGk+rDO72a692/5wPMLcg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777420013; 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=K6b8pw+xSqAXu6NNPPl1U4TktwSes6t0a9lSw1GNMHs=; b=laLbynnxwM5z21n0eZtpC8T3zmVtnMbTPYBdS0G9ivHZvppxtHXzHrGbXsMiflwbCdweh4FSSb4PiGXM4iXzz2yEFrdx0eBdhSn2hebwLgIIesMu9/izx2CgKCuPLL/6luVjTclxxk+8RB9z+mwNTX9SXfnEj7aMtsuH/solR6s= 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 1777420013575887.3822897593797; Tue, 28 Apr 2026 16:46:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wHs7r-00036R-3E; Tue, 28 Apr 2026 19:45:59 -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 1wHs7k-00033v-0E for qemu-devel@nongnu.org; Tue, 28 Apr 2026 19:45:52 -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 1wHs7g-0000U7-3P for qemu-devel@nongnu.org; Tue, 28 Apr 2026 19:45:50 -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 63SHZuBC017610 for ; Tue, 28 Apr 2026 23:45:46 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 4du1ee92dr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Apr 2026 23:45:46 +0000 (GMT) Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-2da19227bc1so882583eec.1 for ; Tue, 28 Apr 2026 16:45:46 -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-2ed1bf8ddaasm345300eec.7.2026.04.28.16.45.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 16:45:44 -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=K6b8pw+xSqA Xu6NNPPl1U4TktwSes6t0a9lSw1GNMHs=; b=mpiN/IcDBD4hgp53zLOAyeJd+ca N93bq8Dm1y83s4mkdYo0hS5zMgWj/GYalbJfZN6k5rFOQEFIrgQfi2XOUKFw8GQ9 Rse4TE/qt8ltOTaRCaXrQHoEMscDOxUOC/nXSnaXql67QJxxCpoKVp//nHYpbmih 1LfkMPosf4RpwDlx4wVwQ7sgToDar9/S12uD5vBX9DdajM5obUOd+7l1+f4btf2Q Ikahb02PxVDr/gSzQ/pfx252LSqsxsDu3YNrOYtdpyA/lRNaC23NKXY/vrkTEuA4 vx6zO1xqa2mIk6TSmRjUWt+igmHPPaMqSpBZfnpBdRw2vp4zy/FpuPyzWZg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777419945; x=1778024745; 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=K6b8pw+xSqAXu6NNPPl1U4TktwSes6t0a9lSw1GNMHs=; b=iLBqhSHokJbeOqMpsrzP6tn6wVZLgnhw1bfQ1/FG9cihvE6P3PN2BWRQbfF3TnUOMG 1mFKs0gggaqTnasOraYrJa1M3smwj8Mt1rSzO/YS20UId1572d8LR3dSBHKCwbXrVmej pbYCfoEPUS4fEZxVCfg7UMU4hRWLeu/um+94EwK5BtKGkAIOS4+ntL3nQyfkXhbIoV8T Px8YntyMuvkOB/UzGzmdg1a+u08WPHiAInLMKcF3clUKJybiip+f1I3gtkURoMdvOIXO Moi7bqjsfenFJSoZGmeZWtZNv1MEzwgALO4+z6CZpT/VUDO8j9opf2RazrzQNVxA+4pA /D0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777419945; x=1778024745; 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=K6b8pw+xSqAXu6NNPPl1U4TktwSes6t0a9lSw1GNMHs=; b=j0ba2/EhQfZptzBQsTvoQA4IJxX7IOLy8g26NCTSkT5wDLHDPK6jetxs/YiLx4Dt+n HwCGJSXoEyg70gLCFD27kh0FYJmB7nDsJGxDTMWTpNIfTnBVzxfRouZp6R1ZrSnuXZuA 6UZIkoVRayNyQajolbAwpcrHf94xQbkuf3f24KC2ENPpPZ6yS36d7YyowlIDiU7OJhP9 7FOT9+2EszOFFHNZjK+UE1mFuIHEiKvXkyoPJ8HlU+0CFs+blhqh62qP1vw6NzGsbvwB kONF+2HVqqO1b4Coqk6xk5K6KlapbkEs4D1lycfYXdXWSoJETZtflL3AOAkSIuhTaeog 7/7g== X-Gm-Message-State: AOJu0YzaWQwiv8yKg8qFFXL8frW0IhLb5OGJYfdRNEJ/A7Ss2Q/kjo8N lDqCZXmuiARadNpm3Wyxaz1+kLnNnGILsnBXsO+R9uLRhbkt7EUoN8kpH7xsvv2vN+O8ebdozS2 HtgIz1KFdTAO8m3ZMr6xiScUidD0KjH+kfLogWIMqkFf0ZuncwVhTG0cMmSbFCCwxckqo X-Gm-Gg: AeBDietDVDBP7VOlth1Hpq4OCaJVjukg91yxzJ+WLxfU9+nnGUOIIkdkaEvB8tNdyO6 /KXLesuW5sy1sIuvZa2VvhfRSs3inBX4k88/Byz5T5R5ynq12umv1uipt6GCEMZKBI35wxO+WmG NkpA7OdgSW10jBJXUlElLz+qcq5N5koz07vwmo251kkIErYWBqzm6yoyx7GTdO1Yv84QFvmzLXF F9v9QObnbxAXLQU7OcfqCM0entUNC7eNMYvSbxyf2uzAsAMLnyRlHFZ3o9Vq4sJDbltFdFqposT SvsHG7kq9HZCZthMWmQVqaiAzvvLnV0lOL4c9DI8N0tF8T8PR7plvkF8KSE7lOnjlT7+ptLnM5E JjVSTJUcymSoLauUq6j+gIBisHcC1WTwSKb/Y208HrUyIrIfVfye6JwewjT0a8xLQlH8ClGSMi2 NcojDugPg+i4LSTubG X-Received: by 2002:a05:7300:1908:b0:2b8:5159:eca5 with SMTP id 5a478bee46e88-2ed0a0f47ebmr2812707eec.14.1777419945425; Tue, 28 Apr 2026 16:45:45 -0700 (PDT) X-Received: by 2002:a05:7300:1908:b0:2b8:5159:eca5 with SMTP id 5a478bee46e88-2ed0a0f47ebmr2812686eec.14.1777419944900; Tue, 28 Apr 2026 16:45:44 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Markus Armbruster , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Anton Johansson , Richard Henderson , Paolo Bonzini Subject: [PATCH 2/6] target-info: introduce TargetInfo in QOM Date: Tue, 28 Apr 2026 16:45:15 -0700 Message-ID: <20260428234519.1812371-3-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260428234519.1812371-1-pierrick.bouvier@oss.qualcomm.com> References: <20260428234519.1812371-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=C/7ZDwP+ c=1 sm=1 tr=0 ts=69f146aa cx=c_pps a=cFYjgdjTJScbgFmBucgdfQ==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=957eaOmehK1HrViG9FMA:9 a=scEy_gLbYbu1JhEsrz4S:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDIzMiBTYWx0ZWRfXzYMVbxZuwBSR xXJH58ZKvmvcCY51z3exURa3Xy7rzJC/ehvJyJWPz5xSj5Cw0ZSsIFnENlVIVcgt2JCz6nk8zAw /8OQ4QLRwyEll8DSnm+h2JvVX6mGF74tDbW+dBGNhdy3fH2KtoxabElcPekGFB+b/fPoaWj0C8M sh0E0fhEaAV6s7oWBacaoA/dD7922HKV46RViuf3Zx0ehR0+bcdW8Xf5jS5AqfjHg1EKn+Cc8aj OFXBx/JxWfeFCI0z49X0QybTaDhMrsj/4X8qEB7YmA1q6JmTmnuTMsMwz5QaGfQt0C7kI98HiNF mIWR9r874lvZtgxwGRbVYzsLqfi6ROXs7IRWrTtSPEA1Ps/7t66cpNbht+2FNrUeCgfsj6k2ThX Ho1oyM4OF9PiBidvFFJgT/I2fNrgPI8HhYcxGTEt/7HNwpD1ww2NMjFkZz3HUyJQgWO/YesNla3 lmqwp44Z5qtfela7QKA== X-Proofpoint-GUID: GGOn6CUyqYiFBk0DI-zUHCHR3KrVV4BI X-Proofpoint-ORIG-GUID: GGOn6CUyqYiFBk0DI-zUHCHR3KrVV4BI 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-04-28_05,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 adultscore=0 spamscore=0 priorityscore=1501 bulkscore=0 phishscore=0 suspectscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604280232 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: 1777420015318154100 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. Signed-off-by: Pierrick Bouvier --- include/qemu/target-info-init.h | 48 +++++++++++++++++++++++++++++++++ include/qemu/target-info-qom.h | 23 ++++++++++++++++ target-info-qom.c | 10 +++++++ 3 files changed, 81 insertions(+) create mode 100644 include/qemu/target-info-qom.h diff --git a/include/qemu/target-info-init.h b/include/qemu/target-info-ini= t.h index 9be06d8523a..f3cea985540 100644 --- a/include/qemu/target-info-init.h +++ b/include/qemu/target-info-init.h @@ -11,10 +11,58 @@ =20 #ifndef TARGET_INFO_DEF_H =20 +#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_TYPES(target_info_qom_target_type_info) + +#endif /* CONFIG_USER_ONLY */ + #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..db069db718a --- /dev/null +++ b/include/qemu/target-info-qom.h @@ -0,0 +1,23 @@ +/* + * QEMU target info QOM types + * + * Copyright (c) Qualcomm + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#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) diff --git a/target-info-qom.c b/target-info-qom.c index 7fd58d24818..5ce29f80301 100644 --- a/target-info-qom.c +++ b/target-info-qom.c @@ -7,10 +7,20 @@ */ =20 #include "qemu/osdep.h" +#include "qapi/error.h" #include "qom/object.h" +#include "qemu/target-info-impl.h" +#include "qemu/target-info-qom.h" #include "hw/arm/machines-qom.h" =20 static const TypeInfo target_info_types[] =3D { + { + .name =3D TYPE_TARGET_INFO, + .parent =3D TYPE_OBJECT, + .instance_size =3D sizeof(TargetInfoQom), + .class_size =3D sizeof(TargetInfoQomClass), + .abstract =3D true, + }, { .name =3D TYPE_TARGET_ARM_MACHINE, .parent =3D TYPE_INTERFACE, --=20 2.43.0 From nobody Thu May 28 00:44:48 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=1777420001; cv=none; d=zohomail.com; s=zohoarc; b=Br4ZceKrL7Ojh0IBbdj4t23Y1/5AW/oxaX3KA059le/AZgcD1MzXLGVzFNUFCQoNa0yPP+X04+RYTfGDB2CuXcmUfeKzrE1KSNkwWM2Mm4q7G2zALb4W4PK9fblgjU8ZUh1ez+AOaVdFueLZvXe/WNyRqFQ4vVIv242UtjZo79I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777420001; 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=LsL3qFK0TTsO90MrVjLKZu9RMd/XbvH8wgAkqAmFIQU=; b=OXupK5zjT2QOwj+D197XQe/XYm+nNm+k6nVw+FMKdRE20D7PgDQFiMYrOp52iD85NiiYh6xXIjerwX8iNH2hXQSEPbOxLKmoC0hdB8dKxdGRNCv0J6Ftl/QpDj1PnlsNTR9m3Wf0Is7J243MYsgsOQ1ZD80N1GQ2w0zpzRxmg3Q= 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 1777420001941603.9675456324248; Tue, 28 Apr 2026 16:46:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wHs7m-00034t-PN; Tue, 28 Apr 2026 19:45:54 -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 1wHs7j-00033u-VF for qemu-devel@nongnu.org; Tue, 28 Apr 2026 19:45:52 -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 1wHs7g-0000Wg-Me for qemu-devel@nongnu.org; Tue, 28 Apr 2026 19:45:50 -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 63SFsSDK3705208 for ; Tue, 28 Apr 2026 23:45:47 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 4dttxhasw2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Apr 2026 23:45:47 +0000 (GMT) Received: by mail-dy1-f198.google.com with SMTP id 5a478bee46e88-2b81ff82e3cso215890eec.0 for ; Tue, 28 Apr 2026 16:45:47 -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-2ed1bf8ddaasm345300eec.7.2026.04.28.16.45.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 16:45:45 -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=LsL3qFK0TTs O90MrVjLKZu9RMd/XbvH8wgAkqAmFIQU=; b=PatKOCkRgjKsqH6Cjwbd6+OFMUf 604GQcWziOj4UYnwDlG72Sb6vjdCae7NkTRk4JMzKR+icmTAOghf6O5AAuzu0DPU sTYYIGnvjPUr68G59MXv0ORDEwLyDv6wWiDEne5DJzQCERVk/BwhEunwlWZXitLP a5neMeKgcY59lmHxB4UzKX5MgbnOuYTahhrJUoiNzmskGkQsdP2qCzTtfBMTtSsF W5HlsRBIyPR7zidOtzFHPz8o6vBIno5pQs3qf1vFV32Pe0X1PZMG3HwrQZFYPAfb +MTiQ0k3wgvv1g7nmtqKuC/hbETKfZvW7hccQJ7EtTf6Hejb14F7xXBr5kA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777419946; x=1778024746; 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=LsL3qFK0TTsO90MrVjLKZu9RMd/XbvH8wgAkqAmFIQU=; b=XJlplHmiyJ0UKpD5UQyocGd6hDZi34m5N2ySHnU7XwDbVvFKdihXPwApapErfeIX3S C89XqhR+G5AbyXAMjDJ/sWrErj+L2a1yCWHlr1zzv92ML+4VXaWvS6I4QNUr2hdVl8AC EitsKD9RyiOJYKSncUOGplbAhhxGgLU6ZloR2AVeiHZJJUJE5wPJFD8AWVFgygtdzjZk dtvyZMFWPzUAcfDwwZ7Tqt8q/XMIKymEgzYjUcFfgnIXXbF8I9rh7VsTReaoo1SKtwIM jktD5kcJWFbaE/uHvLwqtwBKnVZS01At2cHQphefuITR3trmeL5yeOObzo/j4+hH13ur X3Ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777419946; x=1778024746; 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=LsL3qFK0TTsO90MrVjLKZu9RMd/XbvH8wgAkqAmFIQU=; b=eSSp3tOlJd7Nj1V3LCn6prUUrRAak0tuF0t9KxT7lx3Ace6C9hWqwtf/pSXbmfY6JO 8c0I85y61wDykhVLDBtr8RIZ9dp0eujHAkiqcSQgBBgDu4H6sWOvQvxVYPLsNu7lFA44 6liR5j5WyGqELCB2967UZXM0EpOrrig9I9LuGaJpKk7FRNkmqsRRa9RxnsU6/FSPyuGM FVqkUYoLVv9reguBvfz1Eb2KLYyEUtQ9t5esevzNXjaVHSKnMyovbai/Pts2MQPBhGON pjqh9HQtw4/kCaB6ze681RYpxQE4HF8u0xZV6hhHw8ZN64i08T9gq+qdfpZye96qmOz6 LpDg== X-Gm-Message-State: AOJu0YwMX/CbZh+HYgak9anwwKabLAWJ8Jnb5FKsvkYRQ+zevxuj/bko h9q/X0oDZXDwQhmzKqnashQ/REw8U04aIYq3xWCRuC3KQ3Mft8tGiez9RKM1xnWvS7As4W1+08m aVzR2vkJKuquLA0IQxWcFP6uwc428ehQPnGsA726dfRYSoN4p6OkMpT+Pj4CE5aJ9D457 X-Gm-Gg: AeBDietYeLd+EUn/ffbcCy4V7f8CFwavJiNZbMEYroxvqZTF6QoSXxIQhIcsyIWHuN7 dOAwi2K/0DLFRWOLatmZMe23+0+jgGisDK4b6GQ4RejPNWFzNavwTx2L6iTo60LncopVp/B3vVZ R5t70Ne7mgsLlorlQvTQs5cW/hTv7H8YKun1kDu+Mj0fd2jXHg69T+VxuLOjfpam5Z/Oaq3NX3H /1KUbBn5D9aly5kWH12OwMLfOQ+3KJP8kzkyrDo2pT8t/f+ttphBwMcQ46k6Mtf/0o0N3RWBwyC QebxEx39dwTxt0KismiLCspRlV0BBu6/Y6B9cmGPgDRiPtA2qqZ3VK6UfbBHELg/FCNvnSgUtjx /cwxlOyckp710pvJnSmcYsKPvm9EpAjcYTmjiMSct0NZepAM2Pi160QmVwc88E12xST8pjeYxKo lS99n2xBvKBuTsv2nG X-Received: by 2002:a05:7022:220c:b0:12c:87f2:90af with SMTP id a92af1059eb24-12de2d24382mr440838c88.12.1777419946461; Tue, 28 Apr 2026 16:45:46 -0700 (PDT) X-Received: by 2002:a05:7022:220c:b0:12c:87f2:90af with SMTP id a92af1059eb24-12de2d24382mr440816c88.12.1777419945904; Tue, 28 Apr 2026 16:45:45 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Markus Armbruster , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Anton Johansson , Richard Henderson , Paolo Bonzini Subject: [PATCH 3/6] system/vl: initialize QOM first Date: Tue, 28 Apr 2026 16:45:16 -0700 Message-ID: <20260428234519.1812371-4-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260428234519.1812371-1-pierrick.bouvier@oss.qualcomm.com> References: <20260428234519.1812371-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDIzNCBTYWx0ZWRfXz+AFli4s7th6 4bDN9S3KMcLozJsWg0cnmkMGOnyAzAb4SalVWRWnJDykGJZlhSwzulhNjNDKZ7iceI336kTrxWk z6mE3hZT3B3s88U9T0K5exbsJCxPJzkW+rDeLbcTGKW38bzvOLuwETaS1YOSyze1JnQfNVnK/4e RUHrpkgYu8WlpV5vIzXakxOtg97em5gEDiu+J3TTh1FS/RTbFKI+fYTTUIReMC509jf64UfrIe7 y3X6QqQePjviOn4seOkS8BNQKrfFB3Mzm4k3HAG2T3ULH0R6D8KbR1GT/+4CQwQEZ8Ifwj7rDlG 2YceTuHQMnd/WDkgQTKK4w/8LkxmKSKuixo1xb+R4ZegPSRMtyXyr4lmnIk9qgiEJIkGzQQki4T 6wc+43ffK01UZCDGUSr6LCiIv9+CkPJPiNUyTMLyNqdo2syEZdS6UPPQTUsjK5lCPDpmwJRGIFS 7q2L0LFlfT4vN8//70w== X-Authority-Analysis: v=2.4 cv=Uu5T8ewB c=1 sm=1 tr=0 ts=69f146ab cx=c_pps a=wEP8DlPgTf/vqF+yE6f9lg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=WACn5GGRyUfZdUhJ3iwA:9 a=bBxd6f-gb0O0v-kibOvt:22 X-Proofpoint-ORIG-GUID: gj2fBImN8CY8cVw9FVwlO9mX7gbIOFdj X-Proofpoint-GUID: gj2fBImN8CY8cVw9FVwlO9mX7gbIOFdj 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-04-28_05,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 phishscore=0 adultscore=0 clxscore=1015 suspectscore=0 impostorscore=0 bulkscore=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-2604280234 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: 1777420003786158500 Content-Type: text/plain; charset="utf-8" We will introduce detection of target from QOM, so we need to make sure QOM is initialized first. Signed-off-by: Pierrick Bouvier --- system/runstate.c | 1 - system/vl.c | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/system/runstate.c b/system/runstate.c index 770253b467b..c8e92f8a603 100644 --- a/system/runstate.c +++ b/system/runstate.c @@ -981,7 +981,6 @@ void qemu_init_subsystems(void) =20 atexit(qemu_run_exit_notifiers); =20 - module_call_init(MODULE_INIT_QOM); module_call_init(MODULE_INIT_MIGRATION); =20 runstate_init(); diff --git a/system/vl.c b/system/vl.c index 0e1fc217b4f..b4a5ea6f857 100644 --- a/system/vl.c +++ b/system/vl.c @@ -2889,6 +2889,9 @@ void qemu_init(int argc, char **argv) os_setup_limits(); =20 module_init_info(qemu_modinfo); + /* We need to initialize QOM first to detect target */ + module_call_init(MODULE_INIT_QOM); + module_allow_arch(target_name()); =20 qemu_init_subsystems(); --=20 2.43.0 From nobody Thu May 28 00:44:48 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=1777420017; cv=none; d=zohomail.com; s=zohoarc; b=PkuXXZq0CKVOCCNH7MM+4qU4Zvq0tdUElwfaspywEmrqmnmoBf8zDQ8os9ygfR3+r1WTRWd5iDgh7qoyiR3ptdhY91cjRyyHbjewpjUTAjSRZWR5X8wROC+b/fbba378nRYkd/9NGbWj0O2GTBN0SO56BoUnunufR7yHcQCj6lw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777420017; 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=UqvrOZA1ryaqM8y6rfpVP8fG/TkSHRABapIXGQB4QbU=; b=c+lwDoNsLYaqFfltp9WS2Qw+LpUIn76W6DoLGSUB+xrD9hpj+lkfbU4rCV8AN6blJTUC6H49XoOVR4h5KcrubKxYrMSLTo182cw6a6BhJVPRzso22eBnSyWj/MFpESyXzXOJi+oCH4LhwBG8efOLfx4cZZ1+oGH36aN/0hjJ93w= 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 1777420017483465.8218173822835; Tue, 28 Apr 2026 16:46:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wHs7n-00034w-NO; Tue, 28 Apr 2026 19:45:55 -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 1wHs7k-00033w-0x for qemu-devel@nongnu.org; Tue, 28 Apr 2026 19:45:52 -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 1wHs7i-0000YH-06 for qemu-devel@nongnu.org; Tue, 28 Apr 2026 19:45:51 -0400 Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63SFsTHi1531447 for ; Tue, 28 Apr 2026 23:45:48 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 4dtud22qyb-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Apr 2026 23:45:48 +0000 (GMT) Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-2cc75e79b97so34828846eec.1 for ; Tue, 28 Apr 2026 16:45:48 -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-2ed1bf8ddaasm345300eec.7.2026.04.28.16.45.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 16:45:46 -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=UqvrOZA1rya qM8y6rfpVP8fG/TkSHRABapIXGQB4QbU=; b=NPzgSNgwwmgyUeBPJobUS8xJ16Q kJXG0TnGNqLKvSrO42Lo8TkoyyWDiO1DdXdV2CnlQPAG4fG9KxI9dfYvkInH0Nvi STJh11kYu/v4hbOnCJZo8NM8nToyE6eeQ/Puo8/Nb1MnNnQ96NEClveTORauw7Dx KZkV0SG2gNCGJagQ5lPgW8jz/ERMqOUph7ppFP6+0lIMmqB5TxQ4t4pjls4EXosE 5ur3QR9LiMrFLBotzdLWBzQppi3VCI7cPpZuIpb9z5aQD+u62OZSVtsIV8mNMuQ+ lSJGr4pPFsL09lYYJA35ETD/noVxfb0vTjy7xqsy6L7zSV6FzMTWORxA/5Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777419947; x=1778024747; 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=UqvrOZA1ryaqM8y6rfpVP8fG/TkSHRABapIXGQB4QbU=; b=DM5leleFVOEhwcoEto9xwDCJpWBG7FbgVQsl92ITp65qmx3QsvoPYdaE0xkQttALpw fCARGMkq7uEixUL5IQonGSQQ5EmTcjIGs0aSUqGfMNkRWk7HdquvsYivni81zY3Puy59 G+EcSYM0KSY2Z/WJjlWV49tT6yqU/rTtMhlfT47CRylhcGN/2iJTi+EfHbVVX+OS0gnD SFLWBFYWYRHKCwTyHiQMf6wgIfJe3cy/v8b7ZOMvCoGcDYfDUU0ePA0skFJQ+Ly8lkc2 SOml3BQ36gxihLaGh/86higLz5uC8V5MKUM0VoJQYRfuOT0rlTeQiJsDby4DyAr5qyWL 2lpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777419947; x=1778024747; 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=UqvrOZA1ryaqM8y6rfpVP8fG/TkSHRABapIXGQB4QbU=; b=WiJqpmicmM5AX2jeKDZhsey+nMxn5gpqWUJaAd2w38cd7bpbVQz9j19cWeII0T7UWc cHWWaPQMh5DFWoILnDBVy0UgPngBkYb1OKTfnTn7h6+mrO1jk4Tcs1ZzIHh8XH0BCtnT S1EKQCsxW03Az9IMJNg0fUNE/N4K6yBP700kPWVFIUpL7wrOpgE11PXhuNKGGvkOnPCD EATVHI+bBUNpENoVnf2p/9fuH2edQAD4A0tXxWMKT0UTcvRS1XaiVSwLRof9zw8JHzuA 0M7PyJW5D3F+/TOP4lcB1XyE7Npo9uVu89KsKJadxe4Hkbo20nBqkv/SWxA3kcCTtiRE Pu2g== X-Gm-Message-State: AOJu0YxntqHMDr0DjjtsguyziBMU8QwQbUGI4tKn09fPANJCVrZ7Mdfo Tr9ndo4BcK1vX3C17esmtGzdLzMGDeHbbCZ8TEyBOottwMMWNnOX/+eaol+Lnbw2REz5alFIgDS chY98E8OnnS4TrR5GhVCnC1EOMUoUecmyElQM1jqUOMIFoqM2BZjj308Ww03DGJIwkEFE X-Gm-Gg: AeBDietirX2GayRSrMWQaP0X7p+GzQFkeve24Hi1D9abGukxWBvVVo3k65sWHCugOky tjJ0psyhwPnapsLQm2W+MxolXkahqx8fu1xqwmUUg3vX8ebXP4wiT5xFGtG0IU6Z2+x1YOBptud H5bUy6d3mY721tv7S5Rrp7BZ5ODKDP3MqPyj+qACvrakMuVdAfjGLvWr0ICF4FYciQ56iP1mj6R 9vZelalEWMogKULS9UB/tdWQ0Jr7L8MwkMcACMyM2Krz2exHG9wN4hvf1YHBq0XjNW/U9ld+kFZ ARtWFBLpjyKJb5fEdp5grRg2E+w16w5VrLWu1DN1iN1eSzVswK0GhXKj/ofK8JjGxQodbxxm8Og IKE3YmtTxnJi8TAZCZ4CmKKY0JtXBd2Xy+vcNz8sgGBhXFKnNUjdH3QhfqVvKZUMUOpr2lCP7Er jEQ7aXWytBLesFzhRW X-Received: by 2002:a05:7300:a90c:b0:2d8:c521:c157 with SMTP id 5a478bee46e88-2ed198a26acmr724351eec.18.1777419947236; Tue, 28 Apr 2026 16:45:47 -0700 (PDT) X-Received: by 2002:a05:7300:a90c:b0:2d8:c521:c157 with SMTP id 5a478bee46e88-2ed198a26acmr724332eec.18.1777419946679; Tue, 28 Apr 2026 16:45:46 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Markus Armbruster , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Anton Johansson , Richard Henderson , Paolo Bonzini Subject: [PATCH 4/6] qom/object: add object_class_get_list_by_name_prefix Date: Tue, 28 Apr 2026 16:45:17 -0700 Message-ID: <20260428234519.1812371-5-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260428234519.1812371-1-pierrick.bouvier@oss.qualcomm.com> References: <20260428234519.1812371-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=a/0AM0SF c=1 sm=1 tr=0 ts=69f146ac cx=c_pps a=cFYjgdjTJScbgFmBucgdfQ==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=U2icrZDLpMIrgAZKopMA:9 a=scEy_gLbYbu1JhEsrz4S:22 X-Proofpoint-ORIG-GUID: ff0auyUDpHkZ-RpFus44qP2YjyR89GGY X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDIzNCBTYWx0ZWRfX8W5Fcw8vMfIu a++u/Sr3eq1v0SsaogtEngMnpcd1CzdFj4xPcJUiUojgt75d/a7BQSUPN9nuaXcYwd5P/kUd+Fk dEC3tTpE+Z4TxSEj19TxF3EiUcGslt6C3/SPo3FikrPHCxlM3wO4FqM5jbXl/QTFm0zOjKKY6cH 90liKGVyMOHNPpky9Rf+ns6RNuUYrNR5FC11slrhvLJPa7z8pJYdCuKX92rGwz05ZGeFYZk6I+r WO/SAI15dca/t9C6u2Aag4QNZusnBxnJ7WqlJTvOjJ5h/ZyTmap+sEBjzOQgA0yD4odb/zvRrsV 2KOAfXwBj3+hELS/r0L5hsOeQAT3q2mgvzNSa64uUg5BcIvBQWUyjqyAlLYKNeWO5Gi2BOGfxnJ ZeypxDk5q33OMz1SYQ9Z1fNSFCDrsIDQWHnislHiP4NGwnljt9wbhhyrTWr6ZPcxHzp82XfAz7/ 0dmch8r6lZ33S/YGoAg== X-Proofpoint-GUID: ff0auyUDpHkZ-RpFus44qP2YjyR89GGY 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-04-28_05,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 adultscore=0 malwarescore=0 spamscore=0 clxscore=1015 phishscore=0 bulkscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604280234 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: 1777420018899154100 Content-Type: text/plain; charset="utf-8" The existing object_class_get_list forces an initialization of all QOM types, which triggers call to class_init for all types. This function checks type name before initializing it. Next commit will query list of target-info QOM types. However, some existing classes already rely on target detection to add conditional properties. Thus, we need to be able to initialize only target-info types first. Signed-off-by: Pierrick Bouvier --- include/qom/object.h | 13 +++++++++++++ qom/object.c | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) diff --git a/include/qom/object.h b/include/qom/object.h index 510885218ba..a6d7b3874a7 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -1033,6 +1033,19 @@ GSList *object_class_get_list(const char *implements= _type, GSList *object_class_get_list_sorted(const char *implements_type, bool include_abstract); =20 +/** + * object_class_get_list: + * @name_prefix: Name prefix for type to filter for. + * @include_abstract: Whether to include abstract classes. + * + * To the opposite of object_class_get_list, only matching types are + * initialized. + * + * Returns: A singly-linked list of the classes in reverse hashtable order. + */ +GSList *object_class_get_list_by_name_prefix(const char *name_prefix, + bool include_abstract); + /** * object_ref: * @obj: the object diff --git a/qom/object.c b/qom/object.c index f981e270440..14527108a2e 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1062,6 +1062,30 @@ static void object_class_foreach_tramp(gpointer key,= gpointer value, data->fn(k, data->opaque); } =20 +static void object_class_foreach_match_name_prefix(gpointer key, gpointer = value, + gpointer opaque) +{ + OCFData *data =3D opaque; + TypeImpl *type =3D value; + ObjectClass *k; + + const char *name_prefix =3D data->implements_type; + size_t prefix_len =3D name_prefix ? strlen(name_prefix) : 0; + + if (strncmp(type->name, name_prefix, prefix_len)) { + return; + } + + type_initialize(type); + k =3D type->class; + + if (!data->include_abstract && type->abstract) { + return; + } + + data->fn(k, data->opaque); +} + void object_class_foreach(void (*fn)(ObjectClass *klass, void *opaque), const char *implements_type, bool include_abstra= ct, void *opaque) @@ -1131,6 +1155,22 @@ GSList *object_class_get_list(const char *implements= _type, return list; } =20 +GSList *object_class_get_list_by_name_prefix(const char *name_prefix, + bool include_abstract) +{ + GSList *list =3D NULL; + + OCFData data =3D { object_class_get_list_tramp, + name_prefix, include_abstract, &list }; + + enumerating_types =3D true; + g_hash_table_foreach(type_table_get(), + object_class_foreach_match_name_prefix, + &data); + enumerating_types =3D false; + return list; +} + static gint object_class_cmp(gconstpointer a, gconstpointer b, gpointer d) { return g_ascii_strcasecmp(object_class_get_name((ObjectClass *)a), --=20 2.43.0 From nobody Thu May 28 00:44:48 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=1777420026; cv=none; d=zohomail.com; s=zohoarc; b=OwUcu5oDnZ6b2KRHASw5TiMeQ5Ae/KV0DaI20LzZI7gv555sYyvsz7Cwmn/w7XDraFDSflK2D8TKLRnh26pEy8/ayNUMh1pTzcRf+vgggtkJfULJqHy7YpP56pTtrRYqk+Q+CZ7gv0J9Yyk0ZOsqFihTgmtE/BEufBgClXoO0U4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777420026; 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=3K2dEnlYeDYBhpbj/w6Aq/r7KfXHq+f4EIoUrv7Okd0=; b=dLxYIBY5xzHdo1/XbhJBqV8PV7D0faickNlty5EGWh9PReOXX/fE+l+qMdR6w/HCczABvVnnVD1rbjsARJjgO657kmziNTTeKMBvzgbk4nynFCqgSa6FtoX025jR+P3c8AemNx8rk0LCTB5473fKerycG2z5Ow2lQgDc4BfhdtA= 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 1777420026808419.49383875344574; Tue, 28 Apr 2026 16:47:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wHs7n-00034u-5J; Tue, 28 Apr 2026 19:45:55 -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 1wHs7k-00033y-2L for qemu-devel@nongnu.org; Tue, 28 Apr 2026 19:45:52 -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 1wHs7i-0000Ya-0z for qemu-devel@nongnu.org; Tue, 28 Apr 2026 19:45:51 -0400 Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63SFsYJf863031 for ; Tue, 28 Apr 2026 23:45:49 GMT Received: from mail-dy1-f200.google.com (mail-dy1-f200.google.com [74.125.82.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dtry0kds4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Apr 2026 23:45:49 +0000 (GMT) Received: by mail-dy1-f200.google.com with SMTP id 5a478bee46e88-2c16233ee11so16597260eec.1 for ; Tue, 28 Apr 2026 16:45:49 -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-2ed1bf8ddaasm345300eec.7.2026.04.28.16.45.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 16:45:46 -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=3K2dEnlYeDY Bhpbj/w6Aq/r7KfXHq+f4EIoUrv7Okd0=; b=WFyuRzJQjADRwUQ0lBz6NTcdShe femch4NIdgNlnwxDT0DfaoeeSlFiHCdO+GImMReDfM6K/kYrMuuLl85pIR+2ITn3 2hgECg+Ld4oBc6MpqdYbAI/uYRNwakjY7v97VBuXKmQxebANkIrjFTYMGWfFlZ+d DJB9tAQV5mXlYybdMIPxMIjYhY7PMqGFttxBrMZM4LMOHk83L8WOfoqcrBz8VsZh is+d4DbGwmMcvTKVVtvXm/8zvdsjU6xxA9lCiHWL1uKUbTI2P5iSJ6LTOKD2sdKD HPcCkbTQbYeAvmvLfLQuqIhMf0r1QEgUpE0BIaL/wPKsH/ML0fBxdTZIMUQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777419948; x=1778024748; 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=3K2dEnlYeDYBhpbj/w6Aq/r7KfXHq+f4EIoUrv7Okd0=; b=VBrx2Thez2OdmdRTXRv2DZD04o4jAfJ7N/IRZ1wiPiSPpn39xwaIsoI9QSAUTHdnE6 aqMXFQuUDH1FdponwsEta3Ael4C4ujqshVQF/iMoaGZuSUtYhIQjbSvYBi+sCtdqV912 /Q8o0dHBR25sbnGe4gkJPCCH0k4p6JvWKsTn8kROLAVM8DXjK3hb7sLRk45CgtS5ga1J +pJ4Bd1W4Dq7vbx3een7Fv+dWIwQG4wU164GOPnxuIQg2pEdnw6xIL0PHLaoeQ7vjhKn EfrkIbvpHDmIKWDxO5SQcbJzVHVXJ3io19cvEqN/E4xXbE4dLC2bmcqEXSaYmsXhaqL2 J7jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777419948; x=1778024748; 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=3K2dEnlYeDYBhpbj/w6Aq/r7KfXHq+f4EIoUrv7Okd0=; b=Ugm6R47b0jxECpxoFCcQju/M4sY56Z1ZDgaLrOTOwNZg/b/WleoFLISARV0Go4TV33 yaYrq4H60vNM2x2bjttWl/UydsglCUDzgTRT2ps+mzQ/os1yGC/i+Qk3CScI6jiWy7a9 d6DX4tDb1OS0rYB41PkWztMgYUAGeaB0+O7AwP6dRCGC5xqAVnxEfjJXMydlONJvroR/ IGwzIyrqw8nmUYfK7QdpeyIm/Aa+eJUzmNlwCDID5M3yOgLcEG6vbF3QFFQLQrUXiIm3 4II5AoHXa0ZVavPWT2gy3tcTapZrruEZ2AaDMSDC7JAbCTbEC3YPWpH2/c4i1qu9m7u5 GXzg== X-Gm-Message-State: AOJu0Yxgwdi+TSRnOzYVhwN9icISzq90twv10hAQG4ZUx+nwKFINA4ki YV0k+zs0IYN7cgLgbTQ8+WCNq2sZySwD6ngH8Vc8ddzPQhP95mW8Ij2R4MgzKCEvySuvkQ3nGcg nL1m15ytm4UDUwrjMbaxIzS954KBoBTD6LgRNsRwvgHftHTZTwxVZAz22PbEy+eC0zqMu X-Gm-Gg: AeBDieufrlj3ET53VS0oDkW3BQ2DPYUETSROMKFYe6q+2lU0UTdQJ/S2kbwUZG6YsXO p4amsa2V0qgBLD/IRdn9wcMPMfc/6XlEIVcW/uHdIL01XzwsSDmc7RPnm9F/z5igts6yXUD93qk n2IzeIw9cBcw9iJzmffA53++frICILy9eJBjoavgWbGS/TRAIgyLNaZEUAx9zVNOJOaNcFgHt6g aGcTJFaI4uOeDwAHaP8rg2FjA7Ef8oMx738sVQO/4AecIYsitX/EDzxHn/XW9800RewWdmfaXXO 9jnDlWtC9i2gCDqcc9bK78WUvA2AB4/5WStGiuwzbM0fjCFTdmjg+71SzFSrIE5mWqyZz/6/1Gj vVM1BVYbdn3yc71aFRF0kGkGLSKtE+3GW1jwV/6iBDj5U5x+O5/aoUkUEO0DMNyzfjE62mPBqFt XAHgSqb0qhdYUy93s3 X-Received: by 2002:a05:7300:2319:b0:2ed:e12:376b with SMTP id 5a478bee46e88-2ed0e12877cmr1949043eec.33.1777419948014; Tue, 28 Apr 2026 16:45:48 -0700 (PDT) X-Received: by 2002:a05:7300:2319:b0:2ed:e12:376b with SMTP id 5a478bee46e88-2ed0e12877cmr1949030eec.33.1777419947468; Tue, 28 Apr 2026 16:45:47 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Markus Armbruster , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Anton Johansson , Richard Henderson , Paolo Bonzini Subject: [PATCH 5/6] target-info-qom: detect target from QOM Date: Tue, 28 Apr 2026 16:45:18 -0700 Message-ID: <20260428234519.1812371-6-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260428234519.1812371-1-pierrick.bouvier@oss.qualcomm.com> References: <20260428234519.1812371-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=KuJ9H2WN c=1 sm=1 tr=0 ts=69f146ad cx=c_pps a=PfFC4Oe2JQzmKTvty2cRDw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=n7PvVioabm-zFifqlqsA:9 a=6Ab_bkdmUrQuMsNx7PHu:22 X-Proofpoint-GUID: J6xve1gdV9H3Dz5fzK1pCTpVnXDRZ5UY X-Proofpoint-ORIG-GUID: J6xve1gdV9H3Dz5fzK1pCTpVnXDRZ5UY X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDIzNCBTYWx0ZWRfX6whz+b/ySceI Y9+lJnBUugBeWqUGRpMmj379y5P1uFF5E3Kc9QdMixY2Zg5QYlxLkRvn4mJOKEnM4+GmKPjWmEf 91VEEfVcn+IwhyPxrgvvGL++2kH/LU41LlBNJgkXOufK68OVS8h1OH5YiqJeMnu01oDuSgzlPUF zZKVD8p0ZmFnwfK60TfY1rbEVDOng/CCTE246sBZfxjMQcz+xwKwLdwH1YFAoi1aUG04t3FJkMz kHFaEfSPP3I1iNPWEm/oC+CWHZvTRdn91tJNegpJMPT7dSXBJlEl2lFLkQNssQodnUukeR7QHgs bS2pXzwiMD7f3/78KJfklSMHOfAQwK+GRT3F4OwGy9uH05FL7hekSOytmJPqYC8jsxFTQwaPUVX mCEd8D/2lm7n/beupFBiwzUsqg1WrGESq2v4sf3uo9heLl8La2HoU0YIhxubU9be5YKid4MVwpz CK+0RSasNOlPHQifwWg== 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-04-28_05,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 suspectscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 phishscore=0 bulkscore=0 malwarescore=0 impostorscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604280234 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: 1777420029239158500 Content-Type: text/plain; charset="utf-8" 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. Signed-off-by: Pierrick Bouvier Reviewed-by: Marc-Andr=C3=A9 Lureau --- include/qemu/target-info-qom.h | 2 ++ system/vl.c | 2 ++ target-info-qom.c | 17 +++++++++++++++++ 3 files changed, 21 insertions(+) diff --git a/include/qemu/target-info-qom.h b/include/qemu/target-info-qom.h index db069db718a..9549465aa64 100644 --- a/include/qemu/target-info-qom.h +++ b/include/qemu/target-info-qom.h @@ -21,3 +21,5 @@ typedef struct TargetInfoQomClass { } TargetInfoQomClass; =20 OBJECT_DECLARE_TYPE(TargetInfoQom, TargetInfoQomClass, TARGET_INFO) + +void target_info_qom_set_target(void); diff --git a/system/vl.c b/system/vl.c index b4a5ea6f857..96a03ff2ff7 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) module_init_info(qemu_modinfo); /* We need to initialize QOM first to detect target */ module_call_init(MODULE_INIT_QOM); + target_info_qom_set_target(); =20 module_allow_arch(target_name()); =20 diff --git a/target-info-qom.c b/target-info-qom.c index 5ce29f80301..748fdd5a8fb 100644 --- a/target-info-qom.c +++ b/target-info-qom.c @@ -32,3 +32,20 @@ static const TypeInfo target_info_types[] =3D { }; =20 DEFINE_TYPES(target_info_types) + +static const TargetInfo *target_info_ptr; + +void target_info_qom_set_target(void) +{ + g_autoptr(GSList) targets =3D + object_class_get_list_by_name_prefix(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 Thu May 28 00:44:48 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=1777420018; cv=none; d=zohomail.com; s=zohoarc; b=npgJzrF0ZAtxb5H/OBfdthXYaomjgX2TUwrZbxZFl0IRWxhwipK+woEb5lLR4DWEPH0slqARDiRf494yNqUCd3/pPsN6cKKW2Ln3yc33YV4daKrRl26XrceRYdYLsAog9EEqJHy4eI7NXVEd66tcu/jbR0tvvr5fBGZRP4yn9/Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777420018; 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=xN07uQMTIiZApIZXRasVymLTJTBRJUnIgVVutbnhYno=; b=VSUjt7iVW8qikmxm2SSg/oRf7YJYTG0QoxZiCgIw4HjVTyxPZYXMlm2e8QHiwlf22WIsdl73ppwGS90gatlNd9uVCUWeGvfP7xQEwi7mF/2SZpl8djMg9pxub6EjgDxnlx5dSAjJfJGkCzgFdYagb+SJCqpbN8fiz3oAHc89MCE= 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 1777420018562373.5145409436259; Tue, 28 Apr 2026 16:46:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wHs7p-00035c-AE; Tue, 28 Apr 2026 19:45:57 -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 1wHs7l-00034B-9a for qemu-devel@nongnu.org; Tue, 28 Apr 2026 19:45:53 -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 1wHs7j-0000Zk-OE for qemu-devel@nongnu.org; Tue, 28 Apr 2026 19:45:53 -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 63SFsUNi1796747 for ; Tue, 28 Apr 2026 23:45:50 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 4dttt2txy6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Apr 2026 23:45:50 +0000 (GMT) Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-2bdf75bc88fso15709495eec.0 for ; Tue, 28 Apr 2026 16:45:49 -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-2ed1bf8ddaasm345300eec.7.2026.04.28.16.45.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 16:45:47 -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=xN07uQMTIiZ ApIZXRasVymLTJTBRJUnIgVVutbnhYno=; b=NPvN3QOi2BfH/8bi1rWPDJM/lBU 0OQ09uDInsf9tdQhw4DfxsdnjXNgrq+KSgNdqNhbcqYVY779TdkCDjzQknOPCMWV YVrTEBdWM8ScMIOYzQ/OoEHqI3jrb0D/ttuPB786bE5/hyD7ZtSTjb9MNHvD1QgW 7zuYuUnVmTACORBQSySNY/j1PNrN2ZrI4n5La4UQl6vPX7XJkkEdI8tXkxppNbVC BRj0n9HSsRljLg9V8DRt09XhbARx2o7BwY4EUx78fYJ7AYMmD8f4prVqSDmFwtby qp7Bms3bjX/M58nB8+Mqyd7Y+7EmhyVI070aubqVNLrjKKkIgwjhAK2Eg9Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777419949; x=1778024749; 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=xN07uQMTIiZApIZXRasVymLTJTBRJUnIgVVutbnhYno=; b=aJrTAg4eVhWvIq59cY0qQ6a+KhScMPxqdGK5oAD36HJcEKO9jcBGGpq3egccO9AIqG utdHu5l5uPb+wv9yNV/sSRig1/GhIE3lWC/v4X7NRXyaMvVqnoe4yHe6oGBosZ6pGZ1a JWI2wTX2wrFDfa0Zqum8aDoyhYHBz4Xj5QhTApydBg18KLuL8R5O3mCCxkVLk9HCJoSH w4Ro8EXPHbq8AwmHZvRUe2ECxeu0qWAD0mp0EN/FozOZGwvhTHigK7pB94bJdiN5zqyr My4a+p6TlCBCLfCZg82DraD7l4qwHI4WnP2sqQsw7n7g7+fgIsVH2Nh1aj+Aj5Rvx31U lBVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777419949; x=1778024749; 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=xN07uQMTIiZApIZXRasVymLTJTBRJUnIgVVutbnhYno=; b=XvnVDkRXx/VqwhkwEqhyzgUm3QcHYTx/h8HyXv5HV6OLdiVr67ZHMdedtvG464VihR zFrpRKjhUrJibM+PQS24n9KdR+Bj2eB0LUninjZ+QnHkuD+D5Ty1i7kp9oQm6ob3IP4n 9RFNyHK+2fOpgL5DUyAWBDNPu8MiYdvzdCRZWOrZzurMGQe16v10JDMMm+06C8wZIzYV qL83B+MRBQ7VwpPqg42DMrYp8rWYiEavVObWG0914JmaDZOKvAWDsIdB+FlIu4ZelaFl fptVoDOa2oN+9Eu+o3UucxD/AMg2IiLtqGST2JWOadUijYg777ChgonkqRiqLCjuLUQb 9Scg== X-Gm-Message-State: AOJu0Yz2wWfOyl1Wl6zlaS9nHTGTUZYFrmdqBq+xO1cVjkUS6TEs/50m 4bjEPROI8rPQm0Tcg+OBD3Tr7iNDcUl2VaMFJYnIrFzvuLpI34CD7MOT8Oh7y/ihtIt4q7E99Po BWR2tVC4Z1ofbJ5KMT14Q88FY3aztP27BZG6DujcbCQFk6oDAPOl0Rc8nJSaHbJdM/7Pc X-Gm-Gg: AeBDieslmBn0s9Cfcv0wr1ijt9qiFeKw0FWA0HsZo5tR9LZVqE/QJ8ePPj/Nu950ieK A+ZNhwvhbqMIFjq8rHZCJDjiwvY/UtEvnHFK4RXAq6bPpi3OrF0o0XyIAYAdIZgRDDgp85L9y70 oTSaJPfCr2aVpwtUU9AghTb4aPh0iGMyumJPoBmAogAz200mpBBKMoc1q7gDakO5QsDVBw1q8G9 +py7nPG2aRqr5iydacFFLhtDAhsvsotEx0nfJIXbAFmvhrdzj95TvhmqlCl0EV6w6a+G03yAKMd x/9a5agDH2XPsQyoBl5dCxW7+/FFKXzxoNa+2gEGteZyOC88lSAQvDa3bTT+4rqy/BJfd69PLOZ 6ZpgcxKBhmcwJ4cgkQKZXBv6ORS9cTbHDXY6mfwnyf7X5kO74TQuzfh5PMf2E32CJWH4YBLWwjz 7fuldMJo7L8iXo2A8U X-Received: by 2002:a05:7301:1011:b0:2ed:e14:e957 with SMTP id 5a478bee46e88-2ed1995cb9fmr676119eec.33.1777419948934; Tue, 28 Apr 2026 16:45:48 -0700 (PDT) X-Received: by 2002:a05:7301:1011:b0:2ed:e14:e957 with SMTP id 5a478bee46e88-2ed1995cb9fmr676111eec.33.1777419948415; Tue, 28 Apr 2026 16:45:48 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Markus Armbruster , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Anton Johansson , Richard Henderson , Paolo Bonzini Subject: [PATCH 6/6] target-info: replace target_info() in system-mode Date: Tue, 28 Apr 2026 16:45:19 -0700 Message-ID: <20260428234519.1812371-7-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260428234519.1812371-1-pierrick.bouvier@oss.qualcomm.com> References: <20260428234519.1812371-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=HbIkiCE8 c=1 sm=1 tr=0 ts=69f146ae cx=c_pps a=cFYjgdjTJScbgFmBucgdfQ==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=PWnYilPcKYMXGEN_2O4A:9 a=scEy_gLbYbu1JhEsrz4S:22 X-Proofpoint-ORIG-GUID: OTgBWkm_zmU4DmRyibq5enlixkfiP5R_ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDIzNCBTYWx0ZWRfX2ou9hVVaXyIh qfi49jK9kdTD7Lo4xqj/tZAW1Y+ugfEh/y+4Z3n5cpHG6abIuAaBXd7zcu3JszmW+zsLnStOh1d sax4Stltlryh/LYbimrpG/JoMoRh7Xtv6KUDXm5P+VM3CEzomwmEgv4jOqezgMHBEyRavNc7DfG F8/7KBrjUwKzqtjQzFX4VHkbgAi0YXLv/W5yb00jtR58mUzaJp//MQZdo7Rh5JizoyskgABjdJ0 3hOd7mi8w2wYh9RTomSBtDV0emZFG70TFKRw03KLOGakZ7YrG6sBeTe8MhYwuJFIxaD6a7yguMF 787NLfqRgh367hWZMVTdPuXqkbgVQLrPKZc0eBR4UWC90PCTpbqGNdeNOJchH5k5gri6N1psdPq /EyywgNtLXx6hUkZUCRBAJfd1mOL3YAt+7GkfbD9KuSTxNtIviWyby/4LXYc1cUbO0/lvuqu37t huxFpeoKSgS46/j610Q== X-Proofpoint-GUID: OTgBWkm_zmU4DmRyibq5enlixkfiP5R_ 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-04-28_05,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 adultscore=0 clxscore=1015 bulkscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604280234 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: 1777420021089158500 Content-Type: text/plain; charset="utf-8" We now can use TargetInfo information available from QOM, and remove duplicated target_info() symbol. Signed-off-by: Pierrick Bouvier Reviewed-by: Marc-Andr=C3=A9 Lureau --- 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 f3cea985540..51aa9419e88 100644 --- a/include/qemu/target-info-init.h +++ b/include/qemu/target-info-init.h @@ -41,11 +41,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 748fdd5a8fb..feba764a6bc 100644 --- a/target-info-qom.c +++ b/target-info-qom.c @@ -35,6 +35,11 @@ DEFINE_TYPES(target_info_types) =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 --=20 2.43.0