From nobody Fri Dec 12 12:56:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1764693707; cv=none; d=zohomail.com; s=zohoarc; b=Sz6cnaqOmihZY0r2LE3RsBGDUo+/X2Dj5DugUTUBHQfLFeNc67xgjViJzzgIN5CB9Oi66X6aH/eIR6Ztsq6GDkpycg5ti0jALk39VpvQUwrpce0zDrYcEgQSgabdj8cYMfKdoif0nQ8uJBdA1Fx5PngLbwMhwYdVS21CVMDlO8Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764693707; 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=e9+8qmuZpg0DehQTgkOFK4FDYxm/f3otODecthCuhL8=; b=bzNxZfW/UCQPqsU1zcBdPvHlNEfktS9G2qQPnjaFLCHNuTYDMNcyV0/1HpU0XwDV84l3AQeCUlxMe5XG0SEReH7imiDN8i7wlncS5Dg331usR1TegUiRDb6wXLZni9cLXRzVH6ehsUOc/YRYrnnoLzRsbIHqqXYZeIFPEmYDNjM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764693707666842.9116680281605; Tue, 2 Dec 2025 08:41:47 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQTQh-0000xU-A0; Tue, 02 Dec 2025 11:40:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQX-0000wq-RK for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:34 -0500 Received: from mgamail.intel.com ([192.198.163.17]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQW-0001lq-0b for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:33 -0500 Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2025 08:40:29 -0800 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.39]) by orviesa001.jf.intel.com with ESMTP; 02 Dec 2025 08:40:26 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1764693631; x=1796229631; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Ri+hE0aEh63QaQ4qr99LpLC5VPDanP5Ow2vhQA4wQY4=; b=ZQEles1fx1bj9wKn7G3WH/FjpM3qGxjfCWDi1KeCrpp8u+wnp5WtSpwd mFB7W054a8R4qpp5OXlOx9Qc51HdCoXA4xdEyFq8fAUyccP7j3EHWT83Z oTaty8MrefP572eVMRYCNkoArZfnlMBL4fiJbiXug0fUOYZcSinF0CJIi 8IRwaS8tQ4VxZuilS6ZGnUkbFhSSY6HvW3fFKeGhHr8n1PP/Q1ODtoVzy YaVtOFqJhb85HfK5/iuhnuilM1yqkjHMUQ+4dZ+GjBf/VYZD81D0I9+/T Nhf5boBPAmhLpXEWiVxI/ug4v0WqG7/WaGVQbfAmRlYToTlQTjNd660F1 g==; X-CSE-ConnectionGUID: g5yqNmrXSgSgTocTNlBW5g== X-CSE-MsgGUID: DAANyP1DQs+FDJq/cVOGgg== X-IronPort-AV: E=McAfee;i="6800,10657,11630"; a="66555296" X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="66555296" X-CSE-ConnectionGUID: PWHPbr76TMmUfIXFdpdFPg== X-CSE-MsgGUID: 1maLxthjSC6dnbTfwtI+ZA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="231751216" From: Zhao Liu To: Paolo Bonzini , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eduardo Habkost , Markus Armbruster , Thomas Huth , Igor Mammedov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Cc: qemu-devel@nongnu.org, Peter Maydell , "Michael S . Tsirkin" , BALATON Zoltan , Mark Cave-Ayland , devel@lists.libvirt.org, Zhao Liu Subject: [RFC 01/10] qom: Rename ObjectPropertyFlags to ObjectPropertyAccessorFlags Date: Wed, 3 Dec 2025 01:04:53 +0800 Message-Id: <20251202170502.3228625-2-zhao1.liu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251202170502.3228625-1-zhao1.liu@intel.com> References: <20251202170502.3228625-1-zhao1.liu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.198.163.17; envelope-from=zhao1.liu@intel.com; helo=mgamail.intel.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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: 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 @intel.com) X-ZM-MESSAGEID: 1764693708911019200 Content-Type: text/plain; charset="utf-8" At present, ObjectPropertyFlags is used to select accessors and such flags won't be stored in ObjectProperty itself. So it's not proper to extend this ObjectPropertyFlags for "deprecated" or "internal" flags. Therefore, rename ObjectPropertyFlags to ObjectPropertyAccessorFlags, and then the original name ObjectPropertyFlags can be used for other cases. Signed-off-by: Zhao Liu --- include/qom/object.h | 28 ++++++++++++++-------------- qom/object.c | 16 ++++++++-------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index 26df6137b911..3f807a03f5aa 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -1846,14 +1846,14 @@ typedef enum { OBJ_PROP_FLAG_WRITE =3D 1 << 1, /* Automatically add a getter and a setter to the property */ OBJ_PROP_FLAG_READWRITE =3D (OBJ_PROP_FLAG_READ | OBJ_PROP_FLAG_WRITE), -} ObjectPropertyFlags; +} ObjectPropertyAccessorFlags; =20 /** * object_property_add_uint8_ptr: * @obj: the object to add a property to * @name: the name of the property * @v: pointer to value - * @flags: bitwise-or'd ObjectPropertyFlags + * @flags: bitwise-or'd ObjectPropertyAccessorFlags * * Add an integer property in memory. This function will add a * property of type 'uint8'. @@ -1861,20 +1861,20 @@ typedef enum { * Returns: The newly added property on success, or %NULL on failure. */ ObjectProperty *object_property_add_uint8_ptr(Object *obj, const char *nam= e, - const uint8_t *v, - ObjectPropertyFlags flags); + const uint8_t *v, + ObjectPropertyAccessorFlags flags); =20 ObjectProperty *object_class_property_add_uint8_ptr(ObjectClass *klass, const char *name, const uint8_t *v, - ObjectPropertyFlags flags); + ObjectPropertyAccessorFlags flags= ); =20 /** * object_property_add_uint16_ptr: * @obj: the object to add a property to * @name: the name of the property * @v: pointer to value - * @flags: bitwise-or'd ObjectPropertyFlags + * @flags: bitwise-or'd ObjectPropertyAccessorFlags * * Add an integer property in memory. This function will add a * property of type 'uint16'. @@ -1883,19 +1883,19 @@ ObjectProperty *object_class_property_add_uint8_ptr= (ObjectClass *klass, */ ObjectProperty *object_property_add_uint16_ptr(Object *obj, const char *na= me, const uint16_t *v, - ObjectPropertyFlags flags); + ObjectPropertyAccessorFlags flags); =20 ObjectProperty *object_class_property_add_uint16_ptr(ObjectClass *klass, const char *name, const uint16_t *v, - ObjectPropertyFlags flags); + ObjectPropertyAccessorFlags flag= s); =20 /** * object_property_add_uint32_ptr: * @obj: the object to add a property to * @name: the name of the property * @v: pointer to value - * @flags: bitwise-or'd ObjectPropertyFlags + * @flags: bitwise-or'd ObjectPropertyAccessorFlags * * Add an integer property in memory. This function will add a * property of type 'uint32'. @@ -1904,19 +1904,19 @@ ObjectProperty *object_class_property_add_uint16_pt= r(ObjectClass *klass, */ ObjectProperty *object_property_add_uint32_ptr(Object *obj, const char *na= me, const uint32_t *v, - ObjectPropertyFlags flags); + ObjectPropertyAccessorFlags flags); =20 ObjectProperty *object_class_property_add_uint32_ptr(ObjectClass *klass, const char *name, const uint32_t *v, - ObjectPropertyFlags flags); + ObjectPropertyAccessorFlags flag= s); =20 /** * object_property_add_uint64_ptr: * @obj: the object to add a property to * @name: the name of the property * @v: pointer to value - * @flags: bitwise-or'd ObjectPropertyFlags + * @flags: bitwise-or'd ObjectPropertyAccessorFlags * * Add an integer property in memory. This function will add a * property of type 'uint64'. @@ -1925,12 +1925,12 @@ ObjectProperty *object_class_property_add_uint32_pt= r(ObjectClass *klass, */ ObjectProperty *object_property_add_uint64_ptr(Object *obj, const char *na= me, const uint64_t *v, - ObjectPropertyFlags flags); + ObjectPropertyAccessorFlags flags); =20 ObjectProperty *object_class_property_add_uint64_ptr(ObjectClass *klass, const char *name, const uint64_t *v, - ObjectPropertyFlags flags); + ObjectPropertyAccessorFlags flag= s); =20 /** * object_property_add_alias: diff --git a/qom/object.c b/qom/object.c index 4f32c1aba7d7..85d31bb64b36 100644 --- a/qom/object.c +++ b/qom/object.c @@ -2636,7 +2636,7 @@ static void property_set_uint64_ptr(Object *obj, Visi= tor *v, const char *name, ObjectProperty * object_property_add_uint8_ptr(Object *obj, const char *name, const uint8_t *v, - ObjectPropertyFlags flags) + ObjectPropertyAccessorFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2656,7 +2656,7 @@ object_property_add_uint8_ptr(Object *obj, const char= *name, ObjectProperty * object_class_property_add_uint8_ptr(ObjectClass *klass, const char *name, const uint8_t *v, - ObjectPropertyFlags flags) + ObjectPropertyAccessorFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2676,7 +2676,7 @@ object_class_property_add_uint8_ptr(ObjectClass *klas= s, const char *name, ObjectProperty * object_property_add_uint16_ptr(Object *obj, const char *name, const uint16_t *v, - ObjectPropertyFlags flags) + ObjectPropertyAccessorFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2696,7 +2696,7 @@ object_property_add_uint16_ptr(Object *obj, const cha= r *name, ObjectProperty * object_class_property_add_uint16_ptr(ObjectClass *klass, const char *name, const uint16_t *v, - ObjectPropertyFlags flags) + ObjectPropertyAccessorFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2716,7 +2716,7 @@ object_class_property_add_uint16_ptr(ObjectClass *kla= ss, const char *name, ObjectProperty * object_property_add_uint32_ptr(Object *obj, const char *name, const uint32_t *v, - ObjectPropertyFlags flags) + ObjectPropertyAccessorFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2736,7 +2736,7 @@ object_property_add_uint32_ptr(Object *obj, const cha= r *name, ObjectProperty * object_class_property_add_uint32_ptr(ObjectClass *klass, const char *name, const uint32_t *v, - ObjectPropertyFlags flags) + ObjectPropertyAccessorFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2756,7 +2756,7 @@ object_class_property_add_uint32_ptr(ObjectClass *kla= ss, const char *name, ObjectProperty * object_property_add_uint64_ptr(Object *obj, const char *name, const uint64_t *v, - ObjectPropertyFlags flags) + ObjectPropertyAccessorFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2776,7 +2776,7 @@ object_property_add_uint64_ptr(Object *obj, const cha= r *name, ObjectProperty * object_class_property_add_uint64_ptr(ObjectClass *klass, const char *name, const uint64_t *v, - ObjectPropertyFlags flags) + ObjectPropertyAccessorFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; --=20 2.34.1 From nobody Fri Dec 12 12:56:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1764693672; cv=none; d=zohomail.com; s=zohoarc; b=SOWgQsuA0jRYRkXUdM/Gr5TL5x0gVCaJAMUWYQj9rY1f7VQieGTz7Rl1iXJbREQTBtzdvNb+JGe2n6txLEMWn8nVnrYbkibIOuzzH0ncdPx6J9245MCPu4tFwVzyJMqXOU77yUEh5PQgpIavs8a8ByO/ykQGOurevUKR7Za8Idw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764693672; 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=ByFjTmCg5N19kIHH7ZLbumkMaZVyskqYwenxQwlP54g=; b=HxaCVLthfLF5l8Jt8TfjEyioIAB7bX34I1VgVTI8lRzq3XmFRniuE/vSfwpgTTvj4Z8eIBlTAHLXUIcA5Hhu+t04IDGItisE76q2uhkgDSVRqNCsbF9b4955TcTAqTzLLMYseaaXZd+u1JQrOMMNU/7k6OZ99SU6j3IBsyUyXfo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764693672432765.3808692446432; Tue, 2 Dec 2025 08:41:12 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQTQv-00012R-L3; Tue, 02 Dec 2025 11:40:57 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQe-0000xp-LX for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:43 -0500 Received: from mgamail.intel.com ([192.198.163.17]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQb-00023o-Lz for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:40 -0500 Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2025 08:40:33 -0800 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.39]) by orviesa001.jf.intel.com with ESMTP; 02 Dec 2025 08:40:30 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1764693637; x=1796229637; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=9Qq56eCeAvjG3rZCrmAk5vALUPK/ZdcwyH/hbgIGIkY=; b=jS8zSvZUpp/vCxvPWO9DkOUg1YL9yW87OksffWsLSS9vXRMv3dZFOUcN s6RcyNIdXt3QBuMqhRIlPd9JmCFztcYbbCIincXEwXbdQ8CVjQIpu8Yu7 xqy+ehL1/PQhj2YX/iuF9nYdRttwLBxS7LDuCdWflb0n3AB0R9vJSi1I1 4+zjTtXh0m6hPEsDEvaQZv0r6mcAcm8rJAH1xCm7tyL268vsFSjcTj/Yy XxQj7eIOIsnrBvRVmQ7qdebqlO4jupY5wjJSd9UWtThfta/gJ5iZdcag8 WL/XaZ8deaLBr+LYnk0dewUopCHk6GsHLJEBMxxvKirxyhx/Ym1U+I8pE Q==; X-CSE-ConnectionGUID: NSjIap57Q9a+YVIMIiFLBw== X-CSE-MsgGUID: z4WPZKjzRUu2vKRHi1JAHQ== X-IronPort-AV: E=McAfee;i="6800,10657,11630"; a="66555307" X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="66555307" X-CSE-ConnectionGUID: mMSJ9o9hR1Wx1kxMk6Yr5g== X-CSE-MsgGUID: YqXAsNY7TZagf3+YYFQVwA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="231751234" From: Zhao Liu To: Paolo Bonzini , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eduardo Habkost , Markus Armbruster , Thomas Huth , Igor Mammedov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Cc: qemu-devel@nongnu.org, Peter Maydell , "Michael S . Tsirkin" , BALATON Zoltan , Mark Cave-Ayland , devel@lists.libvirt.org, Zhao Liu Subject: [RFC 02/10] qom: Add basic object property deprecation hint support Date: Wed, 3 Dec 2025 01:04:54 +0800 Message-Id: <20251202170502.3228625-3-zhao1.liu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251202170502.3228625-1-zhao1.liu@intel.com> References: <20251202170502.3228625-1-zhao1.liu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.198.163.17; envelope-from=zhao1.liu@intel.com; helo=mgamail.intel.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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: 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 @intel.com) X-ZM-MESSAGEID: 1764693674690019200 Content-Type: text/plain; charset="utf-8" Now the common (but a bit fragmented) way to mark a property deprecated is to add the warning in its accssors. But this is pretty inconvenient for such qdev properties, which are defined via DEFINE_PROP_* macros in the Property array. For qdev properties, their accessors are provided by pre-defined PropertyInfo, so that it's possible to modify PropertyInfo for a single "deprecated" property. Then it's necessary to introduce property flags to mark some properties as deprecated, and to check the property flags when set the property, thereby to print a deprecation warning. This not only benefits traditional qdev properties but also helps the deprecation of generic objects. Note, internal attempt (except the compat case) should not trigger the deprecation warning but external user should see the deprecation information. Whether to perform deprecation checks based on property flags is controlled by the newly added "check" argument in object_property_try_add_full(). In subsequent work, the "check" option will be enabled for specific external property setting paths. Signed-off-by: Zhao Liu --- include/qom/object.h | 72 ++++++++++++++++++++++++++++++++++++++++++++ qom/object.c | 72 +++++++++++++++++++++++++++++++++++--------- 2 files changed, 130 insertions(+), 14 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index 3f807a03f5aa..8f4c2f44d835 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -86,6 +86,12 @@ typedef void (ObjectPropertyRelease)(Object *obj, */ typedef void (ObjectPropertyInit)(Object *obj, ObjectProperty *prop); =20 +typedef enum ObjectPropertyFlags { + OBJECT_PROPERTY_NO_FLAGS =3D 0, + OBJECT_PROPERTY_DEPRECATED =3D 1 << 0, + OBJECT_PROPERTY_FULL_FLAGS =3D OBJECT_PROPERTY_DEPRECATED, +} ObjectPropertyFlags; + struct ObjectProperty { char *name; @@ -98,6 +104,7 @@ struct ObjectProperty ObjectPropertyInit *init; void *opaque; QObject *defval; + uint8_t flags; }; =20 /** @@ -1090,6 +1097,41 @@ ObjectProperty *object_property_try_add(Object *obj,= const char *name, ObjectPropertyRelease *release, void *opaque, Error **errp); =20 +/** + * object_property_try_add_full: + * + * Same as object_property_try_add() with more arguments (@flags). + * + * @obj: the object to add a property to + * @name: the name of the property. This can contain any character except= for + * a forward slash. In general, you should use hyphens '-' instead of + * underscores '_' when naming properties. + * @type: the type name of the property. This namespace is pretty loosely + * defined. Sub namespaces are constructed by using a prefix and then + * to angle brackets. For instance, the type 'virtio-net-pci' in the + * 'link' namespace would be 'link'. + * @get: The getter to be called to read a property. If this is NULL, then + * the property cannot be read. + * @set: the setter to be called to write a property. If this is NULL, + * then the property cannot be written. + * @release: called when the property is removed from the object. This is + * meant to allow a property to free its opaque upon object + * destruction. This may be NULL. + * @flags: the flags to control property uses. + * @opaque: an opaque pointer to pass to the callbacks for the property + * @errp: pointer to error object + * + * Returns: The #ObjectProperty; this can be used to set the @resolve + * callback for child and link properties. + */ +ObjectProperty *object_property_try_add_full(Object *obj, const char *name, + const char *type, + ObjectPropertyAccessor *get, + ObjectPropertyAccessor *set, + ObjectPropertyRelease *releas= e, + ObjectPropertyFlags flags, + void *opaque, Error **errp); + /** * object_property_add: * Same as object_property_try_add() with @errp hardcoded to @@ -1128,6 +1170,15 @@ ObjectProperty *object_class_property_add(ObjectClas= s *klass, const char *name, ObjectPropertyRelease *release, void *opaque); =20 +ObjectProperty *object_class_property_add_full(ObjectClass *klass, + const char *name, + const char *type, + ObjectPropertyAccessor *get, + ObjectPropertyAccessor *set, + ObjectPropertyRelease *rele= ase, + ObjectPropertyFlags flags, + void *opaque); + /** * object_property_set_default_bool: * @prop: the property to set @@ -1469,6 +1520,27 @@ int object_property_get_enum(Object *obj, const char= *name, bool object_property_set(Object *obj, const char *name, Visitor *v, Error **errp); =20 +/** + * object_property_set_full: + * + * Same as object_property_set() with extra check over property flags + * (ObjectPropertyFlags) if @check is true. + * + * @obj: the object + * @name: the name of the property + * @v: the visitor that will be used to write the property value. This sh= ould + * be an Input visitor and the data will be first read with @name as the + * name and then written as the property value. + * @check: whether to check if the property can be set over property flags. + * @errp: returns an error if this function fails + * + * Writes a property to a object. + * + * Returns: %true on success, %false on failure. + */ +bool object_property_set_full(Object *obj, const char *name, + Visitor *v, bool check, Error **errp); + /** * object_property_parse: * @obj: the object diff --git a/qom/object.c b/qom/object.c index 85d31bb64b36..184afc6730dd 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1234,15 +1234,17 @@ void object_unref(void *objptr) } =20 ObjectProperty * -object_property_try_add(Object *obj, const char *name, const char *type, - ObjectPropertyAccessor *get, - ObjectPropertyAccessor *set, - ObjectPropertyRelease *release, - void *opaque, Error **errp) +object_property_try_add_full(Object *obj, const char *name, const char *ty= pe, + ObjectPropertyAccessor *get, + ObjectPropertyAccessor *set, + ObjectPropertyRelease *release, + ObjectPropertyFlags flags, void *opaque, Erro= r **errp) { ObjectProperty *prop; size_t name_len =3D strlen(name); =20 + assert(!flags || !(flags & ~(OBJECT_PROPERTY_FULL_FLAGS))); + if (name_len >=3D 3 && !memcmp(name + name_len - 3, "[*]", 4)) { int i; ObjectProperty *ret =3D NULL; @@ -1279,11 +1281,24 @@ object_property_try_add(Object *obj, const char *na= me, const char *type, prop->set =3D set; prop->release =3D release; prop->opaque =3D opaque; + prop->flags =3D flags; =20 g_hash_table_insert(obj->properties, prop->name, prop); return prop; } =20 +ObjectProperty * +object_property_try_add(Object *obj, const char *name, const char *type, + ObjectPropertyAccessor *get, + ObjectPropertyAccessor *set, + ObjectPropertyRelease *release, + void *opaque, Error **errp) +{ + return object_property_try_add_full(obj, name, type, get, set, release, + OBJECT_PROPERTY_NO_FLAGS, opaque, + errp); +} + ObjectProperty * object_property_add(Object *obj, const char *name, const char *type, ObjectPropertyAccessor *get, @@ -1296,17 +1311,19 @@ object_property_add(Object *obj, const char *name, = const char *type, } =20 ObjectProperty * -object_class_property_add(ObjectClass *klass, - const char *name, - const char *type, - ObjectPropertyAccessor *get, - ObjectPropertyAccessor *set, - ObjectPropertyRelease *release, - void *opaque) +object_class_property_add_full(ObjectClass *klass, + const char *name, + const char *type, + ObjectPropertyAccessor *get, + ObjectPropertyAccessor *set, + ObjectPropertyRelease *release, + ObjectPropertyFlags flags, + void *opaque) { ObjectProperty *prop; =20 assert(!object_class_property_find(klass, name)); + assert(!flags || !(flags & ~(OBJECT_PROPERTY_FULL_FLAGS))); =20 prop =3D g_malloc0(sizeof(*prop)); =20 @@ -1317,12 +1334,27 @@ object_class_property_add(ObjectClass *klass, prop->set =3D set; prop->release =3D release; prop->opaque =3D opaque; + prop->flags =3D flags; =20 g_hash_table_insert(klass->properties, prop->name, prop); =20 return prop; } =20 +ObjectProperty * +object_class_property_add(ObjectClass *klass, + const char *name, + const char *type, + ObjectPropertyAccessor *get, + ObjectPropertyAccessor *set, + ObjectPropertyRelease *release, + void *opaque) +{ + return object_class_property_add_full(klass, name, type, get, set, + release, OBJECT_PROPERTY_NO_FLAG= S, + opaque); +} + ObjectProperty *object_property_find(Object *obj, const char *name) { ObjectProperty *prop; @@ -1432,8 +1464,8 @@ bool object_property_get(Object *obj, const char *nam= e, Visitor *v, return !err; } =20 -bool object_property_set(Object *obj, const char *name, Visitor *v, - Error **errp) +bool object_property_set_full(Object *obj, const char *name, + Visitor *v, bool check, Error **errp) { ERRP_GUARD(); ObjectProperty *prop =3D object_property_find_err(obj, name, errp); @@ -1447,10 +1479,22 @@ bool object_property_set(Object *obj, const char *n= ame, Visitor *v, object_get_typename(obj), name); return false; } + + if (check && prop->flags & OBJECT_PROPERTY_DEPRECATED) { + warn_report("Property '%s.%s' has been deprecated. " + "Please do not use it.", object_get_typename(obj), nam= e); + } + prop->set(obj, v, name, prop->opaque, errp); return !*errp; } =20 +bool object_property_set(Object *obj, const char *name, Visitor *v, + Error **errp) +{ + return object_property_set_full(obj, name, v, false, errp); +} + bool object_property_set_str(Object *obj, const char *name, const char *value, Error **errp) { --=20 2.34.1 From nobody Fri Dec 12 12:56:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1764693734; cv=none; d=zohomail.com; s=zohoarc; b=SM1kU3336eM7ZfCoZHL01hjqDJPZ7qtBf6muLqM3A1DSrLs+73Tw1/imTmyEDJXZiiO17GTwXO0vAErFCGo9PMFToz2KCQFgtGXqk8zhDlYqyoS/gKFgehRSnokZI2O2lgVAqzaZW0YciUbHNZFMQdu4Zizi9mT0CCRwKXHNbsQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764693734; 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=7Wujpjn1GSP9eN+VJcquHa7K6zWT/BIFm/1ImZm3zo4=; b=MxwqT660iFlOQHQiU4hFBaAxKolDr8cBwnAizRnZZtjdreZUDa021EZoYvFx3y5a6ZJ7N1wFvFcF3hMU97BA8/7udLhzuQfju38cIH+8xu0B1qyIi3TV38N98SrMDPbEazEBW/2DarRIREGgfiQ1m8U8HjfSvoUOnyo4d8dosxo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764693734437512.221767322797; Tue, 2 Dec 2025 08:42:14 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQTQr-000106-ID; Tue, 02 Dec 2025 11:40:53 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQe-0000xo-EV for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:43 -0500 Received: from mgamail.intel.com ([192.198.163.17]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQc-0002An-MN for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:40 -0500 Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2025 08:40:37 -0800 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.39]) by orviesa001.jf.intel.com with ESMTP; 02 Dec 2025 08:40:34 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1764693638; x=1796229638; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=BOun+Sp72zYjrToMaMpmKaY7e2ddR1tkuk9rWueIHxo=; b=DKqal6UtHl0dA4GvHTJlbJXhIAi5K52hXcIe2/X90euymA/Ul8+oWDbb FRAIxqoz1NlTqqydO9JLrHYNfKbfzNMTdfeGWeb9a4w6nNHMxryy0pJs+ U1usLNgZKzIbF36v/4BP/al16PcRMxlqugDmiofpc2+ZRN2Lr1hw6Ucwv wTa58THGZxJHwQj42iFx2RqK40rOiw7cdVosYWDQLschaVlbnszjP7trn cI8oKa8oZdW+ku+j1EHr57AOdipHHi3lr5MgZrBQRTIBnnhIw86is71dC uv7FFs9ToPlw9qOb88oUWtFqsPq1PfdGTKouQXmCzr5qKVJHSxUY93sLE A==; X-CSE-ConnectionGUID: 0jknPbSdSkWsJzDSOmcpmQ== X-CSE-MsgGUID: 8LS7FJ44SXu0YSsuikBkbQ== X-IronPort-AV: E=McAfee;i="6800,10657,11630"; a="66555319" X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="66555319" X-CSE-ConnectionGUID: USnf6YqQRWeHSGZ9FE1wAA== X-CSE-MsgGUID: Dd0ER/bfSUevOgoPYLuQ4Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="231751249" From: Zhao Liu To: Paolo Bonzini , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eduardo Habkost , Markus Armbruster , Thomas Huth , Igor Mammedov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Cc: qemu-devel@nongnu.org, Peter Maydell , "Michael S . Tsirkin" , BALATON Zoltan , Mark Cave-Ayland , devel@lists.libvirt.org, Zhao Liu Subject: [RFC 03/10] qom: Check property deprecation flag for global property Date: Wed, 3 Dec 2025 01:04:55 +0800 Message-Id: <20251202170502.3228625-4-zhao1.liu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251202170502.3228625-1-zhao1.liu@intel.com> References: <20251202170502.3228625-1-zhao1.liu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.198.163.17; envelope-from=zhao1.liu@intel.com; helo=mgamail.intel.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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: 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 @intel.com) X-ZM-MESSAGEID: 1764693734932019200 Content-Type: text/plain; charset="utf-8" Global properties can be set up in these cases: 1) external global properties: * -global command line option. * -cpu command line features. * suger properties from object_compat_props[2] 2) internal global properties: * compat properties from object_compat_props[0,1]. In principle, when a compat property is marked as deprecated, it should not be added to any object_compat_props[] as a compat "fix". Therefore, internal compat "global" property use cases should also be considered. All of these global cases are using object_property_parse() to parse and set propertyies, ao add a object_property_parse_with_check() to enable deprecation checks for global properties. Signed-off-by: Zhao Liu --- include/qom/object.h | 20 ++++++++++++++++++++ qom/object.c | 13 ++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/include/qom/object.h b/include/qom/object.h index 8f4c2f44d835..bdeba113f40f 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -1555,6 +1555,26 @@ bool object_property_set_full(Object *obj, const cha= r *name, bool object_property_parse(Object *obj, const char *name, const char *string, Error **errp); =20 +/** + * object_property_parse_with_check: + * + * Same as object_property_parse() with extra check over property flags + * (ObjectPropertyFlags). This interface should be used to handle + * property settings for external users or internal legacy or compatibility + * cases. + * + * @obj: the object + * @name: the name of the property + * @string: the string that will be used to parse the property value. + * @errp: returns an error if this function fails + * + * Parses a string and writes the result into a property of an object. + * + * Returns: %true on success, %false on failure. + */ +bool object_property_parse_with_check(Object *obj, const char *name, + const char *string, Error **errp); + /** * object_property_print: * @obj: the object diff --git a/qom/object.c b/qom/object.c index 184afc6730dd..2973d8876555 100644 --- a/qom/object.c +++ b/qom/object.c @@ -460,7 +460,8 @@ bool object_apply_global_props(Object *obj, const GPtrA= rray *props, continue; } p->used =3D true; - if (!object_property_parse(obj, p->property, p->value, &err)) { + if (!object_property_parse_with_check(obj, p->property, + p->value, &err)) { error_prepend(&err, "can't apply global %s.%s=3D%s: ", p->driver, p->property, p->value); /* @@ -1745,6 +1746,16 @@ bool object_property_parse(Object *obj, const char *= name, return ok; } =20 +bool object_property_parse_with_check(Object *obj, const char *name, + const char *string, Error **errp) +{ + Visitor *v =3D string_input_visitor_new(string); + bool ok =3D object_property_set_full(obj, name, v, true, errp); + + visit_free(v); + return ok; +} + char *object_property_print(Object *obj, const char *name, bool human, Error **errp) { --=20 2.34.1 From nobody Fri Dec 12 12:56:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1764693772; cv=none; d=zohomail.com; s=zohoarc; b=hlXasjoj8HtxT+eCIUmTTuLJQOHIiKcySP9J4wXBWdcjQ1xLoNtmnsg/XE+s54bgwtvw0Y68prpBAQPjrOlhqkettgl4pHZ4jLLYTXl0dTgjT78L464dEVwVKA+cvNMYbvTnyL/5Pev/VVtgGrLvby2IjENJ52C8h4TRDDuObcM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764693772; 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=MCDbTlcPa06w7ioxxWBtOxPOuUJjh5yXh5wrRDSwhAQ=; b=EZrggiKhqFaryChG2QUQ0TdXi8u5lr/j6b6l9U2DUaPdQbNG007QR6gXv2BTs5pjO2aIkWXtF7ZhTduV6vlMsCgXLUIr00dz4tIgAVn5HJXHNNAwyn4LT3RCeMl+DPi6g6kYgvQiJExwBEo+HC+/zXe8sFiCZ6bK0m3ONkKHMck= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764693772866608.4631693032833; Tue, 2 Dec 2025 08:42:52 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQTQx-00013e-Qq; Tue, 02 Dec 2025 11:40:59 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQh-0000yg-NJ for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:45 -0500 Received: from mgamail.intel.com ([192.198.163.17]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQg-0002BI-4k for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:43 -0500 Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2025 08:40:40 -0800 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.39]) by orviesa001.jf.intel.com with ESMTP; 02 Dec 2025 08:40:37 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1764693642; x=1796229642; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=eK18Rb0gdGJlNH012rca504qCms7GSkuLIsrlDHKrYU=; b=RGV/3sqqS6TZqcUnUF0G8lahcXqYma/xhejRBOGqy1bkIpcrOnMzxs8r ZetQsQ0ck6b0p3POgRIECUTFdTgeyeCtCBPjlJP+yGChfl9BZdr7bvDzV ZhHOw8yxeCcmHxWe6XL+pH+RAhdDmurDRnsUh7KTsabk6yzSTkFfc5ypk EkF1xb67aWwIwClnw0DugQZ8ZIwKaf1lKWLozIyMT26VAC/AOWbh/mBUY u/6nUqQ0mf+hQeTl8DdjMikvT5TPzeJ4UloD1bfy08I3XV4hFubWiXBie vV+Rsgd/nj5oc5Zj3529QcMJePQZJBOFWPOP5vTyere/lehLDBYi0vaga Q==; X-CSE-ConnectionGUID: 8IB44/R0Sp6ug5WIP932ag== X-CSE-MsgGUID: hug7CH7kRee8UAizlkfaKQ== X-IronPort-AV: E=McAfee;i="6800,10657,11630"; a="66555328" X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="66555328" X-CSE-ConnectionGUID: mousTyneT6+4xI9PexJ6dQ== X-CSE-MsgGUID: eGnzuLPkRoGYYl3RJSgdVA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="231751270" From: Zhao Liu To: Paolo Bonzini , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eduardo Habkost , Markus Armbruster , Thomas Huth , Igor Mammedov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Cc: qemu-devel@nongnu.org, Peter Maydell , "Michael S . Tsirkin" , BALATON Zoltan , Mark Cave-Ayland , devel@lists.libvirt.org, Zhao Liu Subject: [RFC 04/10] qom: Check property deprecation flag for properities from qdict Date: Wed, 3 Dec 2025 01:04:56 +0800 Message-Id: <20251202170502.3228625-5-zhao1.liu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251202170502.3228625-1-zhao1.liu@intel.com> References: <20251202170502.3228625-1-zhao1.liu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.198.163.17; envelope-from=zhao1.liu@intel.com; helo=mgamail.intel.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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: 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 @intel.com) X-ZM-MESSAGEID: 1764693773129019200 Content-Type: text/plain; charset="utf-8" The sources of properities parsed into qdict include: 1) External ("TYPE_USER_CREATABLE") object: * -object command line used for external ("TYPE_USER_CREATABLE") object. 2) External device: * -device command line - parsed based on keyval or json. 3) External machine options: * -machine command line - parsed based on keyval. 4) Internal machine options: * Builtin default machine options string: MachineClass::default_machine_opts - parsed based on keyval, too. All of these cases are using object_set_properties_from_qdict() to set properties. It's necessary to detect and report deprecated properities for these cases. Signed-off-by: Zhao Liu --- qom/object_interfaces.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c index 415cbee8c5cf..b58a24c27ce7 100644 --- a/qom/object_interfaces.c +++ b/qom/object_interfaces.c @@ -53,7 +53,7 @@ static void object_set_properties_from_qdict(Object *obj,= const QDict *qdict, return; } for (e =3D qdict_first(qdict); e; e =3D qdict_next(qdict, e)) { - if (!object_property_set(obj, e->key, v, errp)) { + if (!object_property_set_full(obj, e->key, v, true, errp)) { goto out; } } --=20 2.34.1 From nobody Fri Dec 12 12:56:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1764693731; cv=none; d=zohomail.com; s=zohoarc; b=LBkpEQUexkyW5EEbVRb22fcFvNqogA2Kz35H86XxXgub6WyvmRqkm/T7BIel0Mp4LI3QZiEiMHOKg8Ka6mjntanqeARtf3TLvbGizo13PMJDO9gu9rXOtZSdwBZYJb4/UyZLUSYBPv/gcT9nkWSl1bLkR79Kt2FarMJFZex6Tfc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764693731; 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=8/xh2MI+Rjyi1q1Ep06j3DPsVUOw83VgWyaA/88W3pM=; b=lVaRyM6oQ0cLivbslSNv2ucdmpXjis153LJRfN5DL7AOKC8sDQQV2Ecw5WfrOZYktXvjfMFChIF2loa2QWewSGMN45fvnZ4PPMocbOp+Ya6pbtY23p2tGsZMtqbdN/7SCU0cgPq2DCDyWpH7K35fja17PD4TSySJLGnbBXdN7PE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764693731283546.4663622732262; Tue, 2 Dec 2025 08:42:11 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQTR8-0001E4-5M; Tue, 02 Dec 2025 11:41:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQl-000103-7c for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:47 -0500 Received: from mgamail.intel.com ([192.198.163.17]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQj-0002BI-NL for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:46 -0500 Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2025 08:40:43 -0800 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.39]) by orviesa001.jf.intel.com with ESMTP; 02 Dec 2025 08:40:41 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1764693645; x=1796229645; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=EJDsM/gh9OJ5qk69Sy+KHH99/lnhQAd7uQZJey2ngdU=; b=Gf9DmGOY7SnBOqB1tSNMinwneEJewcQBmN2+AqbOSnEbhI8SpdlD+Tpn yBfrZer7zH4mrHmpF/mYlHqgy8YfXS5/RFKss9f4Fs458mNnDyICDLLKu tsDfQsIXFu1u0NC+QKJVWHlgZ6JoAI11vC9zcSc4+cPYZADbZuzasODfP ZuSUn9wefYLkMYbeqvx4uIcl6QjkL10QhXAOaIuBjL2PJqLaY9npMx5E/ NA3iqYUocbPkYfpECggxSwUPHloTXjlZ5RqyyOzl44eZTMXhRUvXRWIER OKP++LuzVl8OG21BnCiY4KGrLd3Fj+tjeOiEGF5uA9ycFX4YgcGlqHWTp w==; X-CSE-ConnectionGUID: KvWxagzHSw+G4osywzIMJw== X-CSE-MsgGUID: acwgExhXScacYVneFgjvyw== X-IronPort-AV: E=McAfee;i="6800,10657,11630"; a="66555338" X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="66555338" X-CSE-ConnectionGUID: +pE6H92VRJO5eRRxMlTI4A== X-CSE-MsgGUID: bgciHmu9QDCeH985Upn5Lw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="231751287" From: Zhao Liu To: Paolo Bonzini , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eduardo Habkost , Markus Armbruster , Thomas Huth , Igor Mammedov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Cc: qemu-devel@nongnu.org, Peter Maydell , "Michael S . Tsirkin" , BALATON Zoltan , Mark Cave-Ayland , devel@lists.libvirt.org, Zhao Liu Subject: [RFC 05/10] system/vl: Check property deprecation flag for properities of accelerator Date: Wed, 3 Dec 2025 01:04:57 +0800 Message-Id: <20251202170502.3228625-6-zhao1.liu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251202170502.3228625-1-zhao1.liu@intel.com> References: <20251202170502.3228625-1-zhao1.liu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.198.163.17; envelope-from=zhao1.liu@intel.com; helo=mgamail.intel.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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: 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 @intel.com) X-ZM-MESSAGEID: 1764693733133019200 Content-Type: text/plain; charset="utf-8" Now, object_parse_property_opt() is only used for -accel, which would also have the need to deprecate properties. So, use object_property_parse_with_check() for -accel. Signed-off-by: Zhao Liu --- system/vl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/vl.c b/system/vl.c index 5091fe52d925..e1bcd4d713d7 100644 --- a/system/vl.c +++ b/system/vl.c @@ -1709,7 +1709,7 @@ static int object_parse_property_opt(Object *obj, return 0; } =20 - if (!object_property_parse(obj, name, value, errp)) { + if (!object_property_parse_with_check(obj, name, value, errp)) { return -1; } =20 --=20 2.34.1 From nobody Fri Dec 12 12:56:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1764693757; cv=none; d=zohomail.com; s=zohoarc; b=Q33w4hgfNcukKVMaoGIX/IVgYZ8g8WADn+pHuNYi1m1o1fj5MlCPlwbJzJ+CvSPhiBadVGO/Z0O3OJAY7L/YVq12B/ca+xhMeJ2ia2Bu3nw82+OhrkfcpqFKxArUM2mjpaCPN2COcLRACxZ9y3qEql25ZTl+2vfRb9dcXZWzlXc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764693757; 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=I4m2nn4AVeHRNf34tsfPWxp1TJ3g1UMI9m11Ipvjfmg=; b=E1tmvlzJJQeJmSGZWbL5uv84qd6gfXtyGdGP7JtHfffG++HBoqgzOghJaXCa+n5G5AtZG93t8j18/o/A+MN7t9K6HiB1rB8KzUVrGJIb+9mvJJQmOx1oPrI9tFIiyrldow+YKm6oHFLxcHiQTCn8E1Vk4bNFzieX+vXigL3cVio= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764693757117748.9818275177909; Tue, 2 Dec 2025 08:42:37 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQTR4-0001CN-06; Tue, 02 Dec 2025 11:41:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQq-00010Y-KI for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:53 -0500 Received: from mgamail.intel.com ([192.198.163.17]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQm-0002BI-48 for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:52 -0500 Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2025 08:40:47 -0800 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.39]) by orviesa001.jf.intel.com with ESMTP; 02 Dec 2025 08:40:44 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1764693648; x=1796229648; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=0KCmiyIpAB52wYzC4kWIy02+TdGBgkInAHjQESaNq0s=; b=Q/870l/lWrQlfqXq9OCepRCh/XwIO2W0cislkOwtUhuC9vtnyzA/xV62 s5Br4Ll6eEkCoknIFpkIXNejZyH+1xo8jz86EHrbv5Pg8N04Sit66P7jN IDXs3sEwpRk5nFvqLZlkSrSFmNzjaG/tDVKIqQlLAY+SJV2BnHGmvI75f wr/ymRvQkdX6BSZHzheGw0iDDRY6MH8Zxns5HxLr+Xnihxrx3PWymUOV4 TtbkkJn84Qz3djqQNjyyjUNOCsiHexlcLdL80OJAbHxCHjGm8mvHvgM1K G+EjcJBM/U/1OLcuCNJ3mdIduP9aNISmLOAKrlctmrNrtqcUGAJiR3SUH A==; X-CSE-ConnectionGUID: EU8spNoAT8+2rCJLlCcBsA== X-CSE-MsgGUID: go45Yqy8SNSSKmze/UpxpQ== X-IronPort-AV: E=McAfee;i="6800,10657,11630"; a="66555347" X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="66555347" X-CSE-ConnectionGUID: 6Zgi4yFGTZm3WZ1TGP1L8g== X-CSE-MsgGUID: j+3EFEyhTOSNAtDmMUVZfA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="231751314" From: Zhao Liu To: Paolo Bonzini , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eduardo Habkost , Markus Armbruster , Thomas Huth , Igor Mammedov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Cc: qemu-devel@nongnu.org, Peter Maydell , "Michael S . Tsirkin" , BALATON Zoltan , Mark Cave-Ayland , devel@lists.libvirt.org, Zhao Liu Subject: [RFC 06/10] qom/qom-hmp-cmd: Check property deprecation flag for "qom-set" command Date: Wed, 3 Dec 2025 01:04:58 +0800 Message-Id: <20251202170502.3228625-7-zhao1.liu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251202170502.3228625-1-zhao1.liu@intel.com> References: <20251202170502.3228625-1-zhao1.liu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.198.163.17; envelope-from=zhao1.liu@intel.com; helo=mgamail.intel.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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: 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 @intel.com) X-ZM-MESSAGEID: 1764693759155019200 Content-Type: text/plain; charset="utf-8" "qom-set" can be used to set object property by external users, so it's necessary to enable deprecation check for this case. Signed-off-by: Zhao Liu --- qom/qom-hmp-cmds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qom/qom-hmp-cmds.c b/qom/qom-hmp-cmds.c index a00a564b1e22..1bfef0837e30 100644 --- a/qom/qom-hmp-cmds.c +++ b/qom/qom-hmp-cmds.c @@ -58,7 +58,7 @@ void hmp_qom_set(Monitor *mon, const QDict *qdict) error_set(&err, ERROR_CLASS_DEVICE_NOT_FOUND, "Device '%s' not found", path); } else { - object_property_parse(obj, property, value, &err); + object_property_parse_with_check(obj, property, value, &err); } } else { QObject *obj =3D qobject_from_json(value, &err); --=20 2.34.1 From nobody Fri Dec 12 12:56:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1764693756; cv=none; d=zohomail.com; s=zohoarc; b=KNVqSyyaYT3KqqSfDV6Ufj3HeJtEPpcrvSdOpnocIuvqpCIZSxUnsXgAbqQCTkOYSR86PC85NLSTiOso++pRBnz7rkbprk81jY1Pwv3YvRr10bZcLmnIK5w9u2IstfzMrl6b/lWUxXY9vlD0zrx3hXjzOvIly2/MEmfh3QVwrEo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764693756; 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=u9GnzSXxRzMPvxR5Q7urVq8MgcZKL0/8pvQIVrSqMfM=; b=my7DTJMaEcYb5PdkHv9PXfNrN0h5DMmCT6UI/Ol19q59KPMkxirEvYZkI0k4KE4xxq7R2AbCwh8ytqzVL7nnjTRSbJg7xHLIUWlDVr/TYYT52eRdKz+k0HIdUvqeMBhPJlCUu1LSGuNT037fGYfNMblUQm3ICriS9UB4mhIByVc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764693756473860.2861692645204; Tue, 2 Dec 2025 08:42:36 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQTR8-0001H2-Eb; Tue, 02 Dec 2025 11:41:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQt-00012B-Na for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:57 -0500 Received: from mgamail.intel.com ([192.198.163.17]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQq-0002E0-UY for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:54 -0500 Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2025 08:40:51 -0800 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.39]) by orviesa001.jf.intel.com with ESMTP; 02 Dec 2025 08:40:47 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1764693652; x=1796229652; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4L58Pynfj8H1B71aYDQrPJ7Fi/01QINRH+Wk2l/rkZY=; b=c3yc6PrzVEhkTa1VxRRgt9T1ygkyh81Fa57GlLgI+hj/kG8M3akVwC/O RBe9hBhCcgcuyRKoGc6EJh7Oe6heVN8RSFFYef7QxtX2aP6/hTopT7VDC gEW4SwnBNsaSur7BebkeKdccZBMSPPmTj03NMNHdrmB9VPHuAKFJRxld/ SLyridyrDYuAuBI/o2g93pqeIMCB2ccirZLC9ATRNFgtKfj5RCtD3rGLB rijYq6+v7oCq0OmdHX+dqS5kzYkOfEaGeBzT2xBftpnYjGoRgJyJxapVi Ik5dgr4YJRcJjMiwhMQo5hU+yKQO/poCEAGZmQJ7d7pmQCql6pG4Avhrc A==; X-CSE-ConnectionGUID: GRC4OO+gQTmwVAbpWWBSrQ== X-CSE-MsgGUID: LjNxOSxmR/C8+anyf4P5uA== X-IronPort-AV: E=McAfee;i="6800,10657,11630"; a="66555364" X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="66555364" X-CSE-ConnectionGUID: DiCukenSRB2g2dYVQQ0rmQ== X-CSE-MsgGUID: 8PFY2kKGTcqzrSf0ovPKmg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="231751346" From: Zhao Liu To: Paolo Bonzini , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eduardo Habkost , Markus Armbruster , Thomas Huth , Igor Mammedov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Cc: qemu-devel@nongnu.org, Peter Maydell , "Michael S . Tsirkin" , BALATON Zoltan , Mark Cave-Ayland , devel@lists.libvirt.org, Zhao Liu Subject: [RFC 07/10] hw/core/qdev-properties: Allow to mark qdev property as deprecated Date: Wed, 3 Dec 2025 01:04:59 +0800 Message-Id: <20251202170502.3228625-8-zhao1.liu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251202170502.3228625-1-zhao1.liu@intel.com> References: <20251202170502.3228625-1-zhao1.liu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.198.163.17; envelope-from=zhao1.liu@intel.com; helo=mgamail.intel.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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: 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 @intel.com) X-ZM-MESSAGEID: 1764693757184019200 Content-Type: text/plain; charset="utf-8" With deprecation flag, make qdev property interfaces to accept ObjectPropertyFlags, and provide the boolean and uint8_t macro variants to help on deprecation as examples. Signed-off-by: Zhao Liu --- hw/core/qdev-properties.c | 24 +++++++++++++----------- include/hw/qdev-properties.h | 18 ++++++++++++++++++ 2 files changed, 31 insertions(+), 11 deletions(-) diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index 422a486969c8..2cd7de5cec2d 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -1069,11 +1069,12 @@ void qdev_property_add_static(DeviceState *dev, con= st Property *prop) =20 assert(!prop->info->create); =20 - op =3D object_property_add(obj, prop->name, prop->info->type, - field_prop_getter(prop->info), - field_prop_setter(prop->info), - prop->info->release, - (Property *)prop); + op =3D object_property_try_add_full(obj, prop->name, prop->info->type, + field_prop_getter(prop->info), + field_prop_setter(prop->info), + prop->info->release, + prop->flags, (Property *)prop, + &error_abort); =20 object_property_set_description(obj, prop->name, prop->info->description); @@ -1095,12 +1096,13 @@ static void qdev_class_add_property(DeviceClass *kl= ass, const char *name, if (prop->info->create) { op =3D prop->info->create(oc, name, prop); } else { - op =3D object_class_property_add(oc, - name, prop->info->type, - field_prop_getter(prop->info), - field_prop_setter(prop->info), - prop->info->release, - (Property *)prop); + op =3D object_class_property_add_full(oc, + name, prop->info->type, + field_prop_getter(prop->info), + field_prop_setter(prop->info), + prop->info->release, + prop->flags, + (Property *)prop); } if (prop->set_default) { prop->info->set_default_value(op, prop); diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h index 60b81330097d..383f3f54f0ab 100644 --- a/include/hw/qdev-properties.h +++ b/include/hw/qdev-properties.h @@ -11,6 +11,7 @@ * and the field retains whatever value it was given by instance_init). * @defval: default value for the property. This is used only if @set_defa= ult * is true. + * @flags: property flags to control uses. */ struct Property { const char *name; @@ -27,6 +28,7 @@ struct Property { int arrayfieldsize; uint8_t bitnr; bool set_default; + uint8_t flags; }; =20 struct PropertyInfo { @@ -102,6 +104,13 @@ extern const PropertyInfo qdev_prop_link; .set_default =3D true, = \ .defval.u =3D (_type)_defval) =20 +#define DEFINE_PROP_UNSIGNED_DEPRECATED(_name, _state, _field, \ + _defval, _prop, _type) \ + DEFINE_PROP(_name, _state, _field, _prop, _type, \ + .set_default =3D true, \ + .defval.u =3D (_type)_defval, \ + .flags =3D OBJECT_PROPERTY_DEPRECATED) + #define DEFINE_PROP_UNSIGNED_NODEFAULT(_name, _state, _field, _prop, _type= ) \ DEFINE_PROP(_name, _state, _field, _prop, _type) =20 @@ -123,6 +132,12 @@ extern const PropertyInfo qdev_prop_link; .set_default =3D true, \ .defval.u =3D (bool)_defval) =20 +#define DEFINE_PROP_BOOL_DEPRECATED(_name, _state, _field, _defval) \ + DEFINE_PROP(_name, _state, _field, qdev_prop_bool, bool, \ + .set_default =3D true, \ + .defval.u =3D (bool)_defval, \ + .flags =3D OBJECT_PROPERTY_DEPRECATED) + /** * The DEFINE_PROP_UINT64_CHECKMASK macro checks a user-supplied value * against corresponding bitmask, rejects the value if it violates. @@ -189,6 +204,9 @@ extern const PropertyInfo qdev_prop_link; #define DEFINE_PROP_SIZE32(_n, _s, _f, _d) \ DEFINE_PROP_UNSIGNED(_n, _s, _f, _d, qdev_prop_size32, uint32_t) =20 +#define DEFINE_PROP_UINT8_DEPRECATED(_n, _s, _f, _d) = \ + DEFINE_PROP_UNSIGNED_DEPRECATED(_n, _s, _f, _d, qdev_prop_uint8, uint8= _t) + /* * Set properties between creation and realization. * --=20 2.34.1 From nobody Fri Dec 12 12:56:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1764693734; cv=none; d=zohomail.com; s=zohoarc; b=SkLSgdua2uzQPn1wwL/EIopUZHCBWiCqX3EhkLsEeRV/QlllwFrWNeN/qzss8ezTLLH+f44ra76F3gHDXky+aHvKoyLIXKbU+Q5T2RUqryxBY8mGGFukQkYD+LLYFWvgzS/v6mw9+w3Udj6xd1jQN/6Rph4CooGBzrMyHrIX/ks= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764693734; 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=ktl0pPjo4Itr3sD1rdvrgmSZup/Mzkex3QrujhxQu5Q=; b=FQXlHl1TXOiswDqVXnWZJEiCTFPwhohiboZoDOpo4pu88/l2psV5RnYkBzLoQaw5B4X3iQN1c2Vf4SfFfnTxRb7RccHa3/mOJesugMspfP5pGnfUBp/I/NWQYNrwqTBEOu4WTrkC7kysANaIJaU/SuB6+CIjhYQD1Nm+Wb1KYzA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 176469373495784.98086231926527; Tue, 2 Dec 2025 08:42:14 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQTR8-0001J4-Un; Tue, 02 Dec 2025 11:41:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQw-00013c-47 for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:59 -0500 Received: from mgamail.intel.com ([192.198.163.17]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQt-0002BI-IW for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:40:57 -0500 Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2025 08:40:54 -0800 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.39]) by orviesa001.jf.intel.com with ESMTP; 02 Dec 2025 08:40:51 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1764693655; x=1796229655; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=yma8Elypab7lSdreYaeRchfYeGC+2elRnGnxOQ2FVyQ=; b=imvZ0kak9g3p4jEpRvoTa0NL1CUqBvPyHCi2GlBUxgypCKCTlDRFmyP2 2IaK72DbFhZx/2tTKBQ4nv2pN5vUypgbhbqQzL8LzsEGXEa8O6CjDMg35 mxAEZzTyQ1dMsFBa111kTGA395tC1ELHziFMEnLtGue4sKkdltfzcGNx/ qAv9ZX927kD3zOJ5q7LT1q8tIi88v/m4iLO/Tg4k0l4QcH38RFlr1f47Q 3fiuyRG0qF0/P2lNq2oZv9SHiY4RwP12Dh1UNUiRuewQZTmH/xIk51aRC CzgPlYcAnTME6jG+DvJK3S6SM/9NBsSNYfVEltlOI2wOQuSWO1gJEXzw1 A==; X-CSE-ConnectionGUID: zg62bnBVTauoSgw7PcAXew== X-CSE-MsgGUID: +KjFaSGiQhO3KRmJiKAwFw== X-IronPort-AV: E=McAfee;i="6800,10657,11630"; a="66555381" X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="66555381" X-CSE-ConnectionGUID: oIiajSjiRLaglhAyNlQ1gw== X-CSE-MsgGUID: NjD/+LT5Qy+0D3kUmtd12w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="231751372" From: Zhao Liu To: Paolo Bonzini , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eduardo Habkost , Markus Armbruster , Thomas Huth , Igor Mammedov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Cc: qemu-devel@nongnu.org, Peter Maydell , "Michael S . Tsirkin" , BALATON Zoltan , Mark Cave-Ayland , devel@lists.libvirt.org, Zhao Liu Subject: [RFC 08/10] target/i386: Deprecate fill-mtrr-mask property Date: Wed, 3 Dec 2025 01:05:00 +0800 Message-Id: <20251202170502.3228625-9-zhao1.liu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251202170502.3228625-1-zhao1.liu@intel.com> References: <20251202170502.3228625-1-zhao1.liu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.198.163.17; envelope-from=zhao1.liu@intel.com; helo=mgamail.intel.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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: 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 @intel.com) X-ZM-MESSAGEID: 1764693737069019200 Content-Type: text/plain; charset="utf-8" "fill-mtee-mask" was previously disabled only on PC-Q35-2.6 and PC-I440FX-2.6 machines, but PC v2.6 machines have been removed. Considerring it may have external use, so deprecate it before removal. Signed-off-by: Zhao Liu --- docs/about/deprecated.rst | 8 ++++++++ target/i386/cpu.c | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 9386cffba26d..c60924b4f313 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -487,6 +487,14 @@ Backend ``memory`` (since 9.0) CPU device properties ''''''''''''''''''''' =20 +``fill-mtrr-mask`` on x86 (since 11.0) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The ``fill-mtrr-mask=3Dtrue`` fill the bits between 51..number-of-physical= -address +-bits in the MTRR_PHYSMASKn variable range mtrr masks. It was previously s= et to +false only on PC-Q35-2.6 and PC-I440FX-2.6 machines, but PC v2.6 machines = have +been removed. Deprecate this property to stop external use. + ``pmu-num=3Dn`` on RISC-V CPUs (since 8.2) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ =20 diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 72c69ba81c1b..1f0a8cb6cec1 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -9997,7 +9997,7 @@ static const Property x86_cpu_properties[] =3D { DEFINE_PROP_UINT32("guest-phys-bits", X86CPU, guest_phys_bits, -1), DEFINE_PROP_BOOL("host-phys-bits", X86CPU, host_phys_bits, false), DEFINE_PROP_UINT8("host-phys-bits-limit", X86CPU, host_phys_bits_limit= , 0), - DEFINE_PROP_BOOL("fill-mtrr-mask", X86CPU, fill_mtrr_mask, true), + DEFINE_PROP_BOOL_DEPRECATED("fill-mtrr-mask", X86CPU, fill_mtrr_mask, = true), DEFINE_PROP_UINT32("level-func7", X86CPU, env.cpuid_level_func7, UINT32_MAX), DEFINE_PROP_UINT32("level", X86CPU, env.cpuid_level, UINT32_MAX), --=20 2.34.1 From nobody Fri Dec 12 12:56:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1764693773; cv=none; d=zohomail.com; s=zohoarc; b=KOpt15tGu1n3IDGP1aTMcW1XSUBpcTNER8JGsJnYFFrU0+OT+4Ci5rEl+cgne75/Hh6EvjY5xRRUR2BNPtwM6NCgFVojno5+1WkzPFj292gw9TkIp3IAzUwejkXKdttqS9XX0U3q+E/yBYhY/7xGXShPz8WvtIP3+sClW2GVtq0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764693773; 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=j2Dl3ZFleMpK0KGWOYyH5tffmUFMS5bPvoYA1UGH3W4=; b=g4O9YaiE0TcNSL9MtrJwp6rbFBwpK1eHOJSvxQfIIp6gSMFv4Wg3va/ZJu1Bmwsqn7tbATNSeMtNI3GCKQeTm2jBmtRo+El4GlFHTGdyhr+sNIb/jVGlreNSOyqnJIQ9GUp6fV+3xJMvmodPO0vxvD0MKDTon/XGwHlong16eGY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764693773075327.898963047939; Tue, 2 Dec 2025 08:42:53 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQTRA-0001Sd-Hj; Tue, 02 Dec 2025 11:41:12 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTR0-0001Ak-Ew for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:41:03 -0500 Received: from mgamail.intel.com ([192.198.163.17]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTQy-0002FS-9d for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:41:02 -0500 Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2025 08:40:58 -0800 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.39]) by orviesa001.jf.intel.com with ESMTP; 02 Dec 2025 08:40:55 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1764693660; x=1796229660; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=UDxIzRjac8HAVpNVM7Gth/kx7qmxF7rXuv/fqinoc9M=; b=kldSoRgMFkZAp9eRcpyliIG7Hn6H75TU+/W1dkfxF/l5gbqDfTvcI3Sg Z3Nl5wGnMWhH7Uef/4wIbDw4ETg6Bo7JdJInDrevPCDbilfNoABM0yrIi fcJei6b0fWsemuX2d4SG1p9RrMak9qcmvsB/ifHWNa6r8m4KKV+x3pdpw tgxS7PjqRV/8VWRqdP2qHs8P0EVnQq8HiZCzKMMICB06Df+ex7BZ8X/dq FqMyR9vjY1O2XZ7nL683b1Y9DfaMOsvmSPgGyAGZmSSQ9d5WlkO2487Rv Jv5vDOR1dlRJ8iHFH24RdtxR8KzuDu+8mmySmMPyQqpIk37DEjt4F2yaJ w==; X-CSE-ConnectionGUID: Lqgpphw+RquYERFWzOrpNg== X-CSE-MsgGUID: sYwrfgPYTcWGThkqvdW8dQ== X-IronPort-AV: E=McAfee;i="6800,10657,11630"; a="66555403" X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="66555403" X-CSE-ConnectionGUID: LB7quNABQlSgELC2e530Kg== X-CSE-MsgGUID: +8Z4E16GSoqlahrS++earA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="231751422" From: Zhao Liu To: Paolo Bonzini , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eduardo Habkost , Markus Armbruster , Thomas Huth , Igor Mammedov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Cc: qemu-devel@nongnu.org, Peter Maydell , "Michael S . Tsirkin" , BALATON Zoltan , Mark Cave-Ayland , devel@lists.libvirt.org, Zhao Liu Subject: [RFC 09/10] target/i386: Deprecate cpuid-0xb property Date: Wed, 3 Dec 2025 01:05:01 +0800 Message-Id: <20251202170502.3228625-10-zhao1.liu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251202170502.3228625-1-zhao1.liu@intel.com> References: <20251202170502.3228625-1-zhao1.liu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.198.163.17; envelope-from=zhao1.liu@intel.com; helo=mgamail.intel.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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: 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 @intel.com) X-ZM-MESSAGEID: 1764693775159019200 Content-Type: text/plain; charset="utf-8" "cpuid-0xb" was previously disabled only on PC-Q35-2.6 and PC-I440FX-2.6 machines, but PC v2.6 machines have been removed. Considerring it may have external use, so deprecate it before removal. Signed-off-by: Zhao Liu --- docs/about/deprecated.rst | 10 ++++++++++ target/i386/cpu.c | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index c60924b4f313..741c1a71728b 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -495,6 +495,16 @@ The ``fill-mtrr-mask=3Dtrue`` fill the bits between 51= ..number-of-physical-address false only on PC-Q35-2.6 and PC-I440FX-2.6 machines, but PC v2.6 machines = have been removed. Deprecate this property to stop external use. =20 +``cpuid-0xb`` on x86 (since 11.0) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The ``cpuid-0xb`` is used to control whether to encode CPUID 0xB leaf or n= ot. +Only legacy x86 CPUs didn't have 0xB leaf, and the ```level``` property can +control whether CPUID exposes the 0xB leaf and emulate legacy CPUs. This +property was previously set to false only on PC-Q35-2.6 and PC-I440FX-2.6 +machines, but PC v2.6 machines have been removed. Deprecate this property = to +stop external use. + ``pmu-num=3Dn`` on RISC-V CPUs (since 8.2) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ =20 diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 1f0a8cb6cec1..ef1ffc4d3d4f 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -10009,7 +10009,7 @@ static const Property x86_cpu_properties[] =3D { DEFINE_PROP_UINT8("avx10-version", X86CPU, env.avx10_version, 0), DEFINE_PROP_UINT64("ucode-rev", X86CPU, ucode_rev, 0), DEFINE_PROP_STRING("hv-vendor-id", X86CPU, hyperv_vendor), - DEFINE_PROP_BOOL("cpuid-0xb", X86CPU, enable_cpuid_0xb, true), + DEFINE_PROP_BOOL_DEPRECATED("cpuid-0xb", X86CPU, enable_cpuid_0xb, tru= e), DEFINE_PROP_BOOL("x-vendor-cpuid-only", X86CPU, vendor_cpuid_only, tru= e), DEFINE_PROP_BOOL("x-vendor-cpuid-only-v2", X86CPU, vendor_cpuid_only_v= 2, true), DEFINE_PROP_BOOL("x-amd-topoext-features-only", X86CPU, amd_topoext_fe= atures_only, true), --=20 2.34.1 From nobody Fri Dec 12 12:56:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1764693698; cv=none; d=zohomail.com; s=zohoarc; b=EhWZLYoTD0zlpxOqnV3IO8dwCs51Q2xV3mbH3ErT113MNGYEG/lLJdy1P5fXj7aNvC0/ZRek9unXtv7jnTq3tAYDYjxLdXmu2jNBWFF3j6Yyb0K/JSfqLnC73wLgYW6ChS9750FaV4ZONhUmRq56A5YcFaEVJXZtnochh8iPr+Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764693698; 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=7VDh6Ji8U02CPKGG7upk3wmkE1VIRasZ1H0XD6AGR/0=; b=nIXugJ/u2/zAC8hxnsJ7tpr6/MW4NlWz0jYDyt32Ecu7aRj/bFhNk0zPb1o/NTds3SiIi5Xd+pzwGQuLWOL+1yt1jioa17j90kUZC5fRLkIm7pMfK8nP+WtObIamC6V7u4rXvc2BrGI9pIecmgCZ1Aau5VsH+HCyINIhaYdMAhc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764693698476407.3025756756699; Tue, 2 Dec 2025 08:41:38 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQTR9-0001Ox-SH; Tue, 02 Dec 2025 11:41:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTR2-0001Co-FG for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:41:05 -0500 Received: from mgamail.intel.com ([192.198.163.17]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQTR0-0002FS-Q7 for qemu-devel@nongnu.org; Tue, 02 Dec 2025 11:41:04 -0500 Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2025 08:41:01 -0800 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.39]) by orviesa001.jf.intel.com with ESMTP; 02 Dec 2025 08:40:59 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1764693662; x=1796229662; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=qOKjCAtqtAm/6XWCHVrwryYKG3D/GYbe6E3AbYog1nQ=; b=CN6LOUoYMmJCRxzx45we1NZ+uNT33qJ72Ev0ZY8X8JJ/809CxVMs9+PL QosQAu1UO/Crgq1hEWZ/eHMf+d0X7rUXEjo+RmTyKXMRbk49TUc5d0IRM b+pZO0riYi8G5PQCcRFEA6J7XtyW+q/HZ8tAPX3ovKxlNI1StqabhQDTj vvPoCMXyuX0Pb08guk78IhiHdrV8KoRsvuLjNCBhCxDq1nIUdrb/smAT9 k1Vc4Jn2qKJ5mMKckNg0eUr/yu3tSfEqbbiNKWKCmZLLJb5Xhos27RirW JJGiS0VpswE+qSqT24cySL+imD0nY+8ibjoDgihX3kU9L5V4uL8VifI1K A==; X-CSE-ConnectionGUID: y0sapYteT9uWWtV3i0i9ig== X-CSE-MsgGUID: poifVCYFTCu308oq9SFLAw== X-IronPort-AV: E=McAfee;i="6800,10657,11630"; a="66555413" X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="66555413" X-CSE-ConnectionGUID: s8q5CRv2Rau/r0OjKyOOuQ== X-CSE-MsgGUID: y77f/wUfQbKBVPnI+znA6g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,243,1758610800"; d="scan'208";a="231751459" From: Zhao Liu To: Paolo Bonzini , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eduardo Habkost , Markus Armbruster , Thomas Huth , Igor Mammedov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Cc: qemu-devel@nongnu.org, Peter Maydell , "Michael S . Tsirkin" , BALATON Zoltan , Mark Cave-Ayland , devel@lists.libvirt.org, Zhao Liu Subject: [RFC 10/10] hw/intc/ioapic: Deprecate version property Date: Wed, 3 Dec 2025 01:05:02 +0800 Message-Id: <20251202170502.3228625-11-zhao1.liu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251202170502.3228625-1-zhao1.liu@intel.com> References: <20251202170502.3228625-1-zhao1.liu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.198.163.17; envelope-from=zhao1.liu@intel.com; helo=mgamail.intel.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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: 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 @intel.com) X-ZM-MESSAGEID: 1764693700844019200 Content-Type: text/plain; charset="utf-8" "version" was previously set to "0x11" for v2.7 x86 machines, but v2.7 machines have been removed. And since v2.8, all x86 machines are using IOAPIC with "0x20" version. So it should be not needed to configure the version back to "0x11" again. Considerring it may have external use, so deprecate it before removal. Signed-off-by: Zhao Liu --- docs/about/deprecated.rst | 13 +++++++++++++ hw/intc/ioapic.c | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 741c1a71728b..076940ad0826 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -522,6 +522,19 @@ It was implemented as a no-op instruction in TCG up to= QEMU 9.0, but only with ``-cpu max`` (which does not guarantee migration compatibility across versions). =20 + +Global options +-------------- + +``-device -global ioapic.version=3Dversion_id`` (since 11.0) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The ``version`` configures IOAPIC version for x86 machines. It was previou= sly +set to ``0x11`` for v2.7 machines, and since v2.8, the default version is +bumped up to ``0x20``. The v2.7 machines have been removed, and ``0x11`` +version should be not needed. Deprecate this property to stop external use. + + Backwards compatibility ----------------------- =20 diff --git a/hw/intc/ioapic.c b/hw/intc/ioapic.c index 38e438464861..45fdfb56636b 100644 --- a/hw/intc/ioapic.c +++ b/hw/intc/ioapic.c @@ -483,7 +483,8 @@ static void ioapic_unrealize(DeviceState *dev) } =20 static const Property ioapic_properties[] =3D { - DEFINE_PROP_UINT8("version", IOAPICCommonState, version, IOAPIC_VER_DE= F), + DEFINE_PROP_UINT8_DEPRECATED("version", IOAPICCommonState, + version, IOAPIC_VER_DEF), }; =20 static void ioapic_class_init(ObjectClass *klass, const void *data) --=20 2.34.1