From nobody Thu Sep 10 13:25:47 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=1787356342; cv=none; d=zohomail.com; s=zohoarc; b=H/99R48PCNiLypHTSAtvcgeEpYjfKdW4VzDpTTJaBuv0A17NdsVNrSXbB7jX2+rR5NR5DIU1iEnw8wr+HGEINTDF486H3cuTHFhwDgX87tSX4UZ7dp1k2bYng72vb3lDucPxeJtS4IJkZtf8JY40b0DS2IPEESwME7b5BsGLbrk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787356342; 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=WdACKUQk8cfRxiBvZ666cJ3wF+P3DDBhy83vRvX87jE=; b=bgBGytGC1DEGJlBD50AOG4mqT9KkeFneZ5ayikUrkjO9rbZKfI0aczUEK6qJZ8wcrqynWQcHP2/yFn3yBv78/+ZQbNTQdJ/Up5ef3DaWfwpxKHYlBG8evizABQC+rGA2g30zOCa5h61ImFdutl7rYUR83DiYRud+SkL06D03KXI= 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 1787356342260344.2971292006846; Fri, 21 Aug 2026 16:52:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wxZ1F-0001Uf-LZ; Fri, 21 Aug 2026 19:51: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 1wxZ1D-0001Tx-CG for qemu-devel@nongnu.org; Fri, 21 Aug 2026 19:51:27 -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 1wxZ19-0002GI-38 for qemu-devel@nongnu.org; Fri, 21 Aug 2026 19:51:27 -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 67LMnBi13755562 for ; Fri, 21 Aug 2026 23:51:21 GMT Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6yt784gr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 23:51:21 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-cbedf42f199so1663469a12.2 for ; Fri, 21 Aug 2026 16:51:21 -0700 (PDT) Received: from debian.qualcomm.com (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-395e4af6e88sm605618a91.9.2026.08.21.16.51.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 16:51:18 -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=WdACKUQk8cf RxiBvZ666cJ3wF+P3DDBhy83vRvX87jE=; b=M74riHoinmiHuBPz+/y0QtktzXd it4fCiklS+gBt4z+9hAPinKHFHJVIQsh6kSB14ZUto3jsdNcT8i4KuuLvtm1j8bY qOTBW/JRfsATouIi98/0B4L5XrYk9IkQ9EedYlm+OhxhlXJAE6O0t/SNOH822X93 gDVT1hTofAhm5b1Na0Ik+k2FDWSv+vRUBz+AXrGZEG5CqCTUxYcWjNWa9GItxUH4 +6WMSGxDKfEn6PY+1xrG18OmOcu8EjRxRXNlLYvhYBura/LctzrIKJtUUGPwy10j 3NzAkwscBmWUQr8lF+2y5wuvHcL5CxPW4mhXYVBECMUug6wpj7lYI+qoPsQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787356280; x=1787961080; 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:content-type; bh=WdACKUQk8cfRxiBvZ666cJ3wF+P3DDBhy83vRvX87jE=; b=fIl4+XjvDrVX53BE0yCfpdC3Tk4+I7Sngs5qgySHbqcEuVhcgNmTiCnmKu9boffU2O kOdu4FKDGfDftujIgYp2BCyQkbTNVh7JKI5HAydldJJ0eWr3V5ZrPi2VzBP4TPH26o2r UTt+LTAJiTrhzvG2pYjePeQdJnU60enMREfuXApB603BlO6pPryMVT0OG/mUPuT9AVNE mMs0KnrKlLrlX6PknwWaFR/Vb8xt5m34edxZuQELyGrS5Ic//BigICcLoUsTDEJMfQmu v3AN0vGD1DDtL5hSMFK1j9ZqQANFul71m77WDuXc+IGnZwjD3QvLdWDIaVEDRLQVdQRN y6yQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787356280; x=1787961080; 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:content-type; bh=WdACKUQk8cfRxiBvZ666cJ3wF+P3DDBhy83vRvX87jE=; b=tQY3e/wN9/y7WyYGfbBl11OL9JeJI0ojgwj7S1kk2nqYUAhmzSKBJaCmqZ9OxwSHi6 V22zGNkMk5uwChkBJLf0J/vwyDXnRNMeNmlNvTIMZvLufZBwzqkfHfwCi0cym9rxTtFL qutaMBhiIO9VaUwG/45QA6HUF1gWEVw+SMpLnKAkdkRURLOaQlud6klfp82tb0faWycd tIDXmShn+BXQpyumQ4dfENx07wTyZ7mQmOfyVI2xkoQcQ5hRRYNXvWia13ImvfL217S2 PmST09CK1RdJzZJ2qYdpUV39Cql8T+xOr73G9nThrniqCTMca/ow7LciYi31mfDRbUtc sKXg== X-Gm-Message-State: AFuF++m2nIq23B1W1NceYx1ZsjYi7iY4gCOclpXTK53p376kJilimPWK FCkx6VK44LCHkYP8/4xVo25iEY+ofcVlqC3y1uBhNjzzQW2l45GOD7spJ8MPmaNiSDPWmhxXGmJ D0Ij+cxql+D4OQ/9LUKhnskktK3lK/oz46vKpRDuBmfHeorTQgQQXw88UHdrUzEK+oQ== X-Gm-Gg: AR+sD13NFLqdA7IfEA37g4WpCk+mX/x7P8ROom+k0m+ZCcHlFNpIrYGwRRHqEZWPtbI s2oU4AQ/g5tK8BYdljRJjHY+HaYUm/PNAIZdieWkzQpdT/S4R/TJmh1f9wLEY98D/E2f/5NFnVN DNyCqP+2D2LJdS8Iyq3cyI5jwEpa1RKCZWK5D+tDFSy920s2AVhbAbnV2FtOyrAE5+eVykmm6qq n4dQk80iOwQaRWvb7C9C1f/D1uXxZ2OabNPSgU0W/1C/4zdS4vSNiRgk5MI2n+e4RSUCBF9ErPs /vJzTVNaV3+m6wwXQwxvSFoVhDHDRXQSY9k2sMBDw/DNAdNk8CIw+ya810TRs5wW64Wng6LyEu/ wu3/sZ1YMLOuRrR5ksbD5wWYAtrvH8VbnkWSpqlhpKwHXSuwt8+7SMXp3q5k= X-Received: by 2002:a17:90b:4d0e:b0:38e:659b:f366 with SMTP id 98e67ed59e1d1-395decb87edmr2820272a91.0.1787356280290; Fri, 21 Aug 2026 16:51:20 -0700 (PDT) X-Received: by 2002:a17:90b:4d0e:b0:38e:659b:f366 with SMTP id 98e67ed59e1d1-395decb87edmr2820224a91.0.1787356279733; Fri, 21 Aug 2026 16:51:19 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Paolo Bonzini , philmd@oss.qualcomm.com, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , anjo@rev.ng, Pierrick Bouvier Subject: [PATCH v2 1/2] qom/object: add available_if field to TypeInfo Date: Fri, 21 Aug 2026 23:51:11 +0000 Message-ID: <20260821235112.193381-2-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260821235112.193381-1-pierrick.bouvier@oss.qualcomm.com> References: <20260821235112.193381-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDE5MiBTYWx0ZWRfX93lmpnYXOaDj I2iYHT+5XXHhaMwxW4X8yoGLHq0q3ZWkkCOhMHnenI+/V4jBqLgqxo7gKEgj/qEvh/PH6evZQRo BDoKf+sWza8+IeCPIwHZtRn9VcCqB/4= X-Proofpoint-ORIG-GUID: _XQosya_UWTEgols9S2Iio8bmlxfMB1_ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDE5MiBTYWx0ZWRfXxVZs9T8pd+Od XO+dOHX/CNLUaxSBAewJvxOOsXVU9aBg8sDXvi3J3Of1boTejR6g0HLb6cpeoewdiN6hQIHvMH3 2eXJDJhVuwTNkImDO4vx1nYvUZPdrYW887xBgfxBAuLVRI0rB22XCHhPI+mm+o2dzLDXGpZU8tY /rZcIg1CCyAHTrt22JO62n92IJqQX+oDTt3ZVNmv8Yv+1lrVpmMCe878F7QL0Fh1kBMWp1kMomK pLK/hHWMPagtUAuBa8PAxfo3mqGmeHffnobXhmbRm/WfHPvM6JSDk5Xm6MEIwk8E2kVPLR/rRyz AGcskmMg76rvsT82Rp4UH5PmKKCg2XrhFsXs18Nx1lvKj7KZDbYqbyHn2N/fPFJ8DD8d0S4GFda NdofZ/ROQJ0V7OsYhavQYvDvMYRlMwanltA04f2LRYuVJXw5P15NL12j0Gyh+UPjfw3u6TcZtNa sSHFX1iRutMXm7rjCXQ== X-Authority-Analysis: v=2.4 cv=b9KCJNGx c=1 sm=1 tr=0 ts=6a88e479 cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=iLqgmErQAxjCjdq5jj1Aqg==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=JYRGAXhrQzj-LjSNeY0A:9 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-GUID: _XQosya_UWTEgols9S2Iio8bmlxfMB1_ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-21_06,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 phishscore=0 clxscore=1015 malwarescore=0 impostorscore=0 lowpriorityscore=0 adultscore=0 suspectscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608210192 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, RCVD_IN_MSPIKE_H2=0.001, 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: 1787356344198158500 Content-Type: text/plain; charset="utf-8" With the single-binary, we start mixing types for different targets, that may or may not be available for current one. Previously, we implemented an approach based on interfaces, but it proved to be too limited. It requires duplication between machines/cpus/devices, and does not handle specific cases where a type should be available based on a target configuration (Kconfig). To solve this, we add a new field, available_if, to TypeInfo. It is an array containing a list of requirements for type to be available. For now, we have only targets as requirements, but later we'll add specific target config entries also. We also add a TARGET_REQS macro, to declare a list of requirements. For sanity sake, we don't use a complex variadic macro prefixing each parameter. It requires a lot of macro boilerplate in C, and prevent readers to jump easily to definition for each parameter. Signed-off-by: Pierrick Bouvier --- include/qemu/target-info.h | 11 +++++++++++ include/qom/object.h | 5 +++++ qom/object.c | 10 ++++++++++ rust/qom/src/qom.rs | 1 + stubs/meson.build | 1 + stubs/target-info.c | 11 +++++++++++ target-info.c | 13 +++++++++++++ 7 files changed, 52 insertions(+) create mode 100644 stubs/target-info.c diff --git a/include/qemu/target-info.h b/include/qemu/target-info.h index 6c5b714288e..6379e65bbcf 100644 --- a/include/qemu/target-info.h +++ b/include/qemu/target-info.h @@ -50,6 +50,17 @@ const char *target_cpu_type(void); */ bool target_big_endian(void); =20 +typedef enum TargetReq { + /* 0 is reserved for end of array */ + TARGET_REQ_BASE_ARM =3D 1, + TARGET_REQ_AARCH64, + TARGET_REQ_ARM, +} TargetReq; + +#define TARGET_REQS(...) (const TargetReq[]){__VA_ARGS__, 0} + +bool target_requirement(TargetReq Req); + /** * target_base_arm: * diff --git a/include/qom/object.h b/include/qom/object.h index 11b1c9d2dc8..75bac929c14 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -24,6 +24,7 @@ typedef struct TypeInfo TypeInfo; =20 typedef struct InterfaceClass InterfaceClass; typedef struct InterfaceInfo InterfaceInfo; +typedef enum TargetReq TargetReq; =20 #define TYPE_OBJECT "object" #define TYPE_CONTAINER "container" @@ -469,6 +470,9 @@ struct Object * @class_data: Data to pass to the @class_init, * @class_base_init. This can be useful when building dynamic * classes. + * @available_if: List of requirements for type to be available. This + * should point to a static array that's terminated with a zero filled + * element. * @interfaces: The list of interfaces associated with this type. This * should point to a static array that's terminated with a zero filled * element. @@ -491,6 +495,7 @@ struct TypeInfo void (*class_base_init)(ObjectClass *klass, const void *data); const void *class_data; =20 + const TargetReq *available_if; const InterfaceInfo *interfaces; }; =20 diff --git a/qom/object.c b/qom/object.c index 47977b1f440..02c5cd9d7b8 100644 --- a/qom/object.c +++ b/qom/object.c @@ -17,6 +17,7 @@ #include "qom/object_interfaces.h" #include "qemu/cutils.h" #include "qemu/memalign.h" +#include "qemu/target-info.h" #include "qapi/visitor.h" #include "qapi/string-input-visitor.h" #include "qapi/string-output-visitor.h" @@ -172,6 +173,15 @@ static TypeImpl *type_register_internal(const TypeInfo= *info) TypeImpl *type_register_static(const TypeInfo *info) { assert(info->parent); + + if (info->available_if) { + for (const TargetReq *req =3D info->available_if; *req; ++req) { + if (!target_requirement(*req)) { + return NULL; + } + } + } + return type_register_internal(info); } =20 diff --git a/rust/qom/src/qom.rs b/rust/qom/src/qom.rs index cc00ddcfc98..f065df57542 100644 --- a/rust/qom/src/qom.rs +++ b/rust/qom/src/qom.rs @@ -691,6 +691,7 @@ pub trait ObjectImpl: ObjectType + IsA { class_init: Some(rust_class_init::), class_base_init: Self::CLASS_BASE_INIT, class_data: core::ptr::null(), + available_if: core::ptr::null(), interfaces: core::ptr::null(), }; =20 diff --git a/stubs/meson.build b/stubs/meson.build index 3b2f2680b19..dee2bc5a1a2 100644 --- a/stubs/meson.build +++ b/stubs/meson.build @@ -8,6 +8,7 @@ stub_ss.add(files('iothread-lock.c')) stub_ss.add(files('is-daemonized.c')) stub_ss.add(files('monitor-core.c')) stub_ss.add(files('replay-mode.c')) +stub_ss.add(files('target-info.c')) stub_ss.add(files('trace-control.c')) =20 if have_block diff --git a/stubs/target-info.c b/stubs/target-info.c new file mode 100644 index 00000000000..ab034e7a8d2 --- /dev/null +++ b/stubs/target-info.c @@ -0,0 +1,11 @@ +/* + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qemu/target-info.h" + +bool target_requirement(TargetReq req) +{ + return true; +} diff --git a/target-info.c b/target-info.c index 04c69c41f8a..a4ff24e021f 100644 --- a/target-info.c +++ b/target-info.c @@ -47,6 +47,19 @@ bool target_big_endian(void) return target_endian_mode() =3D=3D ENDIAN_MODE_BIG; } =20 +bool target_requirement(TargetReq req) +{ + switch (req) { + case TARGET_REQ_BASE_ARM: + return target_base_arm(); + case TARGET_REQ_AARCH64: + return target_aarch64(); + case TARGET_REQ_ARM: + return target_arm(); + } + g_assert_not_reached(); +} + bool target_base_arm(void) { switch (target_arch()) { --=20 2.43.0 From nobody Thu Sep 10 13:25:47 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=1787356341; cv=none; d=zohomail.com; s=zohoarc; b=Bjd0t/8ByHpmCYrNoDYPZkGQbYTd4Em6NXzcOqOhD2GVlMa290uQKFPUt4zqi08+sjrkWfUs93oem3wbkwmtFVZ9may2iQyfm69W/FwnXxiSPDiYqmFXxZsPiFFPvRMARLhIl81+JKqa2RRL3bvkgLagmReTKHSUQ9yc70c+nnA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787356341; 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=e8T4TZGJ8JhPz65QQ8ySOTgRRlvTA3K6JUsNZmBsnlM=; b=Fbh97q4yTHTbjcMCFE8nsHwAJxrZrBI6dP8OHm30LsYDyddD/9iwmJMdtqV+oJhSVXYA2JgHMY0nlHj/mCd6l//V3wxpvnfrFz7XOFXtDDQovOHuyCwAg/kEmhcd/x2nQX01c6NQOix/DW/XdgRDAf5J5SgaCdlRMalAC9gJKq4= 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 1787356341787655.6021484707384; Fri, 21 Aug 2026 16:52:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wxZ1D-0001Tp-Ay; Fri, 21 Aug 2026 19:51:27 -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 1wxZ1A-0001TS-KL for qemu-devel@nongnu.org; Fri, 21 Aug 2026 19:51:24 -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 1wxZ19-0002GO-6d for qemu-devel@nongnu.org; Fri, 21 Aug 2026 19:51:24 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67LKBr5X3215585 for ; Fri, 21 Aug 2026 23:51:22 GMT Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6wgh8hk3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 23:51:21 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-3931cd2e4cbso1846301a91.2 for ; Fri, 21 Aug 2026 16:51:21 -0700 (PDT) Received: from debian.qualcomm.com (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-395e4af6e88sm605618a91.9.2026.08.21.16.51.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 16:51:20 -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=e8T4TZGJ8Jh Pz65QQ8ySOTgRRlvTA3K6JUsNZmBsnlM=; b=o3Jofq7YylTVtZTNAqO8l5EhSHh HmpsINvjyPd2tOh9kSbUUHq8HJA/itD+b2UNPuC8nJxKs7B7+IVFXTU6Oy3v5Xus k5H6mwM04B+XGZ6e0R3ck4htDHMASHA87fLQaULPFhql/vjVlJIvEc6S1wpOa8Ab MtGZ+Fq93FdAK2yovJNs+IGJGRFrHCHBNRosbpscJWgS2M01BywBdcQGfNmomLke WEyP1RXc5+WWq2l7DwTsvm+GNu8h178zi+JkFwO+QWh2JKFF+nJJVdU5wxXPXaOX S43WYltx/4ok/KDYJHnTJG+Hgj1Cp5TDY4O06Y8EVz53NDf/K0DdwUyMnxg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787356281; x=1787961081; 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:content-type; bh=e8T4TZGJ8JhPz65QQ8ySOTgRRlvTA3K6JUsNZmBsnlM=; b=Zf7F75srFHTzzkMmkqA8wq7+XxamjPoPZgbdFzkVeB+x9SaPSo7IhaG75X9yofw8iI kcAHWJR0IEsiqCwrUxHkfR3GMttmLiieo9gpG6hlY626LnLv99kDLIrebngmAAX6WOvU iozBjGMWwexIn24GfWog1sDKhJIAsBLaA8swZ4t5015LkVwXW91++k4Eu+YGye0ICfGk Mw13lTpN71GCusluJHmztFYKp1SOWO2d7XCf6jxBylajQ3XD+my7xx/Uss4Z1/lux5ff KVdnLXqlh05j+jbWSbvH8fMMuoCGkpvO5XtN05X8VFiyGRN26vnonzc9N7WnCDTQSNhE D67A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787356281; x=1787961081; 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:content-type; bh=e8T4TZGJ8JhPz65QQ8ySOTgRRlvTA3K6JUsNZmBsnlM=; b=KOOi9nrJZXK04EPmisn+vKfjRpGsyTd730ZLd4iP2bZVU2Xm4/njr76rABJZEeep7y wSjRAVgZhjjGi3XNBLmS0YGuqXauOoWQDu2aDOrD1xvapHFmY3/IUCqB98dKNs9K8WIi v/VpyS0djHbn8fuXQ1onjvVO8Y2UwpNaeQiLPo2U6dHPgHgeyk7J4Pp90QFX3eAno9+m Ls3zy7ZlBsiwNLO+tl4d/KpoEKhqBAxGgYq7rRz94M8229G9pywZ33l/5GDbtiDeBMh4 2+CFkmrfYQ4XZwYbToK/mOoWUv1M1ZpsZWlkWAtnC44WqHurzUae+1WKhDXkd5N8Zouq 83Sw== X-Gm-Message-State: AFuF++kWoTFulXv8tT8okbvmOq8IKFvi7dSR8P0oVvoLN9hJh0yVbnJn B7fTQPlYujmN9FW4tMMW7Z7F1s5MT1J220Nx00r1Ok2TBKhJEFZe2974wBMTTDZVTsmQM0b03Tl osSTcwrFs3hEqAAxFe6AURn2vauDjEj7nOWDvneARWHhYvdyyRQVZ4FdFGWSjfGuc7A== X-Gm-Gg: AR+sD10uTtYesKPv+p74FWjgKpRmA5HUBAcCEfYLWY+LbScbDY7RF1nFsWoQA1NRwPH b04Cd5+CkaJTi1SXjULj5r15SdQeI5odEiSUbsfRxKz+7qjj312rIrVL4e6zU1gywc0nrsp0woL l4YlQS0dPXyHuvsrF7HvjcT0db8ayjpl9dGE6muKCTsj9Qba5wYn7xKnerZ9436znKKMyCVfOzv Hpzv0dNkzWv4rRsd+sAFMqouc7Mx6BXtNJk3bEBgez1VymQvnBGChHvn9UcGJtG8qnejxqKr29f +0nnFMhKjuLLHVlwJaGRBJmDaQISOZWLW4W0z3JnD1fNQcP7wpVXJJgrEDVvYiaPXbsgQVv27Zy Rvq2q5TSRn0v6bfMgVFOxENadP2QEUU16NBE6NF473U7y1BZPugrO9intG70= X-Received: by 2002:a17:90b:3d85:b0:392:c80b:8eff with SMTP id 98e67ed59e1d1-395c3573af2mr17482304a91.11.1787356280815; Fri, 21 Aug 2026 16:51:20 -0700 (PDT) X-Received: by 2002:a17:90b:3d85:b0:392:c80b:8eff with SMTP id 98e67ed59e1d1-395c3573af2mr17482237a91.11.1787356280420; Fri, 21 Aug 2026 16:51:20 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Paolo Bonzini , philmd@oss.qualcomm.com, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , anjo@rev.ng, Pierrick Bouvier Subject: [PATCH v2 2/2] remote/machine: add available_if for x-remote machine type Date: Fri, 21 Aug 2026 23:51:12 +0000 Message-ID: <20260821235112.193381-3-pierrick.bouvier@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260821235112.193381-1-pierrick.bouvier@oss.qualcomm.com> References: <20260821235112.193381-1-pierrick.bouvier@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDE5MiBTYWx0ZWRfXx1PGRFpgUzIe U4uJhdE4e8tIRxi9d+RQ8+wymOLv/SBKYamUpDLOKtVIPaPTDkuGqjVNXLBleRqw7Q8MEAb6+jG ebxROIGb8XeloVseTCPes+udquUGIv/yhwhLUFN/FXAjFDioW2ent32VKpQpzHbuo6sA/9I8mzw P9WNAZ0MBK39trE6IaR0waS0Ew0iNgWpSKA9cC/OCNDYzVJ0J3RYZe5lE/OSYWiuC3xrHa1xFeJ 8GLK9vojUWGLyIey8l1oN9NsKysGDL3jPFGkvhhiN4DYlqXqckCo0TeESUllvLN5MlIg3AfhsFF xNVpj6a39CpPH3avDFZNXnAhv20E7Ct+npJrWNBg2Z7vjdE4t8RuzZ9jA55kRUEpun5UqvMWDMy 50Pn5HHnhxAJAhIRRVhy7C0wbzmZnKwUEzOK42IMcYXav0Vr9jgRs2zIsyGONSrR+WDzFfrUSpQ amfgJtfBzgkRdqCisug== X-Proofpoint-GUID: Tl8kw2JNixUy93WstwFEiJJpt6YZidAw X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDE5MiBTYWx0ZWRfX5FPBPkTNQ6dI XXzuOHbMxoWTRb1CRvXxmbdFK94fGFXGkNZueI9LiNJq2KJP5sSf9Q5CIHH1dVU4gpE+JOrrcpr Ac0RS71bkC2+e+SYNCbNGNo+1Z47jg8= X-Proofpoint-ORIG-GUID: Tl8kw2JNixUy93WstwFEiJJpt6YZidAw X-Authority-Analysis: v=2.4 cv=Xq3K/1F9 c=1 sm=1 tr=0 ts=6a88e479 cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=iLqgmErQAxjCjdq5jj1Aqg==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=1ebxPVMK0uwyyQgDTcMA:9 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-21_06,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 priorityscore=1501 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608210192 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, RCVD_IN_MSPIKE_H2=0.001, 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: 1787356343894158500 Content-Type: text/plain; charset="utf-8" We don't remove yet existing interfaces to not break current binaries. Signed-off-by: Pierrick Bouvier --- hw/remote/machine.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/remote/machine.c b/hw/remote/machine.c index df08f640199..a62794dd2a0 100644 --- a/hw/remote/machine.c +++ b/hw/remote/machine.c @@ -152,7 +152,8 @@ static const TypeInfo remote_machine =3D { { TYPE_TARGET_AARCH64_MACHINE }, { TYPE_TARGET_ARM_MACHINE }, { } - } + }, + .available_if =3D TARGET_REQS(TARGET_REQ_BASE_ARM) }; =20 static void remote_machine_register_types(void) --=20 2.43.0