From nobody Sun Feb 8 20:26:06 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1765297825; cv=none; d=zohomail.com; s=zohoarc; b=aT/uZ0sYfyQddCToweDEaBfu5d4ova9ZDDDpkYurF8c8eUEPbciz3M2xhEQ34hgYYDHIICTD7z+RE5m56jMz7JqFLA3kWgzr0DzPeTZQQrfwMMyXcOC02LD/vCvV03MZx86aKd+wINrFLrCDF5JW7A+8M4ihbesAL4iE6dWHlUI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765297825; 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=KJaYaFltwSQdIY80FzVnQT3/OB3Zazi46H3jIifn4cI=; b=Eqb6FSEdX6CKKwvNfJ7+ZvWWBsAdDX1Dj4B5Ae0+nucB2a0x7gTiSCzYXsdfxA/XT6h5aouEWXBpWtHtLD3qF2wFqGUjH+dnszSOgegs9BWD7V8RUe1hjYdPpZLLaOgESyR+vewO509wzhZRMkQuSQjsuxsRzNwy2JSUlUCLzZQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765297825561464.31277728212945; Tue, 9 Dec 2025 08:30:25 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vT0b6-0006fh-Md; Tue, 09 Dec 2025 11:29: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 1vT0aP-0006Ee-0R for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:14 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vT0aM-0001wf-Cl for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:12 -0500 Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-385-S2XDPmbyMGa1n6fYQF_meA-1; Tue, 09 Dec 2025 11:29:03 -0500 Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8b8738fb141so514378985a.0 for ; Tue, 09 Dec 2025 08:29:03 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88827f334d8sm131110256d6.10.2025.12.09.08.29.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 08:29:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1765297744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=KJaYaFltwSQdIY80FzVnQT3/OB3Zazi46H3jIifn4cI=; b=jDU85HOpjPQ0wrfHAJEaIOOr4/kGl5BdleZMVlHHpqBEPwvh5QW9L1iy0DdI2ZPL/TNkDL GoQt9OBdijIBM0o30z97G7Zb8YTx7husBrkqaojGAIy3bLzb8dVSTtZuydcUsxnNa7njpT I5eVkkdAfzkgSGBiMZ+GEuys7JLAU0w= X-MC-Unique: S2XDPmbyMGa1n6fYQF_meA-1 X-Mimecast-MFC-AGG-ID: S2XDPmbyMGa1n6fYQF_meA_1765297743 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1765297742; x=1765902542; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KJaYaFltwSQdIY80FzVnQT3/OB3Zazi46H3jIifn4cI=; b=NAJBIunMnlNVySw86PeVmSeWoFGnmNiTYUoVPQgBZkzr8gl9FdVsYdLlUteoljoktR EaQM/vLwN6/mc5m42EycGzCGi+Qcxaysw2lW7ibz5AC67ONvXObbrYucRPijggPPu7cN 1CCZfVMW72aCgqTxgqQS/3SFmeLrXhwd+MD9osVeePmJPfg4erltUWTeH0WpHHWilfua +L1JgzwPkOoBEH5WY1hrhEFdYuNfvTEmr2sIs+QCjiXRhdZhcDWh+emxo/KZcAPTM2p/ 5K+hiVUQaCV6mTcs1slPE56WW9ixXdw+HmYfB5vMwv+CeOsRThYiL+5jpAUc5JNMTwbc rMvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765297742; x=1765902542; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=KJaYaFltwSQdIY80FzVnQT3/OB3Zazi46H3jIifn4cI=; b=rzFFrH+AkrPM96W9Z79oiTKQz0zxGkH4DUWK9tEo7fUy4cPFnsLFD+OV0nPMkm52QA W9ncRH1ut4NuXulu+h0spvdRGrf7XAcR40ACKiliwkiZSVVGzd8M8PqyKeSf8Y9xDCrj NPQ0/cDUAi4R7gFSS42b6MP2JcRmvK8AtQQGCzmSngpQgE5JZnVteido9CLIvhgP/B/J lssH8svcj156x62VR06npcgoyzpff0yNLHQc4nEmeFteba4XYVMaHhjWvYTPZTQLLhSp PR0U35sDtpEkdr6dhZwlFQs2ZAOCm6It4+P1MftMNZi6v78NY7T5XYG32yza70MImkR4 faIw== X-Gm-Message-State: AOJu0Yx7GE7VsjC1bcFb+Jv0m+PyZvTBMg9iZnCPuySeOolxO8Skdi9H PIezg5Ww85Un8EBX44k3Y2orL5Dowhd4O0Dxkw/E4HomCHigDjttfTQlZ6t318j1y5Puzc9dTHi U6EdAkCuIsSWqLIXBnTfbck/6/xd6UEP7sm0cJtj27+/8esORR2qFxZCsx0mY+oG+5nwVi+B375 JTzT5UarGK20FHLjzN80iJYLlvQyIZFwPKYjZJ6Q== X-Gm-Gg: ASbGncu8Mp5SK2I4NUvZUCpdcnwd6dMG81Xr3nddFmwxOeatt2o5o1GRb/fpQdrsTzZ FUx7tq0cR96C5MdywvxW6CPDfbmXGZbzRq2V3nTjwvXUUP/TTEh5CVXNwP/7fYNl79uvqPiVLa5 3d6eoW2Q22oaSS32+Dutwkfosp9L4go1opmlrii8dozOZMtpX71Crwhe6oHeTkmAQ8jxfQSma28 5QsN6/E+a8C7jfE0XU5VqqSZZhgPvDCFuWN9f8vOKxGAtGdRgd8hty+7cYqHUOGJQmg6MlZLZ+t N4r/5hKHTnv6OiVvJP/nZ7zy53dDCps8Y4AV5NOrfPRdjGCNwM2DaaCwgg8aLDuvYODCX6JKCDo aoEo= X-Received: by 2002:a05:620a:942:b0:8b9:fcc6:6473 with SMTP id af79cd13be357-8b9fcc66fbamr168243885a.33.1765297742476; Tue, 09 Dec 2025 08:29:02 -0800 (PST) X-Google-Smtp-Source: AGHT+IGuymeKwjwKhSW+kL4yXQNHaFnT91M8L+XPc401fRlqcbsaM75YorIVzbszh+kkysJISl4amQ== X-Received: by 2002:a05:620a:942:b0:8b9:fcc6:6473 with SMTP id af79cd13be357-8b9fcc66fbamr168237485a.33.1765297741757; Tue, 09 Dec 2025 08:29:01 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: "Dr . David Alan Gilbert" , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Jason Wang , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , Paolo Bonzini , Laurent Vivier , "Michael S . Tsirkin" , Peter Maydell , Alexandr Moshkov , Vladimir Sementsov-Ogievskiy , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , Kevin Wolf , Markus Armbruster , Richard Henderson , peterx@redhat.com, Juraj Marcin , Stefan Hajnoczi , Akihiko Odaki , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eric Blake Subject: [PATCH RFC 01/10] qom: Introduce object-compat Date: Tue, 9 Dec 2025 11:28:48 -0500 Message-ID: <20251209162857.857593-2-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251209162857.857593-1-peterx@redhat.com> References: <20251209162857.857593-1-peterx@redhat.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=170.10.129.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1765297827558158500 Content-Type: text/plain; charset="utf-8" QEMU provides machine compat properties so that old machine types can define device properties, which will be compatible with old QEMU binaris. This is the core of how QEMU manages VM ABI across migrations between different versions of QEMUs. It used to almost only work for qdev, which was almost enough. There were already outliers showed up: - do_configure_accelerator() - host_memory_backend_post_init() - sev_guest_instance_init() They all invoke object_apply_compat_props() explicitly, because they want to benefit from the machine compat properties too, just like normal qdevs. However they're not qdev, hence they need explicit code to support it. MigrationState object is another example that wants to use similar feature of qdev. That was previously done by making TYPE_MIGRATION inherit TYPE_DEVICE. See comments for migration_type. That's working but weird, e.g. people may question what "-device migration" means.. Nowadays, there're more demands of that, e.g., what if we want to allow compat properties to be applied to device backends ([1,2])? Maybe it's time to think about extending the compat properties to a root class so that more objects can inherit. This patch introduces object-compat, which is almost object except that it also allows apply machine compat properties on top. Then any object that is not qdev but wants to benefit from machine compat properties can opt-in. [1] https://lore.kernel.org/r/20251030203116.870742-1-vsementsov@yandex-tea= m.ru [2] https://lore.kernel.org/r/d986f0ac-a0ae-44f6-b7a5-e002b7d3226e@yandex-t= eam.ru Signed-off-by: Peter Xu --- include/qom/object.h | 1 + qom/object.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/include/qom/object.h b/include/qom/object.h index 26df6137b9..e5b3116ad5 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -26,6 +26,7 @@ typedef struct InterfaceClass InterfaceClass; typedef struct InterfaceInfo InterfaceInfo; =20 #define TYPE_OBJECT "object" +#define TYPE_OBJECT_COMPAT "object-compat" #define TYPE_CONTAINER "container" =20 typedef struct ObjectProperty ObjectProperty; diff --git a/qom/object.c b/qom/object.c index 4f32c1aba7..581c041b08 100644 --- a/qom/object.c +++ b/qom/object.c @@ -2893,6 +2893,11 @@ void object_class_property_set_description(ObjectCla= ss *klass, op->description =3D g_strdup(description); } =20 +static void object_compat_post_init(Object *obj) +{ + object_apply_compat_props(obj); +} + static void object_class_init(ObjectClass *klass, const void *data) { object_class_property_add_str(klass, "type", object_get_type, @@ -2914,8 +2919,17 @@ static void register_types(void) .abstract =3D true, }; =20 + static const TypeInfo object_compat_info =3D { + .parent =3D TYPE_OBJECT, + .name =3D TYPE_OBJECT_COMPAT, + .instance_size =3D sizeof(Object), + .instance_post_init =3D object_compat_post_init, + .abstract =3D true, + }; + type_interface =3D type_register_internal(&interface_info); type_register_internal(&object_info); + type_register_internal(&object_compat_info); } =20 type_init(register_types) --=20 2.50.1 From nobody Sun Feb 8 20:26:06 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1765297837; cv=none; d=zohomail.com; s=zohoarc; b=l9nx2u/AMvFxwYSKqjkDtDs6HaOEUztD/5oKGcqQRiPBS9JndvkoahRxaIPkfT+KaUtcr4RQE96ldPw5FvshIDEaLbOZXAXiwx8XRyi9psSPAyELjuFebX6ZBT2OqGjWQS7GEYzKCfq5/F4kFr1nX6OHfoeXAT6Jfhc6a9hSVjc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765297837; 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=xIQ143FbwuvcuWa9O2RT8KNnC8vD3kmyJI+eFT9f6MY=; b=k9ARkMYAa9bRSo1Owx8DvOpArjjnChicYV/kWlu3/iVKJIohlYSOpvhtkQTZJ6hSYjPRtNpOGYp3jqfNAGg5lr5OD7Byv0LFNx2udRJF215EhGUwaDQWmo1VYC98uwpfkWR0AfcSMCjeWvJ6vFh3oOxJMvdoAkB5tRXoZ/hAADs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765297837348455.02020262338726; Tue, 9 Dec 2025 08:30:37 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vT0ak-0006Q3-70; Tue, 09 Dec 2025 11:29:42 -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 1vT0aO-0006CN-Rf for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:14 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vT0aM-0001x4-DW for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:12 -0500 Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-70-M-hdzgjEP3aISRVi3E5mKQ-1; Tue, 09 Dec 2025 11:29:05 -0500 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-8823a371984so78086756d6.1 for ; Tue, 09 Dec 2025 08:29:05 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88827f334d8sm131110256d6.10.2025.12.09.08.29.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 08:29:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1765297746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xIQ143FbwuvcuWa9O2RT8KNnC8vD3kmyJI+eFT9f6MY=; b=VPM8WMeR+TnCI6X7D1hOiPvMEVQxeARGDxVn91VIwsAPWEQX11x3KcDk81EPiSR2KyDe0P QbQpFUddWvnznZItisMzwiebpvrpqGVZDAKS8PCgYJ4DvR3zIXd2V4n3Wlbuv0YXb1PID/ l2KrWA0x+a8n72DfIvUW35kdWz0l6bw= X-MC-Unique: M-hdzgjEP3aISRVi3E5mKQ-1 X-Mimecast-MFC-AGG-ID: M-hdzgjEP3aISRVi3E5mKQ_1765297745 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1765297744; x=1765902544; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xIQ143FbwuvcuWa9O2RT8KNnC8vD3kmyJI+eFT9f6MY=; b=Q++fCxft5WV/445Y89SNgIKCF65nD5pjQ8YhYLRzjdY6Q1+2XyO1ueKUzGHPqDNtjc avinT7MSKkLIfhub+FDu5iYZoAZUOKuZtlucyAuonCq2yySnrtdLvm2Sf9B50gFv+Orv SJl35vsqvaCNepoa+50+ZGMbnKTHN5ES9FelIP8nJcEmKv0PDoK6nX6kE/f1gGRWWmyx nmu/urCZB8a4EKC5xsPZyoXXxA46TxdQsYXR1OPF9zSZFwd+InzbEXYc5z1jIHOG7Z7E Jj0UyLdMskK0OiojuBi8+UmIqugknZgvLB4O/ZzxROH/4DjsoQyUBP/0gSjKeC2G33iz ld2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765297744; x=1765902544; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=xIQ143FbwuvcuWa9O2RT8KNnC8vD3kmyJI+eFT9f6MY=; b=T5PwSSAQgXhA6ydOuewdXyW1y2GLkqNJldcCohES2OKIV7voHBx09clznEe7SquH+e 1bWp3x/IpL3I+PGe+kkPmT8NEfWiPM6UCuZ3hEGGUEdN8v+kqG6tIE0L1TcwU9wHsZRr rNlmWk6E25Arfzz1Cd/Uyec39PZphq4agTQY0MAV801f0lG4KfDEL5H89m1/+d1WcxZ8 ZhdRQd2nUSc0ASfo16Y+lE0R7PFAi2QuIDM3jvtcuZYKYHmA8U6++v1wNY1q6fJnQ6wa gnNyxWL7MrihKjj/gZVY9NhXMDzQC4ZuTMVJfj7gsyUfPK4YSSU1ECT/PnF0PQ2u8ABB KG2A== X-Gm-Message-State: AOJu0YyBd6gn7jP8iMinNbT4R4g+0QScbjNuu7/V52SShPAj0B4mP73L GRzfVPOeOndPM3GL5caPaxZ58FJPiVA1bblUgSf4CIUPrb+EWOqLS+I5qAJmjK3w8QsPvidbydq pgspWM1TbpO24Gpf49EawfZo7jr47EUHx91bxaz9fIHhUSd3ZEkvR3fEOFoE7doTM0OHF4hmHUT jgKTJDqyULKnjgNMERKVgqedhaO8zM3AU0Rc/IjA== X-Gm-Gg: AY/fxX6+QDKvSYMpgkf5YyDTzDFY7rK3+qlwW7EKZlR016U52RleWhDyVoHKDvZU27f LOqFPy0vznotvGPtibyBrx16TvlyudS0WoT+hRrDGwCsc9uEcEFPJT9heIHkNMlS+GiSBH+nywn rA5Mibxpt1COr+XffvFW/iCKVM15OsKiXYWayBvFjTTiXz6TAeYkXN7n14LvASxu2cuHIecvBod wWYSFJ3w2eaU1jE86vnYbLhDzgfVCDRb2fG75dU6To4QVwnnqjmZTbcaq2cIYLYGHHKsnmSnAjE VkliQNvYQP8G4XQUPWURuM6xUzpXA1RhB91CQ5sjh6jdKwcBRY0FeWdmv1P9zWkM8dJApj7linH Nxec= X-Received: by 2002:a05:6214:4119:b0:880:4f33:4666 with SMTP id 6a1803df08f44-8883dae5d00mr172820876d6.20.1765297744302; Tue, 09 Dec 2025 08:29:04 -0800 (PST) X-Google-Smtp-Source: AGHT+IFyDoiyuziqrhqSQ8H6pE/cr/EpFgrlaMjzgafAwPjBOpswpL5xTKmO34VP7kqVT7F+Lg69LQ== X-Received: by 2002:a05:6214:4119:b0:880:4f33:4666 with SMTP id 6a1803df08f44-8883dae5d00mr172820056d6.20.1765297743660; Tue, 09 Dec 2025 08:29:03 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: "Dr . David Alan Gilbert" , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Jason Wang , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , Paolo Bonzini , Laurent Vivier , "Michael S . Tsirkin" , Peter Maydell , Alexandr Moshkov , Vladimir Sementsov-Ogievskiy , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , Kevin Wolf , Markus Armbruster , Richard Henderson , peterx@redhat.com, Juraj Marcin , Stefan Hajnoczi , Akihiko Odaki , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eric Blake Subject: [PATCH RFC 02/10] qdev: Inherit from TYPE_OBJECT_COMPAT Date: Tue, 9 Dec 2025 11:28:49 -0500 Message-ID: <20251209162857.857593-3-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251209162857.857593-1-peterx@redhat.com> References: <20251209162857.857593-1-peterx@redhat.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=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1765297839031158500 Content-Type: text/plain; charset="utf-8" Make qdev inherit from TYPE_OBJECT_COMPAT, so it's own instance_post_init() only needs to apply the global properties instead. Order kept because we run post hooks in parents then children. Signed-off-by: Peter Xu --- hw/core/qdev.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/core/qdev.c b/hw/core/qdev.c index fab42a7270..49504ff05a 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -683,9 +683,9 @@ static void device_post_init(Object *obj) { /* * Note: ordered so that the user's global properties take - * precedence. + * precedence over compat properties. Compat-properties will be + * applied first in the parent class (TYPE_OBJECT_COMPAT). */ - object_apply_compat_props(obj); qdev_prop_set_globals(DEVICE(obj)); } =20 @@ -890,7 +890,7 @@ void phase_advance(MachineInitPhase phase) =20 static const TypeInfo device_type_info =3D { .name =3D TYPE_DEVICE, - .parent =3D TYPE_OBJECT, + .parent =3D TYPE_OBJECT_COMPAT, .instance_size =3D sizeof(DeviceState), .instance_init =3D device_initfn, .instance_post_init =3D device_post_init, --=20 2.50.1 From nobody Sun Feb 8 20:26:06 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1765297806; cv=none; d=zohomail.com; s=zohoarc; b=YlNzME4PLBcY4R50f+9MO4rPQuIh5WGLgQ81wRUENGdNH/2ts6k1cISFpJetOnI4xtgfqWDuxoQSu4uHDyDqzpH9iC5vJqgldaF9B2ieEmYpYNw7lPTMghoJvJ3xRSmU+vT0XmWm9T6L4ta9RtAZvi86ZhLhyDXnhEcuOc/mXIM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765297806; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=f5K4Pm58XCjytFwEd9ICCFtDazJ6XnysRJmaILchveM=; b=hBMYsQXtGbj2iNUcpd5tmA+j18AQxVOBs76i1iPv5YiOX6YAN5w0qrgHImTF6wDENgHyUntVssWlNzq4LV0MaJheB1QXNCVHWj1FbEpZVPA0Q2YHw3ngid6alQHHURNv6vKDhRsLn6UCjjfvR6juKb60b/ABOIF8uPiueHPxz1A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765297806099377.2121674001297; Tue, 9 Dec 2025 08:30:06 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vT0af-0006Iq-KH; Tue, 09 Dec 2025 11:29:30 -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 1vT0aP-0006Ef-1T for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:14 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vT0aM-0001xL-DN for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:12 -0500 Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-508-O06yB70uNgGe2ex13fYyFQ-1; Tue, 09 Dec 2025 11:29:07 -0500 Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-8883eb7f09bso80254996d6.0 for ; Tue, 09 Dec 2025 08:29:07 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88827f334d8sm131110256d6.10.2025.12.09.08.29.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 08:29:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1765297748; 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: in-reply-to:in-reply-to:references:references; bh=f5K4Pm58XCjytFwEd9ICCFtDazJ6XnysRJmaILchveM=; b=WqqDFnIcw3+/7qaHSXbOWXSjuxu0Jc5Fz5W3kkcXjVnbi9oP6UYiL/yCzI8wu6/X6yZKrC cBXAXaSZCwW8G1AnK98+IeCKKAa/gGF9RvZVZnc6kJuj3DUpn9nEd26qDu7uG7JzI0four OiVpTt2q02JAS5ESu/cIUo+iIJ3HtzA= X-MC-Unique: O06yB70uNgGe2ex13fYyFQ-1 X-Mimecast-MFC-AGG-ID: O06yB70uNgGe2ex13fYyFQ_1765297746 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1765297746; x=1765902546; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=f5K4Pm58XCjytFwEd9ICCFtDazJ6XnysRJmaILchveM=; b=n3weem2bv3osxfIAkTieuLvSjtMrYJSumlV9xDjinhpa94lFNutImcwCgrLFMMTHW3 OarZXjIugmKRDU6TWmJUjW01X5e4pFqXkcJjJbZQhCfevYDQn/05F1MLETCCXZztS1D8 E57I4h+Fda7UfI1OXAqCBeAJ+Sp2mF4oOLWXNjoj1pNWSSguln/G9uWEhQ7v3BBcwwJR 7e7s0fGEn8t7u5kGhs291/z3i2CCZ0wUHYmo+EDp2SuaYw3PN4+sjTNyiTsmfWrZkOA/ jqM0ydHEJ0CokxeQpYrueUWmISRHrAj5RctuFwKFh8EyeAS8SLOhZn/q6Fg11ihGKAWX AdFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765297746; x=1765902546; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=f5K4Pm58XCjytFwEd9ICCFtDazJ6XnysRJmaILchveM=; b=OkezNTslbTL7kDccbpQEs51Rx44vTr+VxGpVgAHy2JaJsBTzsfe+Y+/y/9RDSjFK57 6Qj2Gm4Frd5C7DncYpiGcYWsFOLBju4fHrq8D0spwZyqFOro42YZs2Fp8TrLZDL2XbiE lEh3wBuGn3Po+KJfqgUneklwC/HnDeB5h9Prkpqy/t285Suprf1DyqSRliupIK4FlcHJ jdPJMJF6VqmmXrS5BpsRJdRKqiQ0GMma7LaSs11LTNpL2BQDbPMFjsIwp/hR84xxR3mc goMFl9hV2zjchOaO5K6xZSEnlgxuTwgwJRfidarJgnmKk5kuhQMl7EH3jxF8XodRy222 9SqA== X-Gm-Message-State: AOJu0Yx6J9+ajL808nbdpTfi6pcocL9SY16cGBmloYAXbPYWqvzeQZLK BkeKttFPo+E41oK+2ncn8Lq6VoRTspJWxuTzUEsUqGjt3DNqKDteaMxet4bkW8KyRL9I4yM1Kup lb0CAEXbmmc8lJy0Khvszzkh0Hj1s5wZzJzbtJda3+tNjO7FFM7P7ZSk0xig9zirf9B5vp5mdgu 4SHz7iJ7iVRwTGgmjeS+caDLDLnp62B7aTQPQZDA== X-Gm-Gg: AY/fxX4tkAa5cgBC7J/W8k+z3IbmyHowMDuH0wlZ/4Rz74q1UFEZbeQr4KHZj0J7Opx wal8MopHCLIXliDnxc1rXNSfTatg8w8NJRxPJ8YY7mgouqI9XjCBkPPpGs464jZNbJv7cY/vspX E1E7bNTYqUVlD9lws6lqQfs28HN55pbZIssOs27EFnQbm6BxsJWdQcSt1RGyLIxgLR3aDVMlmiV ZxjHLHbGX2cR8iVwrdk+rg2g9Pz58xVKeeSWvDLuJfQFcu2mE/TlEZ8KcfO2x1sgI6GxANya1du pf8zehWw4DZVu3a/9dSzxDKJCwAUBiheP7nhv9h7Wd1NtZ82NzZJZ9ldd8Z+3oLwzZ0KT6teZEa LQ1g= X-Received: by 2002:a05:6214:ca1:b0:87c:2213:ed28 with SMTP id 6a1803df08f44-8883db2a2e3mr197416726d6.27.1765297746063; Tue, 09 Dec 2025 08:29:06 -0800 (PST) X-Google-Smtp-Source: AGHT+IEdtDbp6zIJ+G6x5uKm53ln1TlxFBHJK8Df8jRMd62nhsFJnGmZFhS1qx0XY39NNdHBYsIbTg== X-Received: by 2002:a05:6214:ca1:b0:87c:2213:ed28 with SMTP id 6a1803df08f44-8883db2a2e3mr197415916d6.27.1765297745459; Tue, 09 Dec 2025 08:29:05 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: "Dr . David Alan Gilbert" , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Jason Wang , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , Paolo Bonzini , Laurent Vivier , "Michael S . Tsirkin" , Peter Maydell , Alexandr Moshkov , Vladimir Sementsov-Ogievskiy , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , Kevin Wolf , Markus Armbruster , Richard Henderson , peterx@redhat.com, Juraj Marcin , Stefan Hajnoczi , Akihiko Odaki , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eric Blake , David Hildenbrand , Igor Mammedov Subject: [PATCH RFC 03/10] hostmem: Inherit from TYPE_OBJECT_COMPAT Date: Tue, 9 Dec 2025 11:28:50 -0500 Message-ID: <20251209162857.857593-4-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251209162857.857593-1-peterx@redhat.com> References: <20251209162857.857593-1-peterx@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1765297807411158500 With that, now it can drop its own post_init hook. Cc: Marc-Andr=C3=A9 Lureau Cc: David Hildenbrand Cc: Igor Mammedov Signed-off-by: Peter Xu --- backends/hostmem.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/backends/hostmem.c b/backends/hostmem.c index 35734d6f4d..7d726bfb49 100644 --- a/backends/hostmem.c +++ b/backends/hostmem.c @@ -293,11 +293,6 @@ static void host_memory_backend_init(Object *obj) backend->prealloc_threads =3D machine->smp.cpus; } =20 -static void host_memory_backend_post_init(Object *obj) -{ - object_apply_compat_props(obj); -} - bool host_memory_backend_mr_inited(HostMemoryBackend *backend) { /* @@ -579,13 +574,12 @@ host_memory_backend_class_init(ObjectClass *oc, const= void *data) =20 static const TypeInfo host_memory_backend_info =3D { .name =3D TYPE_MEMORY_BACKEND, - .parent =3D TYPE_OBJECT, + .parent =3D TYPE_OBJECT_COMPAT, .abstract =3D true, .class_size =3D sizeof(HostMemoryBackendClass), .class_init =3D host_memory_backend_class_init, .instance_size =3D sizeof(HostMemoryBackend), .instance_init =3D host_memory_backend_init, - .instance_post_init =3D host_memory_backend_post_init, .interfaces =3D (const InterfaceInfo[]) { { TYPE_USER_CREATABLE }, { } --=20 2.50.1 From nobody Sun Feb 8 20:26:06 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1765297842; cv=none; d=zohomail.com; s=zohoarc; b=c8QTo6k1VRytI/OlUBFfuaHSQtt0+MfRAbhDwgjvoiHnnDTd6I2xUCfYRR/HPYGv09QXmwA6ivvmZiElPJbPxlcrz64MDpdJC2ur5bEmTJUjAN36c5af3EH4h437rIYfHO+UJtdBG8msxCkTtLgrRsnOdDHmjUw/WNpZM+oqDTY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765297842; 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=VanT2WE+ursr7xSZ+Eyjo7XPa3JsB+zXfwgcoUfeiZg=; b=nI/LN3LHhB5GMbMohtvYam3FpjIZvtSIaYywP35oWCxDBjLv79py70wLJC7Z8OUS8sFYvhU3NvZYxJ8IYruAFDgpHROVBgeD0ZuQJMarPQczHHfMqhnHyq7HBsIhcbQ4niGm9L3xfhtBqBQy+Ff6FMt8/7BRcm7VjOPLQo6Cr64= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765297842129184.35054653843508; Tue, 9 Dec 2025 08:30:42 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vT0bk-0007ca-1o; Tue, 09 Dec 2025 11:30:36 -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 1vT0aU-0006HV-17 for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:20 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vT0aO-0001xV-8L for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:13 -0500 Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-572-vvaUjIVxP7K1MiaR24JMWA-1; Tue, 09 Dec 2025 11:29:08 -0500 Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8b17194d321so667683585a.0 for ; Tue, 09 Dec 2025 08:29:08 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88827f334d8sm131110256d6.10.2025.12.09.08.29.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 08:29:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1765297749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VanT2WE+ursr7xSZ+Eyjo7XPa3JsB+zXfwgcoUfeiZg=; b=PNND0n+CcdFN1Fnjr5p5QKbRycN6WmC4/AVPVkB89hLcMvtasRID5TMh2dWIa0wwqH//9B wA5dJxFIH0YGoOENd3eGyvrDPRP4aTIZteVO6mdxyVSRaF8qkGgnQTlbCD+rSWzCNUF/pT ndNx8I8F3U3UmqLFji5W4hH6hgyoqMo= X-MC-Unique: vvaUjIVxP7K1MiaR24JMWA-1 X-Mimecast-MFC-AGG-ID: vvaUjIVxP7K1MiaR24JMWA_1765297748 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1765297748; x=1765902548; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=VanT2WE+ursr7xSZ+Eyjo7XPa3JsB+zXfwgcoUfeiZg=; b=TOOgyew0Bc+VUGYGdKLDJ0ESJtsVpgAXAZhJN2iKWr9F6TZaFqLuRg8U0k29K1VWEd MWEaBxsradLimURMhhf1AcU9iwpGEfDSesVVJvLuOGGUtJmSl6wdETsbvsMC6folY/Me o+z9ZdcEtCX7f8TxPcsdOppy06k4yD7QTkiD6F1jhIgo/Vdmzcl4HLr128hbPen6ULjj bTeSPsDYKW6lTd5L8JSwu/hZNgYqwPDjUJIu8UUCg3pr16z/TpG8YZ9R2kuqHx9YYqEe 7lEpmb2RgXdVdvxM+tidD8azwVtYYb0dDjebempJLpUN9j8Uv3oPWymOOUm87Wj84LHJ PbOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765297748; x=1765902548; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=VanT2WE+ursr7xSZ+Eyjo7XPa3JsB+zXfwgcoUfeiZg=; b=BkCqV/P2JgTd//pNYSAZ0RdzurDlaRQSe/lHTO4Qd2I9oaTwDLliZno6X4C2xaxiqz xHLZqaFxc3eWjI3m/3zL26LVqLnolo9WSF02q92KUxZQod2UMGUSAovT/6k02G1iFSyY O5x1zKw0FMgsNxi8D9IStE4+9exLo3nwyEudtQyOn89st+0NiKj+QrBM/WyOui0VvGQG wADH5XXHMgopN6S8OUPAzUYqhjcjoE/lc8mbdv7TysL4hRdN7SdHwy+L8soSzi0wuO3A rZ8mya2Z0+Ql+9OB/VlZGbfbUO+JC2b3Vfw5pJWp4JmddI/nAXbFODp3zC1gRK2mHGwH 0Liw== X-Gm-Message-State: AOJu0Yx05kB/0hvHlWLQtAC9e3yvyvSgSL6yIe/iS5EzY5kfWyQElnnV xDwzoNt7svGBXywGqJK7cmn/KA1cC5ypv/roF/dwZJuYEp+C/X256YKzd+mz9MpRFEyAvYaDDx0 PI/UrI/mEGmYXvv2lXTSjvLL/PxwgJByxqDIG2IbcrvOXxz2q6KXmMH2OCa8MAx97pB0v5NgeHf qO5KzIUTMBYrP/G/lPDrXBk5VWsYTIvN4gE3JLNQ== X-Gm-Gg: AY/fxX4VDaLePi+KfQkRjjwRWqrdUDVI0v6TU2Ykcpa2D2I2WxVu20xpzJ+pEdIFr9u a/TnuFaygUlBpSakG38/SX5vgTN3oeCDHSQUFM8cL8G+jIbb0Smzg2qnnpT8/jSJpCdlluAP3mh WPrFIBSIXwvHxJP+P3CFDUPx6sg79+g60AODENPKe/C9n3LKDW++gNmYe2rtXHtWDJ4O7M7JHEp Bew1D1TtcwuoyHRvZRn9fzw9GUjDWdQlxcFs2pi/c787vVOd690eG+UvTNHOhtl7Cg57GO4eEFZ WjNvYq9aR5dvR6obYL7MUJZo/0mXHVKFyY6nNDelVVGOtms+GWgOoeygfxOiEqcm4T2AjgeUcDN AX3c= X-Received: by 2002:a05:6214:590c:b0:880:4c73:9e3b with SMTP id 6a1803df08f44-8883db086a7mr178387336d6.15.1765297747893; Tue, 09 Dec 2025 08:29:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IHyxH7vWD+j8O/RuCo97N8G9CphIRtFeRLPH66EqPO31aN6mODeEEsRjk4OJ9yKKhrvlNiXbQ== X-Received: by 2002:a05:6214:590c:b0:880:4c73:9e3b with SMTP id 6a1803df08f44-8883db086a7mr178386506d6.15.1765297747176; Tue, 09 Dec 2025 08:29:07 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: "Dr . David Alan Gilbert" , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Jason Wang , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , Paolo Bonzini , Laurent Vivier , "Michael S . Tsirkin" , Peter Maydell , Alexandr Moshkov , Vladimir Sementsov-Ogievskiy , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , Kevin Wolf , Markus Armbruster , Richard Henderson , peterx@redhat.com, Juraj Marcin , Stefan Hajnoczi , Akihiko Odaki , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eric Blake Subject: [PATCH RFC 04/10] accel: Inherit from TYPE_OBJECT_COMPAT Date: Tue, 9 Dec 2025 11:28:51 -0500 Message-ID: <20251209162857.857593-5-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251209162857.857593-1-peterx@redhat.com> References: <20251209162857.857593-1-peterx@redhat.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=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1765297843018158500 Content-Type: text/plain; charset="utf-8" With it, remove the explicit call to apply compat properties. Cc: Paolo Bonzini Signed-off-by: Peter Xu --- accel/accel-common.c | 2 +- system/vl.c | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/accel/accel-common.c b/accel/accel-common.c index 850c5ab4b8..b08eba35cd 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -134,7 +134,7 @@ int accel_supported_gdbstub_sstep_flags(void) static const TypeInfo accel_types[] =3D { { .name =3D TYPE_ACCEL, - .parent =3D TYPE_OBJECT, + .parent =3D TYPE_OBJECT_COMPAT, .class_size =3D sizeof(AccelClass), .instance_size =3D sizeof(AccelState), .abstract =3D true, diff --git a/system/vl.c b/system/vl.c index 5091fe52d9..a93201ef53 100644 --- a/system/vl.c +++ b/system/vl.c @@ -2404,7 +2404,6 @@ static int do_configure_accelerator(void *opaque, Qem= uOpts *opts, Error **errp) goto bad; } accel =3D ACCEL(object_new_with_class(OBJECT_CLASS(ac))); - object_apply_compat_props(OBJECT(accel)); qemu_opt_foreach(opts, accelerator_set_property, accel, &error_fatal); --=20 2.50.1 From nobody Sun Feb 8 20:26:06 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1765297879; cv=none; d=zohomail.com; s=zohoarc; b=PH/CCGq9mPiXC0ANREh7rH69wu6sKP+wGXxfZ0xFT4aR95z8e33JCwmN5+cQVy1CjDtpktneyiU53lBX7vTgDHBwfvccS50JzGMB0hamfSoaRR0L8foyopFmftYOEgxf6YPSdBDLCguXjARBrCSCaxpTLf6V/IEr26JVXc5/wEA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765297879; 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=iJvrixXAQ7k8N9GTxkVJ0KMkCFWfL/ghfDmftEF0pz4=; b=SRi0LoomRTOVaFtWnnjsOTeuTM61XN5FIhaEtZBLbBtHkrxuuksA3QdbSCEPs6BvSQF3jmZEph+aApBmp7qvLz9cp8JWwiYa7C7ejUfMYDQWtAVUN+qBqbqd0vCaafqy5zZ6MSZu2oRijasB2jG6L7MS4LiJrpu+++TrREreMKk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765297879816481.6217863004423; Tue, 9 Dec 2025 08:31:19 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vT0bn-00081Z-44; Tue, 09 Dec 2025 11:30:39 -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 1vT0aW-0006I7-RK for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:22 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vT0aV-00023A-9g for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:20 -0500 Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-513-jV0lkk8BNDu5-bwpsVmmjQ-1; Tue, 09 Dec 2025 11:29:11 -0500 Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-8823a371984so78088066d6.1 for ; Tue, 09 Dec 2025 08:29:10 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88827f334d8sm131110256d6.10.2025.12.09.08.29.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 08:29:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1765297757; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=iJvrixXAQ7k8N9GTxkVJ0KMkCFWfL/ghfDmftEF0pz4=; b=PaNmpJr4+a+7GJU6QjAOa0RzNgDbQkvwhd2PU9SOebSYdVZdRG84/SdO/6dIwI48k5coAR vqJSuNzLpccpUtwN3EB/fFHzZ4GjgzsHIszo1/GISz7BIQz7cKD8L8k2IRBRY1rgHbJ7cs ngYMNndACzMVbjghzl/CqVk0IIOnyFA= X-MC-Unique: jV0lkk8BNDu5-bwpsVmmjQ-1 X-Mimecast-MFC-AGG-ID: jV0lkk8BNDu5-bwpsVmmjQ_1765297750 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1765297750; x=1765902550; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=iJvrixXAQ7k8N9GTxkVJ0KMkCFWfL/ghfDmftEF0pz4=; b=crQif6qyOoPxpli3cKI5cZ7jOmM7ijFWV4OkjQ+2EEOOqGzPTYGKdeJZ3VR1jUcKVP 3EH9KOGsU7yd00Pn230qiwWpKZmnvPUusokZMTmNcfuKmEBIeNU3vJAOQU3Ev2p+VBwK KFshrnbUwX87//ddzbicbYkOQOozHxE9hYfKTnYzuRAVIS3aaqmY6KOEU8cDZO84vfEg Wv5v20cIKWplIpjmrmiohH2IBVN1WlrzeqQ6D5ErBOLjo+euGUaN3MxVz8PlOH95tm3S VxJ/wvg1y+5sx3h/AMvXJ28zwLaV/9zMrT5BN5kgYJs6xR0rR4+iA7bpx64BwRM4olF8 Q5oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765297750; x=1765902550; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=iJvrixXAQ7k8N9GTxkVJ0KMkCFWfL/ghfDmftEF0pz4=; b=igmTGT3/uDmNXhDx+rHloOWIuHPP339P15KfxWCfpRzYNiloP4KwpcPpev7RS4eJCk cQuyqWKcElZGC3wgaYGNxSK1nfkYAO5aez/syhCj50ISSKSKcCqNGY1UDYMmplqP8ApN 2mdAe4NXStA+ElkGxbEAbULa6Pq7IOTjytOfR6mEPEved1lXbUW8pZ85C/uYHTTzxll6 NE5w5xARY4UVx2kbIyPLUsBRUNHaCowHI0rPzVkaTSV8vU9DakIF/e0JdIX1qY5Wjim9 kP6Aqfc3ac9LWpybDmeOj/3FP2h1npbqLFHgDWx4W15ThqiHXZ1aC/Xci3cHrdyzQjmF hQHQ== X-Gm-Message-State: AOJu0YwpuWRPyI5/floRagaCmuDyAX84+RLQNcFAUlQb09qcn4S8F2yu E0qESkEXNsXSBiuPeAhlrE3qf4TDwWntPah2JUcvbRFH3kl3JVIXhQehrHbS8ZbXA9yytenZ/SS eHI7JiztKX7YndQeKdCikraos5wJxQbVhcgSldSnbNwpiU64zSM3lyzDnqFX4Vc12OOgq4Vuy/R /RRInyiLcfHDPvP3Ybh13P9Aawqitlc6bjwNH92Q== X-Gm-Gg: AY/fxX4RtgKNxECkZEI275eJrBEj0kpoLTEqASyFNf+YoVY0Jm0JLF1+pFGyG7TpT9z Md+pmxKsodrnkpoBjxyq9cC6RbQAKfql/Y2jCoNCpMqZflNrQNbRhAQmrx1oh7C7X74FpeIovHP x4xjg5D9EwXtDlOfmYTm89fIpJlxJviI7bJOaRZrMLCVQYUaxgWwXFB4QApU7Px559dWnj8PdgT zodsdRQjPSqCnkr5HgOxY+ugeUN8N+ErFonmnlGXgxz9KNr05AG8lYjMHiTixGFeXI18HRhzDNC UifnmkYRAXPG0Gd6KMTbZ6m0B9HKYMNpb130MyC7xTXNYxdBfXgOeHqlWYQru94lzoFIW8Zjaje Xpu0= X-Received: by 2002:a05:6214:8001:b0:888:57bd:8c82 with SMTP id 6a1803df08f44-88857bd9014mr52635456d6.0.1765297749996; Tue, 09 Dec 2025 08:29:09 -0800 (PST) X-Google-Smtp-Source: AGHT+IEPbrLZBfZqSj3/2YP9h5bRvVljZZphNzgEsApv6a7P3ufgyeBlh67xcOJYbl8eX/VR7A24Ug== X-Received: by 2002:a05:6214:8001:b0:888:57bd:8c82 with SMTP id 6a1803df08f44-88857bd9014mr52634636d6.0.1765297749359; Tue, 09 Dec 2025 08:29:09 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: "Dr . David Alan Gilbert" , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Jason Wang , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , Paolo Bonzini , Laurent Vivier , "Michael S . Tsirkin" , Peter Maydell , Alexandr Moshkov , Vladimir Sementsov-Ogievskiy , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , Kevin Wolf , Markus Armbruster , Richard Henderson , peterx@redhat.com, Juraj Marcin , Stefan Hajnoczi , Akihiko Odaki , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eric Blake , David Gibson , Michael Roth Subject: [PATCH RFC 05/10] confidential guest support: Inherit from TYPE_OBJECT_COMPAT Date: Tue, 9 Dec 2025 11:28:52 -0500 Message-ID: <20251209162857.857593-6-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251209162857.857593-1-peterx@redhat.com> References: <20251209162857.857593-1-peterx@redhat.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=170.10.129.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1765297881208158500 Content-Type: text/plain; charset="utf-8" Currently, only SEV uses it, but it shouldn't hurt either to make the root class (CONFIDENTIAL_GUEST_SUPPORT) to inherit from TYPE_OBJECT_COMPAT, so that it'll apply compat properties when object is initialized. With it, drop the explicit call. Cc: David Gibson Cc: Michael Roth Signed-off-by: Peter Xu --- backends/confidential-guest-support.c | 2 +- target/i386/sev.c | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/backends/confidential-guest-support.c b/backends/confidential-= guest-support.c index 156dd15e66..855788fac0 100644 --- a/backends/confidential-guest-support.c +++ b/backends/confidential-guest-support.c @@ -19,7 +19,7 @@ OBJECT_DEFINE_ABSTRACT_TYPE(ConfidentialGuestSupport, confidential_guest_support, CONFIDENTIAL_GUEST_SUPPORT, - OBJECT) + OBJECT_COMPAT) =20 static bool check_support(ConfidentialGuestPlatformType platform, uint16_t platform_version, uint8_t highest_vtl, diff --git a/target/i386/sev.c b/target/i386/sev.c index fd2dada013..084264bc88 100644 --- a/target/i386/sev.c +++ b/target/i386/sev.c @@ -2865,7 +2865,6 @@ sev_guest_instance_init(Object *obj) OBJ_PROP_FLAG_READWRITE); object_property_add_uint32_ptr(obj, "policy", &sev_guest->policy, OBJ_PROP_FLAG_READWRITE); - object_apply_compat_props(obj); =20 sev_guest->legacy_vm_type =3D ON_OFF_AUTO_AUTO; } --=20 2.50.1 From nobody Sun Feb 8 20:26:06 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1765297848; cv=none; d=zohomail.com; s=zohoarc; b=eegNu1rP4SX0Jalisu9uN3vOQ5xihKc50fhinwQKRxJJNVIGjJh/sKnV0rvMI9wiXh4wUH6wNKd88f3It7bQeb2+XNqS2nZ19nzW2yTpYULxzQ36I2UWlddpQiBq3zQzMtuCN8ohlCVnil7ZGESBb+IP6pOUwBxN+eu3xhDXv20= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765297848; 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=GT8ILsN7D1OcqOm+bKXlh0KokTwS1VY6k4jMj1L4fKc=; b=mBEX2xodpzz0ZDumiiQR7a06IPLRsfmBcviTjAsog+0TRJAmoou6O/XwPfwmWp9KMaMdYQ0sxZxx6+pBWEZqKZvQIw3AmSiCpKJlSZAR9veC3glk0agTm94QM5HeLcE1F29/nXVEXrQnp/5NYHAijVLewZm3NvjssUbo8hQYxPk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765297848666236.667242362318; Tue, 9 Dec 2025 08:30:48 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vT0bb-0007EF-Sj; Tue, 09 Dec 2025 11:30:30 -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 1vT0aW-0006I0-89 for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:22 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vT0aT-00020w-RN for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:19 -0500 Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-590-b9agDbH3OhqElkI9dFNwtQ-1; Tue, 09 Dec 2025 11:29:12 -0500 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-880441e0f93so162772586d6.1 for ; Tue, 09 Dec 2025 08:29:12 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88827f334d8sm131110256d6.10.2025.12.09.08.29.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 08:29:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1765297753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GT8ILsN7D1OcqOm+bKXlh0KokTwS1VY6k4jMj1L4fKc=; b=e20N9QoLw7iFgtgR98g9u4x7GiZu9qBb0U8HlGf7ZdFwNP6+Fr7REbI4+abPPNkkLp3gQw rDa+JFDOaOrIkoWAKGnB7hHAN30anC1xQ3ahdaw9HG/XgprtiZBJyYJnOEUfoEE9/WOIe9 NLDzGR9tY8GxAlRHP+AhjzadhkiFtnI= X-MC-Unique: b9agDbH3OhqElkI9dFNwtQ-1 X-Mimecast-MFC-AGG-ID: b9agDbH3OhqElkI9dFNwtQ_1765297752 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1765297752; x=1765902552; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GT8ILsN7D1OcqOm+bKXlh0KokTwS1VY6k4jMj1L4fKc=; b=EzMqqCRjUbc+3iC8mIg248XOsVKRave7l6yChHGKrFP5ByCdHrNBrQSkHQhV8zwjzX HlLzDHiYuTovulDDt3oOs8zCB+jhhJ6vDmGLk/xa5oPJq45yMCxD0m9rYXoPwDnV8AyK Ixz5N2hcP7ipb0m4B67NR+ukaV3OgJVYyKmkAejjMJl4c7N5UQlCL25Rik5wDkfrCC51 Jt6dLhMwQKYGMpRisGz4uZW5b7SxB7i62tilmsEmnt1Q3blegwT52TAeUvasA8JF+3eT 0XWh//DZsj57DMhqaJQAtdEqY53CwsaHdwR5OG3x8DlOS+Aze1tPvrMdMpw4XUqwulW3 TUTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765297752; x=1765902552; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=GT8ILsN7D1OcqOm+bKXlh0KokTwS1VY6k4jMj1L4fKc=; b=aHTzSBsf8fNHyaBmsb5erWLuQxJVmsjf6TxnD3Qsv7tiXRe2XuIPS5fQb7pXP81ffB ufg8In9PYoImz1x+7S925txexKuj2xL8sItpZp67//noY5GBGqS5MXhHAhi3oW75zDpm hKrLfpPku7GzefmxSfMN4EWd7GBsO7vUAtIsZWRxCu7Rguuy+wfXg2RlTyarnDkmHU4a uncr5PeTwrKydC0A4+1LsRPqCF2MwVgD67PCY887rqd4fu7L2GvARvqXGFukhRH3rlHp AnycRp+48Lcvd9swm0CsQ40uiVOzBZKtbVebZZBSXQlMuqxhK1Owxc4Fb/ZbTOqXXgzs Vh0g== X-Gm-Message-State: AOJu0YwhuSoRsPu84SAjDnNiDFxMxu8QxKwnM0CrKToq/szH5m3Kn6mm 6wngybgVHnaQEJ7uyBFJhiCdaBulm6f0XuDB+BWMsQOR4Z5F0jYPFi9HVxCrBqXm54Yep/yT1aQ h+Szncl1c/Chx+7e3rqtIFr8VnAqP7zZgQk/5DQI1qY6z8a9BjfX++rFy0ICQJ5EVgmSOcRZMvQ +iURB5F7MntqqZ9Uz3Wopi1Rz6jPMY6ZgvE7NgdA== X-Gm-Gg: AY/fxX6FZU1F7krii1m3YVMGkcLOuyovof+ocrLyTF4mPUCOPzte+nPJaTB+0dGUzsg RaKDRQW4/ClNH97CVffMb4kVZk4KFYkwA2K1woVurDrM3Bcza0+ycjmXb7pGnfA8DQ0/nMVbqeT z5vvAp5frW13ftHamvp/AVaiv+sngoaSXfCWNsmh0P3StjUtq6ewLWvhphzL30+T1Hp5DuLNqCR KREBR2QfRZZqjnlY0+2KMsaJYLlJoVV93d9nkZ71EzzpxP02yIa5E2j+w81Bpa0XJSxAm8qTLp2 eJzrqYugTqmUiyO8qDw8TUFcQwIrlHLp3lTEdu69aXa1nWzu5OKwOVhTqqfR0PVmTTqkAu/04xi A5Hg= X-Received: by 2002:ad4:5d67:0:b0:788:82e0:3a9 with SMTP id 6a1803df08f44-8885c6f8c7bmr28438996d6.21.1765297751766; Tue, 09 Dec 2025 08:29:11 -0800 (PST) X-Google-Smtp-Source: AGHT+IFu4RgggDwK66ekvZpozBlw/LJU0gDvU2FVgPkg09ynmspyG6vpFqoxzEz0CUnC/vE/TcPYTA== X-Received: by 2002:ad4:5d67:0:b0:788:82e0:3a9 with SMTP id 6a1803df08f44-8885c6f8c7bmr28438276d6.21.1765297751260; Tue, 09 Dec 2025 08:29:11 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: "Dr . David Alan Gilbert" , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Jason Wang , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , Paolo Bonzini , Laurent Vivier , "Michael S . Tsirkin" , Peter Maydell , Alexandr Moshkov , Vladimir Sementsov-Ogievskiy , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , Kevin Wolf , Markus Armbruster , Richard Henderson , peterx@redhat.com, Juraj Marcin , Stefan Hajnoczi , Akihiko Odaki , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eric Blake Subject: [PATCH RFC 06/10] qom: Unexport object_apply_compat_props() Date: Tue, 9 Dec 2025 11:28:53 -0500 Message-ID: <20251209162857.857593-7-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251209162857.857593-1-peterx@redhat.com> References: <20251209162857.857593-1-peterx@redhat.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=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1765297851277158500 Content-Type: text/plain; charset="utf-8" Now all users switched to TYPE_OBJECT_COMPAT, we do not need to export this function anymore. Instead, future objects should inherit from TYPE_OBJECT_COMPAT when compat properties are needed. Signed-off-by: Peter Xu --- include/qom/object.h | 1 - qom/object.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index e5b3116ad5..6c7b8fdab1 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -707,7 +707,6 @@ void object_set_machine_compat_props(GPtrArray *compat_= props); void object_set_accelerator_compat_props(GPtrArray *compat_props); void object_register_sugar_prop(const char *driver, const char *prop, const char *value, bool optional); -void object_apply_compat_props(Object *obj); =20 /** * object_set_props: diff --git a/qom/object.c b/qom/object.c index 581c041b08..176b859f36 100644 --- a/qom/object.c +++ b/qom/object.c @@ -530,7 +530,7 @@ void object_set_accelerator_compat_props(GPtrArray *com= pat_props) object_compat_props[0] =3D compat_props; } =20 -void object_apply_compat_props(Object *obj) +static void object_apply_compat_props(Object *obj) { int i; =20 --=20 2.50.1 From nobody Sun Feb 8 20:26:06 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1765297874; cv=none; d=zohomail.com; s=zohoarc; b=bOoOCy+00EftQJAFl80YuNOiyfQz+e05z9Xv/iQICsq8zTMHT8/YUE5Q7yrf3bDu0x5xZ263Wn/KS1L5AbXPkRRq44JhmAVQOSn5GhFmbjQbc3/zi7JiD6qwbuaIHLyEx7Ied3u46QaHclxY/5bV9XixS6JrFk8S/joG6cXwhKE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765297874; 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=2AcrUG9/G/Q5aMS5M3ggKBjSnTnF15A94G53j7mYT0M=; b=h7DCxAT9itNZeSbt+RbMaozeOUrGdonTKOMpxuweDuUQgfFRw57QZz3IWBM/T1KCD3g5YifWZz0BjbJgu6iu8D0I3f7AaRrBEP3vAXxU1CqykX8UEwOngfrl8AbYuWSgLGB1XxNdXhXyAtXAZ2vcrVRh2nDpRfaLOuLy3943MSA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765297874220894.1064707547449; Tue, 9 Dec 2025 08:31:14 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vT0ba-000794-5b; Tue, 09 Dec 2025 11:30:27 -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 1vT0aV-0006Ho-HG for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:21 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vT0aT-00022w-RU for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:19 -0500 Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-616-tw9MTtxIOYCVu6bQPEVcNQ-1; Tue, 09 Dec 2025 11:29:14 -0500 Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8b2e9b2608dso948953685a.3 for ; Tue, 09 Dec 2025 08:29:14 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88827f334d8sm131110256d6.10.2025.12.09.08.29.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 08:29:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1765297755; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=2AcrUG9/G/Q5aMS5M3ggKBjSnTnF15A94G53j7mYT0M=; b=EXQIwvqaGCMUJRwTDsxZzuRG/Sbtb3q/kgnp10ho8jSHMXBYJUQtZ5k8iagtrezSnz75s3 ctjqhLuKreoQ9WHbLqaYfKJoTKq9ntkGQ/5tPiwP7W9Id+qMqd0dOSsRAVLk82CDJ7H3dj Go3dZx2vwWw0pXx+sqjStxyMOQ+uuJE= X-MC-Unique: tw9MTtxIOYCVu6bQPEVcNQ-1 X-Mimecast-MFC-AGG-ID: tw9MTtxIOYCVu6bQPEVcNQ_1765297754 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1765297753; x=1765902553; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2AcrUG9/G/Q5aMS5M3ggKBjSnTnF15A94G53j7mYT0M=; b=NgqWKAE1jvDJZLqnv7gRaa6Qg7D+01BRviJiKIxH02BYE0cTjlrevHytza0mTz6glV Kgfe9aYXjOrckvXkEyJ9HsABMr+ZRp9m5KYeWCzV4NzKJxvI9QpM6fQtJngjE6+roeEF EVHRdSsfLYmL1IJ1viWU7eFTwiRGgHbvNNGI/Q/KjK7FpoIZZFGbSTz84gFle8RD5VIU hBW2E8TEiuaU+WFd38BPz77wvV5z/AhutcYhSv8yOGkfEJjWGgl58fAcnKkiKcSmD7iD SXq7mf1b6skw/R+6Q+5KCukKkpiAV6V6R2wmnOW6NOBt3fRU2tCjf/BpVeDLeZ+wk/Xu h+uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765297753; x=1765902553; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=2AcrUG9/G/Q5aMS5M3ggKBjSnTnF15A94G53j7mYT0M=; b=e78pz9bhuWQQAVylWatAQAThRBZoYACVvVcjE6WjMeIyzZYU+Y1seIUQzTZrPmt+vn kGanBRhStMmHN8nmsT/TWwLO8avBjpvfkoo37SXPIA0Sy9atD4A3+TguN++kl3OQpj1G tMOjuWnAlc5SBpzNlDX/GjnLdEypzIe+/btRF4uulMqz3Pkf7NBORdrnGmpqjiH/3qXa hUVPcRGerucS3g3TdmO3qY0klYmTXdCKslD7Kpn2Aq9o2UDTF1baGfFYRvFP/kvrfqpi gldUMysQtN6kM1gI1m3DuEnq32d9LV6Lh0Gw0y1Yp/ERY+bnN2wOlCyA65pemic47CQ9 T4LA== X-Gm-Message-State: AOJu0Yz8iy/oNl5NigRM1K4J69J5qOM2tr22P7uw11YDL7afIvs8E8uE PL7BbB5RErUr8qRUSAW3aCYhFwykxDtQL6CQOK0hT4OXbaVtmDV/Juooasyg615SQYAcAcwEAxZ cZUNxWDdne1OVAzpx+s6Nqbbzfo4SKcYjCS9hmMbWQygeIZELqzPWHiXmMmbRzicTsQjzrNlSgm omJPLfGcZ6pXfrV+cetmW05NndnOvBgjSu5MT+qw== X-Gm-Gg: ASbGncvIsFvwdIZ2d4FZ4jJhwQpImh8jRG5J8PGMgPAOG+uNZg3GknylWUdBSvi45t0 R3UADIN/id2W7NQN7zLlk/7m9bwgnMSWvz5J2qt33jg1iOzHVw9WivIlvyOhlh4oam4SIKAEezQ 5PqG0XulfO11npPZSUJozhyPDrYgZFkIUPzLJOxHNm8TbtMoecjMbFgRqk2Pz+BlsaYJt/dCh2e a9RmgQRx/VGZnUG8iDi3uw+tegF/uH3EJzKJm/LKkGTmVSphZTnY3ArFYiGmx/xcX4xzdrWcEX4 XFwExVtqSN9eXbmCGzajGAd86CVJzFBnmxXWHEwRE7Rbesf46vBrlSIb/24FaMrx0Seet54kwm9 kfSg= X-Received: by 2002:a05:620a:28c9:b0:8b2:f090:b167 with SMTP id af79cd13be357-8b6a24ff1e5mr1678457385a.24.1765297753482; Tue, 09 Dec 2025 08:29:13 -0800 (PST) X-Google-Smtp-Source: AGHT+IH7x/6p/JI/zPrZ5AOlKdYuWTJDwsemho/emnESwiVfnfgZROCSHYKsaZgkPj7vXY1jIX9bqQ== X-Received: by 2002:a05:620a:28c9:b0:8b2:f090:b167 with SMTP id af79cd13be357-8b6a24ff1e5mr1678451385a.24.1765297752921; Tue, 09 Dec 2025 08:29:12 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: "Dr . David Alan Gilbert" , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Jason Wang , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , Paolo Bonzini , Laurent Vivier , "Michael S . Tsirkin" , Peter Maydell , Alexandr Moshkov , Vladimir Sementsov-Ogievskiy , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , Kevin Wolf , Markus Armbruster , Richard Henderson , peterx@redhat.com, Juraj Marcin , Stefan Hajnoczi , Akihiko Odaki , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eric Blake Subject: [PATCH RFC 07/10] qdev: Pave way for exporting Property to be used in non-qdev Date: Tue, 9 Dec 2025 11:28:54 -0500 Message-ID: <20251209162857.857593-8-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251209162857.857593-1-peterx@redhat.com> References: <20251209162857.857593-1-peterx@redhat.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=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1765297875113158500 Content-Type: text/plain; charset="utf-8" Property itself is a well defined interface to either support smooth conversions to Object's properties, or supports global properties. However currently it's tied to DeviceClass, aka, qdev. So non-qdev cannot use Property list. My current observation shows Property is almost ready to be used as a separated exported interface, except two small things that may need touch up internally: qdev_prop_allow_set qdev_prop_check_globals The 1st one currently checks against realize state (which is part of qdev attributes only). The 2nd one checks for all global property being used in all non-pluggable qdevs. We can loose the check in both spots, keep the check if the driver is a qdev, otherwise we can safely whitelist non-qdev use cases of Property. Signed-off-by: Peter Xu --- hw/core/qdev-properties.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index 422a486969..c8110ff0b8 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -30,8 +30,14 @@ void qdev_prop_set_after_realize(DeviceState *dev, const= char *name, static bool qdev_prop_allow_set(Object *obj, const char *name, const PropertyInfo *info, Error **errp) { - DeviceState *dev =3D DEVICE(obj); + DeviceState *dev; + + if (!object_dynamic_cast(obj, TYPE_DEVICE)) { + /* Currently, non-qdev can always set Property anytime */ + return true; + } =20 + dev =3D DEVICE(obj); if (dev->realized && !info->realized_set_allowed) { qdev_prop_set_after_realize(dev, name, errp); return false; @@ -987,6 +993,7 @@ int qdev_prop_check_globals(void) =20 for (i =3D 0; i < global_props()->len; i++) { GlobalProperty *prop; + bool hotpluggable; ObjectClass *oc; DeviceClass *dc; =20 @@ -995,15 +1002,25 @@ int qdev_prop_check_globals(void) continue; } oc =3D object_class_by_name(prop->driver); - oc =3D object_class_dynamic_cast(oc, TYPE_DEVICE); + oc =3D object_class_dynamic_cast(oc, TYPE_OBJECT_COMPAT); if (!oc) { warn_report("global %s.%s has invalid class name", prop->driver, prop->property); ret =3D 1; continue; } - dc =3D DEVICE_CLASS(oc); - if (!dc->hotpluggable && !prop->used) { + oc =3D object_class_dynamic_cast(oc, TYPE_DEVICE); + if (oc) { + dc =3D DEVICE_CLASS(oc); + hotpluggable =3D dc->hotpluggable; + } else { + /* + * Currently, to be strict to assume all non-qdev are not + * hotpluggable (whoever will use -global). + */ + hotpluggable =3D false; + } + if (!hotpluggable && !prop->used) { warn_report("global %s.%s=3D%s not used", prop->driver, prop->property, prop->value); ret =3D 1; --=20 2.50.1 From nobody Sun Feb 8 20:26:06 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1765297887; cv=none; d=zohomail.com; s=zohoarc; b=Mz+aoLGAqYg65GSht0UkHke0c0xvnitq48WJQaSjc51jgYDZt23fqKPKkToizf8vlZgyAcOLhGUlbE/gyqij5qNhKknpR0AaNT/q91XEKr/Fu6tE/PyuxAhpBek2FgElyGR/uO0IlmoDNj+y9VZvv9sh7MYenUi86n3VexbEAgI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765297887; 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=oUhACeP27aeW8CqqEIeBeQbpx7grv2BnAZbCMpedjyM=; b=oJHZKSNc21BgtLWR+qx7xLIKkZgcConXcKUba7nIATtUS6tP0zrZSwYCfV6GZbSD7p8eVPJ3KtRdN+il+CrmzUQKAK/Hyma1k7C2EhELlLf2LE5FYFJe3tHnp1L31viXD29VPN1JrLt2VghKniie6xg7gbl2S2dcF6EcLVDpQqE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765297887834787.8259738257262; Tue, 9 Dec 2025 08:31:27 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vT0bo-0008Gs-HG; Tue, 09 Dec 2025 11:30:40 -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 1vT0aW-0006I2-OA for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:22 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vT0aV-000236-97 for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:20 -0500 Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-100-TSeNg1cCPe-JTQSdWJ6gvg-1; Tue, 09 Dec 2025 11:29:16 -0500 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-882380beb27so101387776d6.3 for ; Tue, 09 Dec 2025 08:29:16 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88827f334d8sm131110256d6.10.2025.12.09.08.29.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 08:29:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1765297757; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=oUhACeP27aeW8CqqEIeBeQbpx7grv2BnAZbCMpedjyM=; b=Y9vzXUPzm1PDZLTBCqx5cdCG+pQv5iAE7XjXJ/Dw5ZTaPnTUpoxfYfJ1DgqGS8r1jdX8KB FKL5Cu0nX2dOmm/M6CWwCD6J3KZw7IDginrFcEAc3A7AsLCy24EtYc/vHYHC3uj280nzt9 IX4idzniEUAiLHgMSizrP84Myexs+SM= X-MC-Unique: TSeNg1cCPe-JTQSdWJ6gvg-1 X-Mimecast-MFC-AGG-ID: TSeNg1cCPe-JTQSdWJ6gvg_1765297756 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1765297755; x=1765902555; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=oUhACeP27aeW8CqqEIeBeQbpx7grv2BnAZbCMpedjyM=; b=rBvyXpk7tcndQHFicQLFh6imTpsgzf8BRcOW9teRbo5mOxAYrdsEwao1angMNn290s izCxdhp6+faFo23d8E5/d29HtUjS/izuL+1QieqzRamkxxGdm7vlWawuDW7gyxgQL1ul 62FFsnZ7VIYL+hhe/E9j1YeWJ76bs8lLtGcOlD2bxR0aQIVgbQkWlZmAHTkRpWsLZvBV AM6hsJ+2WDNTX1hKBUXWnw0mrxLx1v3gBj2KRovdUjfPiE7dRvx+1Fc79u+FQ6RFzmTA /BSLuXYbq/PjlugEbgrrktsiOqaysvSd9Gs2DMS9dzk7mQeRnFPWVtHRVffoUI4uVvKu pCwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765297755; x=1765902555; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=oUhACeP27aeW8CqqEIeBeQbpx7grv2BnAZbCMpedjyM=; b=vtQByx0IHL/N82czuexX250MN2ZTILBzxi19yNINDGAurBDQRKl8TAj4KpgddtnXXx n8Twt3vzFUAywaB8KLa+3a1odfaO5D1IGvamQGs3PK+0XkkH/5DZM86F8PvpSnDc2yZX TuJmQDkgb6tDXzQul4gOzNhXowMIx3gUNPE3zyrtVN81rqBngvyGX79s4QXWI7uCoOpZ EmMzQFDmlQ7AyF7mrz9clX5kaOOWmmOnbaeM5h1tTsFUCYEbtOz0OShWxwosvvZBB9Hs TxZ2NFIiY3KQl5iu6WPwheS59Smho7gTWgodR6VYlrgitErXd3SHH72D0boiNdCR2zS7 Z/qg== X-Gm-Message-State: AOJu0Yw2Mi8QTjy6YEF8eN3jNNFbsh9rhkT+gMngzwezJUKBHE6bXZQ8 d2CMPEq3nSgWZobmhFnz405PjU6/xu9kqPrMYWO8us64dpyFgvabo8hy3DOVFKMVa2bneVmcYYm YovBgDMJx+ze6rZPBN9ps1Asfk83b0p5wCttjEIOLL7I1bb8KNjeCjm/zrqBmN8eFOiAhWjuiD0 HlgWBbYq8LdzVdLpZw4zf7JvK9lE75gMcC/sDHGA== X-Gm-Gg: AY/fxX63mUVKEdFNjvzGcT9v9YdzVyl4e7uWzH0dfkCWT2enUViV9kUR6E8s7pKNSIC XbUCqTErIXd3wK292ySj6UvxtRaAmjmaI8qKcDBpOt+yo9XWED6mhE72P6IedptZNf7ktW/hRPx 0yaf9sfPz+xCeQOyX32+SHwGTxz4fiHs7zBXdFqNQ69rUSVqRoCsLKm7SAyRPPYtqtIzE4AkoQA RCax13HyPy7GDsZ21n8S3cAw70FfUxrbszyzlznS8T0c0Zb111A8YGqEw+SjZuyFiCyrx2Atp8p +tMYnn3GRjwXd3THRyyF484DY+sLdGxArVsdfOrUA4McUEBlESPOD6mVEGeihsHoRfuUFMkAcwz ciAQ= X-Received: by 2002:a05:6214:3308:b0:888:5890:2d55 with SMTP id 6a1803df08f44-88858902f35mr48764256d6.47.1765297755171; Tue, 09 Dec 2025 08:29:15 -0800 (PST) X-Google-Smtp-Source: AGHT+IGIimkXcA13C2s8FkDttY4MZsc83WmSaJSpHpJjlTSIUCua7xIxn29bHPwDy9/qixwDQGOYSw== X-Received: by 2002:a05:6214:3308:b0:888:5890:2d55 with SMTP id 6a1803df08f44-88858902f35mr48763466d6.47.1765297754667; Tue, 09 Dec 2025 08:29:14 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: "Dr . David Alan Gilbert" , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Jason Wang , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , Paolo Bonzini , Laurent Vivier , "Michael S . Tsirkin" , Peter Maydell , Alexandr Moshkov , Vladimir Sementsov-Ogievskiy , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , Kevin Wolf , Markus Armbruster , Richard Henderson , peterx@redhat.com, Juraj Marcin , Stefan Hajnoczi , Akihiko Odaki , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eric Blake Subject: [PATCH RFC 08/10] qdev: Introduce helper object_apply_globals() Date: Tue, 9 Dec 2025 11:28:55 -0500 Message-ID: <20251209162857.857593-9-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251209162857.857593-1-peterx@redhat.com> References: <20251209162857.857593-1-peterx@redhat.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=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1765297889132158500 Content-Type: text/plain; charset="utf-8" The helper allows one object to apply anything from -global command lines to an object. Signed-off-by: Peter Xu --- include/hw/qdev-properties.h | 1 + hw/core/qdev-properties.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h index 60b8133009..f064992ba3 100644 --- a/include/hw/qdev-properties.h +++ b/include/hw/qdev-properties.h @@ -226,6 +226,7 @@ const GlobalProperty *qdev_find_global_prop(Object *obj, const char *name); int qdev_prop_check_globals(void); void qdev_prop_set_globals(DeviceState *dev); +void object_apply_globals(Object *obj); void error_set_from_qdev_prop_error(Error **errp, int ret, Object *obj, const char *name, const char *value); =20 diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index c8110ff0b8..7d1a443266 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -1036,6 +1036,11 @@ void qdev_prop_set_globals(DeviceState *dev) dev->hotplugged ? NULL : &error_fatal); } =20 +void object_apply_globals(Object *obj) +{ + object_apply_global_props(obj, global_props(), &error_fatal); +} + /* --- 64bit unsigned int 'size' type --- */ =20 static void get_size(Object *obj, Visitor *v, const char *name, void *opaq= ue, --=20 2.50.1 From nobody Sun Feb 8 20:26:06 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1765297872; cv=none; d=zohomail.com; s=zohoarc; b=GBAcuLutUmUdHwpZe8XQxNZaK/RL+fKi7NxGHQbwLR5pT6Oj4YasCxuLs1b9jc9xYqzXeU+6JiCjMEu/4p0sty+fXPIDrVz1oFyjv0jR7oIEAPbi0bE2rktnGDoTJ6oVK7dnc/vam4J3mZZ2ZdEB+XeEiiUlTDgqHF0waz17vkk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765297872; 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=z7jQ1Ro3XHBHAN4glqyPH+4uaEXdDbHZfNgePeIyTCY=; b=PSg9FJvDyrnbEQ3rnK8xKA3PK46MHG68HaWfg5ziX+bGGt9n41T0Djul/M642qwFaECKSUbVEK0o8j1N8WroZD4li0SrOV7fghxJFodb4OXjKzSshTcbxMI6qWW7740HasSHEmmagO7ntYabG/ZSAdzFAuLxWqeKr4U7khDUzx0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 176529787248232.24381311391835; Tue, 9 Dec 2025 08:31:12 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vT0bm-0007u0-2Y; Tue, 09 Dec 2025 11:30:38 -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 1vT0aX-0006IA-KO for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:22 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vT0aW-000259-3f for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:21 -0500 Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-637-XcKII_ETMXSo7YsXfo2KgA-1; Tue, 09 Dec 2025 11:29:18 -0500 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-880501dcc67so220900506d6.3 for ; Tue, 09 Dec 2025 08:29:18 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88827f334d8sm131110256d6.10.2025.12.09.08.29.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 08:29:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1765297759; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=z7jQ1Ro3XHBHAN4glqyPH+4uaEXdDbHZfNgePeIyTCY=; b=OXxLWVSJc9g501q+THf1ELmk/oEg7VHJvz/mQ+Yu5QNT/YwqQqL158q2LpvHivenjGOJu3 is9hdyKE+hK430PyikNXB0ryzfoGJAf+f4mOVdd8mXwcQvrnkq8089ZlO0/P+A98Lv2axc PeMt8inhZkAxw6aY84lpV1uZFPu1eAY= X-MC-Unique: XcKII_ETMXSo7YsXfo2KgA-1 X-Mimecast-MFC-AGG-ID: XcKII_ETMXSo7YsXfo2KgA_1765297758 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1765297757; x=1765902557; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=z7jQ1Ro3XHBHAN4glqyPH+4uaEXdDbHZfNgePeIyTCY=; b=JeXO3sMyyinxQ2g5bC1xh0PS/xUcNp3pjNelVe/Rgb10tslRzGNJ8YUc1pW7BHB9nn AAMtu6GDVsPbGS5O9maCUTsgMbdVZjCUzZLDQFv/SfPaxOnmqIqlfJtJCLqA7eZDgt1z ff+/mIB1muFvF/k92V2uB0rTh/azl73as2kOMhYOKweULhBvWbAei4eBC59iVCD2EEnu UjM6ajN1adTFJqGfFAZgj77xwCfyg7o23v1vtai9QBL2Sov4Y+F3VtT4z+nQkKc1aSqE iswa0dlb5TX+PqQUcIlDPF6asOzeFG8XBJu5LUiebVuEU8pQXWJg/aZ8kno3m6Vaj9Cy DaKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765297757; x=1765902557; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=z7jQ1Ro3XHBHAN4glqyPH+4uaEXdDbHZfNgePeIyTCY=; b=a839WPS6uOcTDwp8P3Kd7S151kLCjdze36fV+AgB1x/7HBTIcnCy/RL7q9SZHYBbaZ SVijGFSMYc4rX0V9Dou88/NckEiK808H0DrR2/csUVsMkS3msdzimRhleG9nIRGlPy3Z FzAMBh9ac7ybL4rNg9LeidzMpO/g9WQeYs9d5CdDs4VeAghjrkeRtci5UiAiO4q/D5n3 6OdovtITvcIiauJkFohh+E7TujAXjJvDUPSVOIn+GDW3PMBAukX0VL79NSrGh3X2A71m hXjdXKB0gZWPUxfyI4a+4mvRyY5ReVUEYP2PP5GHRSChnUobQo2k9vsDf59jK4mlAeO1 giRw== X-Gm-Message-State: AOJu0YzzNiyEWUahk9UFvixCK/P0BnfJq7rrIUR0Pemjtl+uJ2mmPW+8 6IfxKp4j7qTCKzzMV9OA1E0N7hpreyGvB+UG7lsMV8uBhJmtJ/b70hP9FgzxIe1Rmt3RhhaTUjE lj7mOAMjgfxhlhfIzsJl7OTUJaq37T2moztK2swLZeUh1jHvAA3kmblW+IYUb5LU/4+X/vQB02n w9+yHFWMa/nYtzCmDExBKZnruS1X67Luu8Db6mcA== X-Gm-Gg: AY/fxX7xdD3SzcfH1LZ2zWbnTZDEnVFgMRpwD28juFWMIQ3MSBVKyqX4m9Lq8gfuera PFNnK7Uj9coP8kqlo12jz8MnBf/wWwM5Dv01fwIHWZJMKXRytojPHEUMkKX3DwxXokP515L4BBx HIOZRDE1C/ZXe72E1OXoOcrL3yYvzqqSKlPr4u6cJUDhKeC3fAjSOisGKjhbsu+d0UFEG1nQlHK cwfhzEPNwMELH9rNXmwPGgnXMruZcUf8z5Q0R46sutqxVV23O4oTL+cECFFvh88j6eU8BoiL74V ssuzhEGYLtbHNtPnUwz9z8eJF8+aX72C0Zfhdv+so1gTVFK0/gnu22zU5PAmpoI6cJhW7hrgAFD Ilmc= X-Received: by 2002:a05:6214:b6a:b0:880:4a49:75d0 with SMTP id 6a1803df08f44-8883d94192emr192660896d6.0.1765297757095; Tue, 09 Dec 2025 08:29:17 -0800 (PST) X-Google-Smtp-Source: AGHT+IFFFMz4KKumktf3jxEBNVVE9xPMV6bi2mKl+Lf9PRoevelHuf2KFaZ+tSylO++yS/SknhHUVA== X-Received: by 2002:a05:6214:b6a:b0:880:4a49:75d0 with SMTP id 6a1803df08f44-8883d94192emr192660096d6.0.1765297756486; Tue, 09 Dec 2025 08:29:16 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: "Dr . David Alan Gilbert" , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Jason Wang , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , Paolo Bonzini , Laurent Vivier , "Michael S . Tsirkin" , Peter Maydell , Alexandr Moshkov , Vladimir Sementsov-Ogievskiy , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , Kevin Wolf , Markus Armbruster , Richard Henderson , peterx@redhat.com, Juraj Marcin , Stefan Hajnoczi , Akihiko Odaki , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eric Blake Subject: [PATCH RFC 09/10] qdev: Refactor and rename of qdev_class_add_property() Date: Tue, 9 Dec 2025 11:28:56 -0500 Message-ID: <20251209162857.857593-10-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251209162857.857593-1-peterx@redhat.com> References: <20251209162857.857593-1-peterx@redhat.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=170.10.129.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1765297873159158501 Content-Type: text/plain; charset="utf-8" Firstly, qdev_class_add_property() function almost has nothing to do with DeviceClass, it's a bridge between Property and object properties. Change the 1st parameter of it, so that it can be used without DeviceClass context at all. When at it, remove the "name" field because it's always prop->name. Export it for non-qdev use cases. Signed-off-by: Peter Xu --- include/hw/qdev-properties.h | 10 ++++++++++ hw/core/qdev-properties.c | 7 +++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h index f064992ba3..bf90cac810 100644 --- a/include/hw/qdev-properties.h +++ b/include/hw/qdev-properties.h @@ -241,6 +241,16 @@ void error_set_from_qdev_prop_error(Error **errp, int = ret, Object *obj, */ void qdev_property_add_static(DeviceState *dev, const Property *prop); =20 +/** + * object_class_add_property: + * @oc: Object class to operate on. + * @prop: The qdev property definition. + * + * Add a Property to @oc. This is the bridge to convert a Property into + * an object class property (as in ObjectClass.properties). + */ +void object_class_add_property(ObjectClass *oc, const Property *prop); + /** * qdev_alias_all_properties: Create aliases on source for all target prop= erties * @target: Device which has properties to be aliased diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index 7d1a443266..ede173d57b 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -1108,10 +1108,9 @@ void qdev_property_add_static(DeviceState *dev, cons= t Property *prop) } } =20 -static void qdev_class_add_property(DeviceClass *klass, const char *name, - const Property *prop) +void object_class_add_property(ObjectClass *oc, const Property *prop) { - ObjectClass *oc =3D OBJECT_CLASS(klass); + const char *name =3D prop->name; ObjectProperty *op; =20 if (prop->info->create) { @@ -1188,7 +1187,7 @@ void device_class_set_props_n(DeviceClass *dc, const = Property *props, size_t n) const Property *prop =3D &props[i]; assert(prop->name); qdev_class_add_legacy_property(dc, prop); - qdev_class_add_property(dc, prop->name, prop); + object_class_add_property(OBJECT_CLASS(dc), prop); } } =20 --=20 2.50.1 From nobody Sun Feb 8 20:26:06 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1765297887; cv=none; d=zohomail.com; s=zohoarc; b=jB+YEkPwoCNqzzcOLOPdTEi1mzdlumUZe3kKFqz4+o22wbCLEuds3+O9qaTvlA7nC3N8yfSTHbYUz0ZheuwWlNXI3eCTEr0UGIjuxWql3CFWIWRbru7d967DEsyaGkBk9SegQ/uwfDO3Uy2LUF5ZKJcXbvMwwWZURjGQPpoFDBM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765297887; 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=XNWCsudpDn8DQvfONwxl/IRDmiiY9UgHCPTpZhM5kqI=; b=LGX3+eRpcZML2cBVI721+zOkI1YDZjGkdbfc7p2hEYHUU3bSdPNs7FHBtHGyps+lTYHiN1o08Cuj4eQwR1TVqUU4x35f1OsxxaOSXxuT11wR7OoYUAISWKLf2VkbxD5jzrqOGf1U/1tiQWklOFkpwH0VP9dxTNUgCXBoUT0GwcI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765297887946329.3947870348196; Tue, 9 Dec 2025 08:31:27 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vT0bq-0008WO-DR; Tue, 09 Dec 2025 11:30:42 -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 1vT0aa-0006Ii-4H for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:27 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vT0aX-00028O-Pq for qemu-devel@nongnu.org; Tue, 09 Dec 2025 11:29:23 -0500 Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-90-VQc_3rGIM_27XP4M3epLSA-1; Tue, 09 Dec 2025 11:29:19 -0500 Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4ee1b7293e7so187091531cf.0 for ; Tue, 09 Dec 2025 08:29:19 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88827f334d8sm131110256d6.10.2025.12.09.08.29.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 08:29:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1765297761; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=XNWCsudpDn8DQvfONwxl/IRDmiiY9UgHCPTpZhM5kqI=; b=RBS8sEgg+avRvK+RMX9i0rBsNlfaxY3B9Dj+QJOFRiA44X+e6djN5pMZr7+iEGUftVVs8q DaADwCLIlUvVMSqa808KOz99XdhHwLgOa2NV2+w4mMiPUWw6UgITKaO5RjB0m6h9jqqqWG +TqECQO7TIZ+Q8LD93q72xk667BTwqY= X-MC-Unique: VQc_3rGIM_27XP4M3epLSA-1 X-Mimecast-MFC-AGG-ID: VQc_3rGIM_27XP4M3epLSA_1765297759 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1765297759; x=1765902559; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XNWCsudpDn8DQvfONwxl/IRDmiiY9UgHCPTpZhM5kqI=; b=eLzJ+AkqzFOcLUgIR9hHsKrgDkeLzORlrKQ6bcbCtHJPDzRxuP5bNWUmE2D3P69zUL RKg8z9VoJR1v74q6cede2GjwYACTA2+eMgOhtpPyWBX9h1ehSXtlgP6vKA6/SQf1wX9o R/Tgw0pcix88+psXAvKvjmfdK4Ul5JoAX4v7kpUdio5kkYr+PLzNmFzgi9oyqmWZGwNV yYzbqsXMj5u8JR++vNs+DjRPzzlQLz2kIgdGMChaH2XBIm6aezIrU64TiAsx9nUJPsFn kuXerbexvnKPfrkWtBfiqQAUI8g8BdnXmQWBbVGuVy63ZQsVlA4gMCB7NIp66Y5+YRyl cDhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765297759; x=1765902559; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=XNWCsudpDn8DQvfONwxl/IRDmiiY9UgHCPTpZhM5kqI=; b=B/8s+EduHMdRR7+ztnz5IJIWSG9mqiq69iuDpsl6j/yw9yDeI6vunNRZidYCEuIpA+ Wnhd9AyR/1OREku6zzWZBPyT+BxoBOGTrEk9IyTT5menbWViTQOFAQwP6LzTHw8nbrM8 C3FMC+uUNsI1XNPqhyQtdp/z8fI76EdRI+scwXFkIJTBrr9kuxPGiTzrhWRGZ7pHvuCZ ql6oh28Z4hru2RYh6sJltjOqjrKVzJQ1zecvTkkCA4tBAC240FLHWfp6RxlHAuKFbzLH x2S0qijwiVPdd5SUL7uSHGS0EkwOlXeGMJIVo2KytmxFGFXMfMq644QwTk1S9Ki1xhPt ZiFA== X-Gm-Message-State: AOJu0YzgAmR1Ud+MsHqmJ00/wfJT41NaPW1RDUAqI+FzgMLLDrQJvEvG mvlNiC83AeZw+hCfKkO9ROGxELfoBvA/5LJpOEKzmHzNAIW9Nr5sNBLsh3kkFCC7rMOxkCWaDdG 04K9SpUC29i+fOP7DTyCqzOwUrd7vjmh44hkNHsxKFlBXZDeicIk6txxj4jy6puVlM6d8hSzspt RewHTqXcdhYQ5Fb5UfmtPdj9j5Ekjz3uMDrZZk8A== X-Gm-Gg: ASbGnctroAj7OPLRXNlltPkzpnphNcmzhrynBhrTKD11NhHEqaMts5Hig+LqglB6xrM CHwtLkBmpRQiyI8sPT//P7KyBt/61BjfO++Q+FG/kWXFywMNTHmMJmvzlMtKOuREMm7kKd0cg11 vXwGW0OctUAEh4mY9OrvDCdx4hZkgmQ/eyjqX7tv7y1ffFPUCA8Pt8fm9b+LZG/uSV66NxYS+8l vBswHhVc6qspN0ekunT1owk6WwQ+jKjb/9tJPF9zipgKv/b/87PS2AVDsTZprZRMjUiQ7VmPEBY yJ92INFe98vbB7rwkYAZMBnBpD2XgZ9Zrnxbp9cnCvr93f7fz12M7WIJ9BumOkGQ6gFScFJOOpE un3Y= X-Received: by 2002:a05:622a:4c05:b0:4ee:1625:f783 with SMTP id d75a77b69052e-4f03fd9b08amr189080491cf.21.1765297758900; Tue, 09 Dec 2025 08:29:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IHBdPSDuC0vCxsc7QJAX1EVzz5tFJxDcqgwLRLVgeNAzR4QiJAjVcnDZSAQO3M+BsfVcgnRSQ== X-Received: by 2002:a05:622a:4c05:b0:4ee:1625:f783 with SMTP id d75a77b69052e-4f03fd9b08amr189079561cf.21.1765297758366; Tue, 09 Dec 2025 08:29:18 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: "Dr . David Alan Gilbert" , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Jason Wang , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , Paolo Bonzini , Laurent Vivier , "Michael S . Tsirkin" , Peter Maydell , Alexandr Moshkov , Vladimir Sementsov-Ogievskiy , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , Kevin Wolf , Markus Armbruster , Richard Henderson , peterx@redhat.com, Juraj Marcin , Stefan Hajnoczi , Akihiko Odaki , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eric Blake Subject: [PATCH RFC 10/10] migration: Inherit from TYPE_OBJECT_COMPAT Date: Tue, 9 Dec 2025 11:28:57 -0500 Message-ID: <20251209162857.857593-11-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251209162857.857593-1-peterx@redhat.com> References: <20251209162857.857593-1-peterx@redhat.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=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1765297889168158500 Content-Type: text/plain; charset="utf-8" While doing that, we still want to keep the Property list that migration object used to use. Apply them directly to ObjectClass instead of setting them with a DeviceClass. Signed-off-by: Peter Xu --- migration/migration.h | 2 +- migration/migration.c | 31 ++++++++++++++++--------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/migration/migration.h b/migration/migration.h index 213b33fe6e..20a76664df 100644 --- a/migration/migration.h +++ b/migration/migration.h @@ -273,7 +273,7 @@ struct MigrationClass { =20 struct MigrationState { /*< private >*/ - DeviceState parent_obj; + Object parent_obj; =20 /*< public >*/ QemuThread thread; diff --git a/migration/migration.c b/migration/migration.c index b316ee01ab..913c005bcb 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -4136,11 +4136,9 @@ fail: =20 static void migration_class_init(ObjectClass *klass, const void *data) { - DeviceClass *dc =3D DEVICE_CLASS(klass); - - dc->user_creatable =3D false; - device_class_set_props_n(dc, migration_properties, - migration_properties_count); + for (int i =3D 0; i < migration_properties_count; i++) { + object_class_add_property(klass, &migration_properties[i]); + } } =20 static void migration_instance_finalize(Object *obj) @@ -4198,21 +4196,24 @@ static bool migration_object_check(MigrationState *= ms, Error **errp) return migrate_caps_check(old_caps, ms->capabilities, errp); } =20 -static const TypeInfo migration_type =3D { - .name =3D TYPE_MIGRATION, +static void migration_instance_post_init(Object *obj) +{ /* - * NOTE: TYPE_MIGRATION is not really a device, as the object is - * not created using qdev_new(), it is not attached to the qdev - * device tree, and it is never realized. - * - * TODO: Make this TYPE_OBJECT once QOM provides something like - * TYPE_DEVICE's "-global" properties. + * Note: ordered so that the user's global properties take + * precedence over compat properties. Compat-properties will be + * applied first in the parent class (TYPE_OBJECT_COMPAT). */ - .parent =3D TYPE_DEVICE, + object_apply_globals(obj); +} + +static const TypeInfo migration_type =3D { + .name =3D TYPE_MIGRATION, + .parent =3D TYPE_OBJECT_COMPAT, .class_init =3D migration_class_init, - .class_size =3D sizeof(MigrationClass), + .class_size =3D sizeof(ObjectClass), .instance_size =3D sizeof(MigrationState), .instance_init =3D migration_instance_init, + .instance_post_init =3D migration_instance_post_init, .instance_finalize =3D migration_instance_finalize, }; =20 --=20 2.50.1