From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CD482606A326 for ; Mon, 2 Nov 2026 05:50:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=i7pWjGsL Received: from list by lists.xenproject.org with outflank-mailman.1467445.1676790 (Exim 4.92) (envelope-from ) id 1xNkwC-0003bF-2w; Mon, 02 Nov 2026 05:50:32 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 1467445.1676790; Mon, 02 Nov 2026 05:50:31 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1xNkwB-0003XR-JY; Mon, 02 Nov 2026 05:50:31 +0000 Received: by outflank-mailman (input) for mailman id 1467445; Sun, 01 Nov 2026 20:14:05 +0000 Received: from mx.expurgate.net ([195.190.135.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1xNbwL-0001uw-BE for xen-devel@lists.xenproject.org; Sun, 01 Nov 2026 20:14:05 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1xNbwK-002OCu-OX for xen-devel@lists.xenproject.org; Sun, 01 Nov 2026 21:14:04 +0100 Received: from [10.42.69.9] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6ae79d0c-8faa-0a2a0a5109dd-0a2a4509ddc0-44 for ; Sun, 01 Nov 2026 21:14:04 +0100 Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6ae79d8b-be1a-0a2a45090019-aa0a857c7775-3 for ; Sun, 01 Nov 2026 21:14:04 +0100 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-90-zUz3wxw2MFW_-TF18iVIrQ-1; Sun, 01 Nov 2026 15:13:57 -0500 Received: from mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.95]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 9C6A01800364; Sun, 1 Nov 2026 20:13:53 +0000 (UTC) Received: from blackfin.pond.sub.org (unknown [10.44.22.2]) by mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id D5BA37E0; Sun, 1 Nov 2026 20:13:52 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 8867121E6A04; Sun, 01 Nov 2026 21:13:50 +0100 (CET) Resent-To: pasic@linux.ibm.com, 17746591750@163.com, rathc@linux.ibm.com, alistair@alistair23.me, stefanb@linux.vnet.ibm.com, graf@amazon.com, xen-devel@lists.xenproject.org, FangSheng.Huang@amd.com, luc@lmichel.fr, michael.roth@amd.com, jamin_lin@aspeedtech.com, kane_chen@aspeedtech.com, palmer@dabbelt.com, rbolshakov@ddn.com, foss@defmacro.it, sebastian.huber@embedded-brains.de, fam@euphon.net, jiaxun.yang@flygoat.com, lizhijian@fujitsu.com, atar4qemu@gmail.com, edgar.iglesias@gmail.com, jasowangio@gmail.com, liwei1518@gmail.com, npiggin@gmail.com, zhangckid@gmail.com, titusr@google.com, wuhaotsh@google.com, arei.gonglei@huawei.com, berto@igalia.com, mark.cave-ayland@ilande.co.uk, junjie.cao@intel.com, zhao1.liu@intel.com, its@irrelevant.dk, clg@kaod.org, conor@kernel.org, david@kernel.org, jic23@kernel.org, kbusch@kernel.org, mchehab+huawei@kernel.org, sstabellini@kernel.org, peter.maydell@linaro.org, richard.henderson@linaro.org, zhiwei_liu@linux.alibaba.com, zhenwei.pi@linux.dev, adityag@linux.ibm.com, alifm@linux.ibm.com, amachhiw@linux.ibm.com, borntraeger@linux.ibm.com, brueckner@linux.ibm.com, farman@linux.ibm.com, harshpb@linux.ibm.com, iii@linux.ibm.com, jjherne@linux.ibm.com, milesg@linux.ibm.com, mjrosato@linux.ibm.com, lixianglai@loongson.cn, maobibo@loongson.cn, pbarbuda@microsoft.com, yoshinori.sato@nifty.com, qemu-arm@nongnu.org, qemu-block@nongnu.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.org, qemu-riscv@nongnu.org, qemu-s390x@nongnu.org, john.levon@nutanix.com, thanos.makatos@nutanix.com, kfting@nuvoton.com, den@openvz.org, elena.ufimtseva@oracle.com, jag.raman@oracle.com, daniel.barboza@oss.qualcomm.com, philmd@oss.qualcomm.com, pierrick.bouvier@oss.qualcomm.com, phil@philjordan.eu, tangtao1634@phytium.com.cn, chao.liu@processmission.com, jiri@resnulli.us, sam@rfc1149.net, anisa.su@samsung.com, alex@shazbot.org, farosas@suse.de, mohamed@unpredictable.fr, kvm@vger.kernel.org, linux-cxl@vger.kernel.org, alistair.francis@wdc.com, anthony@xenproject.org Resent-From: Markus Armbruster Resent-Date: Sun, 01 Nov 2026 21:13:50 +0100 Resent-Message-ID: <87wlqwz4w1.fsf@pond.sub.org> X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Post: List-Help: List-Subscribe: , Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Resent-To:Resent-From:Resent-Message-ID:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1793564043; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-to: resent-from:resent-message-id:in-reply-to:in-reply-to: references:references; bh=dG6QdUgPpDE3LmNNjTQwdz8vTAxBziYTzulA/MP9vJ8=; b=i7pWjGsL4BiGUHnTjqIz4DcWaxIo7PlE0LWJwgAdJGDun1Juzf8uYCi7M9rtXDo7A48wAi jGT/H7h/TNoRzmoeK0FamZ1wItUul171G5LZGRKHlKbeAZDi3RrQqrtUqty0m4uUcPd/Wt YTXT0jc7j2/JWXo2FirRg4/BN29orbc= X-MC-Unique: zUz3wxw2MFW_-TF18iVIrQ-1 X-Mimecast-MFC-AGG-ID: zUz3wxw2MFW_-TF18iVIrQ_1793564033 From: Markus Armbruster To: =?utf-8?Q?Marc-Andr=C3=A9?= Lureau Cc: qemu-devel@nongnu.org, Markus Armbruster , Michael Roth , John Snow , Peter Maydell , Mauro Carvalho Chehab , Pierrick Bouvier , Paolo Bonzini , Daniel P. =?utf-8?Q?Berrang=C3=A9?= , Kostiantyn Kostiuk , Eric Blake , David Hildenbrand , Igor Mammedov , "Edgar E. Iglesias" , Jason Wang , Marcelo Tosatti , kvm@vger.kernel.org, Alberto Garcia , Kevin Wolf , Hanna Reitz , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Zhao Liu , Jonathan Cameron , Junjie Cao , Anisa Su , Elena Ufimtseva , Jagannathan Raman , John Levon , Thanos Makatos , =?utf-8?Q?C=C3=A9dric?= Le Goater , Cornelia Huck , Eric Farman , Matthew Rosato , Richard Henderson , Ilya Leoshkevich , qemu-block@nongnu.org, linux-cxl@vger.kernel.org, qemu-s390x@nongnu.org, "Michael S. Tsirkin" , Sergio Lopez , qemu-arm@nongnu.org, Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org, Song Gao <17746591750@163.com>, Bibo Mao , Xianglai Li , Jiaxun Yang , Pedro Barbuda , Mohamed Mediouni , Nicholas Piggin , Harsh Prateek Bora , Amit Machhiwal , qemu-ppc@nongnu.org, Zhang Chen , Li Zhijian , Alistair Francis , Alexander Graf , "Gonglei (Arei)" , zhenwei pi , Ani Sinha , Luc Michel , =?utf-8?Q?C=C3=A9dric?= Le Goater , Jamin Lin , Kane Chen , Samuel Tardieu , "Denis V. Lunev" , FangSheng Huang , Tyrone Ting , Hao Wu , Keith Busch , Klaus Jensen , Jesper Devantier , Aditya Gupta , Glenn Miles , Conor Dooley , Sebastian Huber , Halil Pasic , Christian Borntraeger , Jason Herne , Titus Rwantare , Stefano Stabellini , Anthony PERARD , Peter Xu , Chinmay Rath , Hendrik Brueckner , xen-devel@lists.xenproject.org, Roman Bolshakov , Phil Dennis-Jordan , Fam Zheng , Farhan Ali , Alex Williamson , Tao Tang , Stefan Berger , Fabiano Rosas , Mark Cave-Ayland , Artyom Tarasenko , Yoshinori Sato , Jiri Pirko , Eric Auger , Laurent Vivier Subject: Re: [PATCH v7 44/65] hw/nvdimm: convert UUID property to QAPI-aware registration In-Reply-To: <20261020-qom-qapi-v7-44-431a86b02b58@redhat.com> (=?utf-8?Q?=22Marc-Andr=C3=A9?= Lureau"'s message of "Tue, 20 Oct 2026 14:46:01 +0400") References: <20261020-qom-qapi-v7-0-431a86b02b58@redhat.com> <20261020-qom-qapi-v7-44-431a86b02b58@redhat.com> Date: Sun, 01 Nov 2026 18:39:55 +0100 Message-ID: <871p9478no.fsf@pond.sub.org> User-Agent: Gnus/5.13 (Gnus v5.13) X-Archived-By: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.6 on 10.30.177.95 X-Mimecast-MFC-PROC-ID: fRcQlqkfHrErry8Nnrn4-ZJxVXHk7asxQJAr1bI1FpA_1793564033 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-bad1c0/1793564044-BCAC8034-980AA31F/0/0 X-purgate-type: clean X-purgate-size: 3079 X-Spam-Status: No, score=-17.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_PASS, SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 Marc-Andr=C3=A9 Lureau writes: > Add a QemuUUID_type_info and use object_property_add_qapi() instead of > object_property_add() for the nvdimm UUID property. > > The type info is defined manually in uuid.c rather than generated, > since QAPI does not yet support string typedefs. An alternative would > be to extend the QAPI schema language with a 'typedef' construct > (e.g. { 'typedef': 'UUID', 'data': 'str' }), which would let the > generator produce the type info, C typedef, and introspection entry > automatically. > > Alternatively, the exposed type being a string, we could change the > property to be str_type_info. > > Signed-off-by: Markus Armbruster > Signed-off-by: Marc-Andr=C3=A9 Lureau > --- > hw/mem/nvdimm.c | 4 ++-- > include/qemu/uuid.h | 4 ++++ > util/uuid.c | 5 +++++ > 3 files changed, 11 insertions(+), 2 deletions(-) > > diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c > index 123ddc938546..b7ccb5c93678 100644 > --- a/hw/mem/nvdimm.c > +++ b/hw/mem/nvdimm.c > @@ -104,8 +104,8 @@ static void nvdimm_init(Object *obj) > nvdimm_get_label_size, nvdimm_set_label_siz= e, NULL, > NULL); > =20 > - object_property_add(obj, NVDIMM_UUID_PROP, "QemuUUID", nvdimm_get_uu= id, > - nvdimm_set_uuid, NULL, NULL); > + object_property_add_qapi(obj, NVDIMM_UUID_PROP, &QemuUUID_type_info, > + nvdimm_get_uuid, nvdimm_set_uuid, NULL, NUL= L); > } > =20 Let's pass &str_type_info, like the next patch does, because ... > static void nvdimm_finalize(Object *obj) > diff --git a/include/qemu/uuid.h b/include/qemu/uuid.h > index 869f84af09dd..ed0c62327d4d 100644 > --- a/include/qemu/uuid.h > +++ b/include/qemu/uuid.h > @@ -16,6 +16,8 @@ > #ifndef QEMU_UUID_H > #define QEMU_UUID_H > =20 > +#include "qapi/qapi-type-info.h" > + > =20 > /* Version 4 UUID (pseudo random numbers), RFC4122 4.4. */ > =20 > @@ -99,4 +101,6 @@ QemuUUID qemu_uuid_bswap(QemuUUID uuid); > =20 > uint32_t qemu_uuid_hash(const void *uuid); > =20 > +extern const QAPITypeInfo QemuUUID_type_info; > + > #endif > diff --git a/util/uuid.c b/util/uuid.c > index 234619dd5e69..363a03051aba 100644 > --- a/util/uuid.c > +++ b/util/uuid.c > @@ -17,6 +17,11 @@ > #include "qemu/uuid.h" > #include "qemu/bswap.h" > =20 > +const QAPITypeInfo QemuUUID_type_info =3D { > + .name =3D "QemuUUID", > + .masked_name =3D "str", > +}; > + ... the only difference to str_type_info is @name. In v7, @name is used as value of ObjectPropertyInfo / ObjectPropertyValue member @type. Your manual QAPITypeInfo lets you preserve the value of @type. It isn't used that way v8 (which I'll post real soon now). It preserves @type values differently. The problem discussed in the commit message doesn't exist then, so I'll cut it some. > void qemu_uuid_generate(QemuUUID *uuid) > { > int i;