From nobody Sat Nov 15 23:38:11 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1745393562; cv=none; d=zohomail.com; s=zohoarc; b=RPNScP+G2x03NGeSoP3hf1t0Nc7m7twGWUWC7kczsGXRZ6TV4b61Nx72QgjovFbgWU6cBqe4KiNCuuClDgiCC1W7BVdwDFPUyOfXxLiXMbNL7CILkLJke3jOYsBgNYbHWXh/BtRIiOVdzVHaKCq16Lm+BL6x8BfPjs9pwISjU6g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745393562; 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=ldml/MANuG0uO6vXLniXhSb0qV9lVatdGpzVB4ZUsx8=; b=jv7PR+TOKhyxRQSl0O7ShcTKP4sotEje8Lp2Fnwhi3Zu/g6HHFrhqz39OnsHJ2McU4w5XaPJeLJ27jCBUDJYZWaQcWmOUVMi8G6JjzSxQ+MYZpk3ubd3yeGBxxnCtD+3LQgV5dQw8NZZFTVnWmg4eBhtuCCrZYPY8v/nAYwsG/U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1745393562839799.4900702134503; Wed, 23 Apr 2025 00:32:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7Uao-0006lf-BK; Wed, 23 Apr 2025 03:32:26 -0400 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 1u7Uae-0006hL-Qn for qemu-devel@nongnu.org; Wed, 23 Apr 2025 03:32:18 -0400 Received: from mgamail.intel.com ([198.175.65.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u7Uaa-0002ZR-SX for qemu-devel@nongnu.org; Wed, 23 Apr 2025 03:32:16 -0400 Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2025 00:32:10 -0700 Received: from spr-s2600bt.bj.intel.com ([10.240.192.127]) by fmviesa005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2025 00:32:08 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745393533; x=1776929533; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=u+2cGN1zU/fzkVglkVzbTSwTA1wbMtXgxYloe7qprfY=; b=eyj9D9OmHN7BkuKMu07kBoslBLrQGmGE9dujsK8eJMjiqbhR/3Qu9/m3 sadFhB4uX6KskXQtDKaOu/5z6dMqwRADNXdu0w2I6Kbzt9fYWx3dSAOdH 0ty4rDxna1VwoAXblNAj5cBsHaokfe94aXp8Y5aclCv6VFTwOmRtFFrMK e92RE7uptVpgr/1UYwBYpsjSVjX4mFE+ZSec+SfCW6oVkAwOxb7KFZSGg Pbk87wv+fKHFsQLT0+HiIj71DOtS2PQmH5C44Qs6VAGkfyrUySxG89mCS YVnG8ylqx983MZBmAqvYylwgz6cWBzfbPWLg+r+8Qv68CrRmmWmRAevJH A==; X-CSE-ConnectionGUID: 3VzTu2smRdiyaMKJQ1Wy6w== X-CSE-MsgGUID: sFM+s9fxQy20Ck3vzdqGJA== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="57959256" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="57959256" X-CSE-ConnectionGUID: WynLjN95Q/6Vq5lpW53SKw== X-CSE-MsgGUID: SZZSqiYVTWSzUiJABjxiWw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="137025341" From: Zhenzhong Duan To: qemu-devel@nongnu.org Cc: alex.williamson@redhat.com, clg@redhat.com, eric.auger@redhat.com, nicolinc@nvidia.com, joao.m.martins@oracle.com, yi.l.liu@intel.com, chao.p.peng@intel.com, Zhenzhong Duan Subject: [PATCH v2 1/5] vfio/iommufd: Make a separate call to get IOMMU capabilities Date: Wed, 23 Apr 2025 15:28:20 +0800 Message-Id: <20250423072824.3647952-2-zhenzhong.duan@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423072824.3647952-1-zhenzhong.duan@intel.com> References: <20250423072824.3647952-1-zhenzhong.duan@intel.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=198.175.65.13; envelope-from=zhenzhong.duan@intel.com; helo=mgamail.intel.com X-Spam_score_int: -47 X-Spam_score: -4.8 X-Spam_bar: ---- X-Spam_report: (-4.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.411, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1745393565189019000 Currently we depend on .realize() calling iommufd_backend_get_device_info() to get IOMMU capabilities and check for dirty page tracking support. By make a extra separate call, this dependency is removed. This happens only during device attach, it's not a hot path. Suggested-by: C=C3=A9dric Le Goater Signed-off-by: Zhenzhong Duan Reviewed-by: C=C3=A9dric Le Goater --- hw/vfio/iommufd.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/hw/vfio/iommufd.c b/hw/vfio/iommufd.c index 48db105422..2253778b3a 100644 --- a/hw/vfio/iommufd.c +++ b/hw/vfio/iommufd.c @@ -287,7 +287,8 @@ static bool iommufd_cdev_autodomains_get(VFIODevice *vb= asedev, { ERRP_GUARD(); IOMMUFDBackend *iommufd =3D vbasedev->iommufd; - uint32_t flags =3D 0; + uint32_t type, flags =3D 0; + uint64_t hw_caps; VFIOIOASHwpt *hwpt; uint32_t hwpt_id; int ret; @@ -324,7 +325,12 @@ static bool iommufd_cdev_autodomains_get(VFIODevice *v= basedev, * vfio_migration_realize() may decide to use VF dirty tracking * instead. */ - if (vbasedev->hiod->caps.hw_caps & IOMMU_HW_CAP_DIRTY_TRACKING) { + if (!iommufd_backend_get_device_info(vbasedev->iommufd, vbasedev->devi= d, + &type, NULL, 0, &hw_caps, errp)) { + return false; + } + + if (hw_caps & IOMMU_HW_CAP_DIRTY_TRACKING) { flags =3D IOMMU_HWPT_ALLOC_DIRTY_TRACKING; } =20 --=20 2.34.1 From nobody Sat Nov 15 23:38:11 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1745393616; cv=none; d=zohomail.com; s=zohoarc; b=hX1/eFFE4XSkFj+4mB50fFQfkQ5KfLeVOibaM/0yVYb2wqf5mY/Y1Cq+HUE/c+PTdO2SZnIVSDPVESgQABE88ETqtINMxnXGyj8IloG5qN817K+NU6JcImxzNzypGakQjEIhiHF6UGFOk0c3Hxw05x3zGazGIpYbov4peDv/40A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745393616; 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=YvmT/8MVtdArD012gkFt5uKcL1GHzTS0c9aVSrn5s1g=; b=iR1giPo025OQ2kMbQpY5ak1DyGsEloz5ZcH2Lc2FOKd8nOGIImKw4L1DXJGD6jamh/U3/nhwsu2aWDFpsL2YcTRRzQYaphXiNK87tboHCr7ih57MjgVXU5tEudhIHVzJKsb7Yn13aRcjHmaKVnCIVJ/hr0yZYNylpbkWTl9/Vf0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1745393616129331.1552665481988; Wed, 23 Apr 2025 00:33:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7Uam-0006lZ-EO; Wed, 23 Apr 2025 03:32:26 -0400 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 1u7Uag-0006iP-6s for qemu-devel@nongnu.org; Wed, 23 Apr 2025 03:32:18 -0400 Received: from mgamail.intel.com ([198.175.65.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u7Uad-0002Zo-2V for qemu-devel@nongnu.org; Wed, 23 Apr 2025 03:32:17 -0400 Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2025 00:32:13 -0700 Received: from spr-s2600bt.bj.intel.com ([10.240.192.127]) by fmviesa005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2025 00:32:10 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745393535; x=1776929535; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=vlFuPxsR6uS+fFiMpn/jKofj1bN5I++7yqnDWf8SOZY=; b=ktLazdBxvuneTY68dpMajfq03QNeR+wx60J4O4igbTX5GF8FBF3C7VG7 /Dtnokn1LN3mJshTCOJ+aRKYKUMsLWg4/i4Yo1Oo0WtdyzHYB8xAt7Odf NF9stxkPUJDFrllfemKDMxoMpsFrXUnSPW8sT0wT5m2aMTJkL87moAZ+a ZHB4JBBMZh7XyJ3q4WAGyrFPYRB7BA+MhbjO7OCZYTu6LUgjSREaqxcYh TAzkmJN8CEezMEbUkZ0gKVDDY5yuOWXav/fVqhhBvqwwVNxDxPIiEFtQ5 M1m2kVg5C2xVcNGA8rYf9NkyOSCl9kTTeazRp7k7P0BuhD4ivr4cZGPlM w==; X-CSE-ConnectionGUID: tRSnw8O3QaWl6py5/YjtWQ== X-CSE-MsgGUID: yZHA9dJzRYeqXglPY5F+QA== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="57959260" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="57959260" X-CSE-ConnectionGUID: f0EasS5qQTWMvzhA1zutwg== X-CSE-MsgGUID: OVXgAzh3TuiVnZvzQL2BfA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="137025358" From: Zhenzhong Duan To: qemu-devel@nongnu.org Cc: alex.williamson@redhat.com, clg@redhat.com, eric.auger@redhat.com, nicolinc@nvidia.com, joao.m.martins@oracle.com, yi.l.liu@intel.com, chao.p.peng@intel.com, Zhenzhong Duan , Donald Dutile Subject: [PATCH v2 2/5] vfio/iommufd: Move realize() after attachment Date: Wed, 23 Apr 2025 15:28:21 +0800 Message-Id: <20250423072824.3647952-3-zhenzhong.duan@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423072824.3647952-1-zhenzhong.duan@intel.com> References: <20250423072824.3647952-1-zhenzhong.duan@intel.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=198.175.65.13; envelope-from=zhenzhong.duan@intel.com; helo=mgamail.intel.com X-Spam_score_int: -47 X-Spam_score: -4.8 X-Spam_bar: ---- X-Spam_report: (-4.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.411, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1745393616853019000 Previously device attaching depends on realize() getting host IOMMU capabilities to check dirty tracking support. Now we have a separate call to ioctl(IOMMU_GET_HW_INFO) to get host IOMMU capabilities and check that for dirty tracking support, there is no dependency any more, move realize() call after attachment succeed. Suggested-by: C=C3=A9dric Le Goater Suggested-by: Donald Dutile Signed-off-by: Zhenzhong Duan Reviewed-by: C=C3=A9dric Le Goater Reviewed-by: Joao Martins --- hw/vfio/iommufd.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/hw/vfio/iommufd.c b/hw/vfio/iommufd.c index 2253778b3a..f273dc8712 100644 --- a/hw/vfio/iommufd.c +++ b/hw/vfio/iommufd.c @@ -500,17 +500,6 @@ static bool iommufd_cdev_attach(const char *name, VFIO= Device *vbasedev, =20 space =3D vfio_address_space_get(as); =20 - /* - * The HostIOMMUDevice data from legacy backend is static and doesn't = need - * any information from the (type1-iommu) backend to be initialized. In - * contrast however, the IOMMUFD HostIOMMUDevice data requires the iom= mufd - * FD to be connected and having a devid to be able to successfully ca= ll - * iommufd_backend_get_device_info(). - */ - if (!vfio_device_hiod_realize(vbasedev, errp)) { - goto err_alloc_ioas; - } - /* try to attach to an existing container in this space */ QLIST_FOREACH(bcontainer, &space->containers, next) { container =3D container_of(bcontainer, VFIOIOMMUFDContainer, bcont= ainer); @@ -585,6 +574,10 @@ found_container: goto err_listener_register; } =20 + if (!vfio_device_hiod_realize(vbasedev, errp)) { + goto err_hiod_realize; + } + /* * TODO: examine RAM_BLOCK_DISCARD stuff, should we do group level * for discarding incompatibility check as well? @@ -606,6 +599,8 @@ found_container: vbasedev->num_regions, vbasedev->flags); return true; =20 +err_hiod_realize: + vfio_cpr_unregister_container(bcontainer); err_listener_register: iommufd_cdev_ram_block_discard_disable(false); err_discard_disable: --=20 2.34.1 From nobody Sat Nov 15 23:38:11 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1745393586; cv=none; d=zohomail.com; s=zohoarc; b=Z++WSe3pceabq08HXzNDXJ4bFfInFavTAecr2Zx7ZbmI9r8WmEwtSMUt9Uaj957IT0iIc+fmxhNwkttyGySPVFWDJOwx21tr6HwruXEy/iGNMGQCAiFlmEUI/GEqbJrBc2lpgw35SIyiMrKJbH3yywtPLfqeI/CO62xCGR8ZQCk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745393586; 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=uopCBv1D+THC1egS7adCt+WYsQ+BYn5M7TXLl82IPQ0=; b=YRIz2uCEFDq5ZZQxMgfvbkfzisZTPL9m+7Z7YeuNsiPxrKFSkmrsvE/k/UFMe+RJU8c/cQcv60yBWRarkzayBNR7kxpW14MzVBTdI1La9K/mruQxbCuQn1AJ7KW8NIvwQ/2VrzrQCNq3R1si4IFDCj1B5IQO3u8y5D3cS2srkS0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1745393586175858.8529075330816; Wed, 23 Apr 2025 00:33:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7Uat-0006xu-LR; Wed, 23 Apr 2025 03:32:31 -0400 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 1u7Uag-0006iT-G1 for qemu-devel@nongnu.org; Wed, 23 Apr 2025 03:32:19 -0400 Received: from mgamail.intel.com ([198.175.65.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u7Uae-0002Yx-Iu for qemu-devel@nongnu.org; Wed, 23 Apr 2025 03:32:18 -0400 Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2025 00:32:16 -0700 Received: from spr-s2600bt.bj.intel.com ([10.240.192.127]) by fmviesa005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2025 00:32:13 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745393537; x=1776929537; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=NlpEfLjZRJq34lAeg6e2Aev6egagW09MJafNDS8LbUI=; b=jwOcLvKcYvaqgEj9iNQTRyKbwqMBAp88ak8hIdB2FoEViH5qREV17FcH 0hvRtixmau3YYjsmu8B3T/yo9yix0msYIHsRTz+bO2Y4/Jwq/W5dV7OaB Q/OX4MVoTUFNQkwdlXq2bCOoxsA3lfpCP8WF9tblILCNcVvYGC+Tgc41f 6iV7g/vwGPPYycrmZd2y8NylWylykyhRiG3GRzaZ+IC/4zuUgstrbFzG1 wzx9M1JKT0a99IEApPLBuS6eilWe60uT/qFencWCEcGIixk2899Az7VGY 5lQdR2gUcT54KbbMGqSXrGbLQaxbIia+yz5hLNJgBP4HmDqZbP6Z77CV9 w==; X-CSE-ConnectionGUID: vij/yuK0RoWP+yiGlH2/9A== X-CSE-MsgGUID: it7/7SGPR+SJZv1zN8TL7g== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="57959264" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="57959264" X-CSE-ConnectionGUID: HY/oIUeIRyW9eDi7hseZTQ== X-CSE-MsgGUID: z16Ttga6RKS/TjrN9qsyxg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="137025376" From: Zhenzhong Duan To: qemu-devel@nongnu.org Cc: alex.williamson@redhat.com, clg@redhat.com, eric.auger@redhat.com, nicolinc@nvidia.com, joao.m.martins@oracle.com, yi.l.liu@intel.com, chao.p.peng@intel.com, Zhenzhong Duan , Donald Dutile Subject: [PATCH v2 3/5] vfio/container: Move realize() after attachment Date: Wed, 23 Apr 2025 15:28:22 +0800 Message-Id: <20250423072824.3647952-4-zhenzhong.duan@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423072824.3647952-1-zhenzhong.duan@intel.com> References: <20250423072824.3647952-1-zhenzhong.duan@intel.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=198.175.65.13; envelope-from=zhenzhong.duan@intel.com; helo=mgamail.intel.com X-Spam_score_int: -47 X-Spam_score: -4.8 X-Spam_bar: ---- X-Spam_report: (-4.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.411, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1745393586739019000 To match the change for IOMMUFD backend, move realize() after attachment for legacy backend too. Suggested-by: C=C3=A9dric Le Goater Suggested-by: Donald Dutile Signed-off-by: Zhenzhong Duan Reviewed-by: C=C3=A9dric Le Goater --- hw/vfio/container.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/hw/vfio/container.c b/hw/vfio/container.c index 23a3373470..1bb8e2de6c 100644 --- a/hw/vfio/container.c +++ b/hw/vfio/container.c @@ -883,10 +883,6 @@ static bool vfio_legacy_attach_device(const char *name= , VFIODevice *vbasedev, =20 trace_vfio_device_attach(vbasedev->name, groupid); =20 - if (!vfio_device_hiod_realize(vbasedev, errp)) { - return false; - } - group =3D vfio_group_get(groupid, as, errp); if (!group) { return false; @@ -895,13 +891,15 @@ static bool vfio_legacy_attach_device(const char *nam= e, VFIODevice *vbasedev, QLIST_FOREACH(vbasedev_iter, &group->device_list, next) { if (strcmp(vbasedev_iter->name, vbasedev->name) =3D=3D 0) { error_setg(errp, "device is already attached"); - vfio_group_put(group); - return false; + goto group_put_exit; } } if (!vfio_device_get(group, name, vbasedev, errp)) { - vfio_group_put(group); - return false; + goto group_put_exit; + } + + if (!vfio_device_hiod_realize(vbasedev, errp)) { + goto device_put_exit; } =20 bcontainer =3D &group->container->bcontainer; @@ -910,6 +908,12 @@ static bool vfio_legacy_attach_device(const char *name= , VFIODevice *vbasedev, QLIST_INSERT_HEAD(&vfio_device_list, vbasedev, global_next); =20 return true; + +device_put_exit: + vfio_device_put(vbasedev); +group_put_exit: + vfio_group_put(group); + return false; } =20 static void vfio_legacy_detach_device(VFIODevice *vbasedev) --=20 2.34.1 From nobody Sat Nov 15 23:38:11 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1745393590; cv=none; d=zohomail.com; s=zohoarc; b=QXXqE6o3XSary7y+rjsD0Y+vtepBw7tQRWOwSnaBGsK4npw0RZ0TiGTBhcC6LJnVUL4m0hh4tTOz35Tn/LOcWNRRhawFYG81jWwiLnWD8o1beLdEMS5dz9vBreaCKGNjnH73R+dMoIEsPeiwfHK4HgNDA8qo9HrO3os7RUV2EZQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745393590; 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=Z/sKeB+VfiwRxc657w4vusZn0EOamc7GAF6HATJjz8o=; b=c9hSYAmeO+15uKua/g9erKzYjjA1KduQ9sHF0AoeP5o5Jp4YArWDf5JKyATvBcTCnEFzuUIFxUy8fBVgG2CcrLHcrtEUwmMyyYOrly9fcI/tw17t6bCVAoxpkf4moRgWuOUPr9rFB2AbMIWoJwtzNRIQAracUITCNXN5v4mcTks= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1745393590855479.0634372653982; Wed, 23 Apr 2025 00:33:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7Uas-0006wl-KN; Wed, 23 Apr 2025 03:32:30 -0400 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 1u7Uaj-0006jM-GN for qemu-devel@nongnu.org; Wed, 23 Apr 2025 03:32:22 -0400 Received: from mgamail.intel.com ([198.175.65.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u7Uah-0002Yx-BQ for qemu-devel@nongnu.org; Wed, 23 Apr 2025 03:32:21 -0400 Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2025 00:32:18 -0700 Received: from spr-s2600bt.bj.intel.com ([10.240.192.127]) by fmviesa005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2025 00:32:16 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745393539; x=1776929539; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4aYU2aYrGZv6Ifhv0cwF9ZzIZVaej/rWoKf+nIOTJao=; b=U4eZxYrrNZF99p55XV7NBz0jysihY1cm/4B10NlW1mi984rWAJEAX9Cm Osu+cAbXhypf7w7flv2LVDCaa4ekKR6WUp1yr20TvyqtgQmmhiw0SZ1Dn FNqMl9960eE6sT8UiOQHHmZQ0x5o0kMh9UaC1Ke12qrw3XSp/T3LK4ati WkhUfXS3dc4fYjtjQhM2l/UxazTCSzhbEPL3uB2gm7jXfmpG154C4BXdf qCGHuQlGD+Vkf5Aio4+8nWHdcgGrtg4ETGaPmFsbCxHK8BOVRTz6tzXUu Dp1OOnLQuSF8Pw/lBSd8VWna1zIJ//RWLwqV9GMCza2hzDO5JzW66qhmT g==; X-CSE-ConnectionGUID: ixl9HH4SR+yAgM5wPQFcHg== X-CSE-MsgGUID: RJ58yXmMQNG+oZkuPI5dsg== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="57959270" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="57959270" X-CSE-ConnectionGUID: EEGeXqPYR1KTGTUsIKWUQg== X-CSE-MsgGUID: sze0xJy/Qeew13k5jgDuYw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="137025390" From: Zhenzhong Duan To: qemu-devel@nongnu.org Cc: alex.williamson@redhat.com, clg@redhat.com, eric.auger@redhat.com, nicolinc@nvidia.com, joao.m.martins@oracle.com, yi.l.liu@intel.com, chao.p.peng@intel.com, Zhenzhong Duan Subject: [PATCH v2 4/5] vfio: Cleanup host IOMMU device creation Date: Wed, 23 Apr 2025 15:28:23 +0800 Message-Id: <20250423072824.3647952-5-zhenzhong.duan@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423072824.3647952-1-zhenzhong.duan@intel.com> References: <20250423072824.3647952-1-zhenzhong.duan@intel.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=198.175.65.13; envelope-from=zhenzhong.duan@intel.com; helo=mgamail.intel.com X-Spam_score_int: -47 X-Spam_score: -4.8 X-Spam_bar: ---- X-Spam_report: (-4.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.411, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1745393594172019100 realize() is now moved after attachment, do the same for hiod creation. Introduce a new function vfio_device_hiod_create_and_realize() to do them all in one go. Suggested-by: C=C3=A9dric Le Goater Signed-off-by: Zhenzhong Duan Reviewed-by: C=C3=A9dric Le Goater --- include/hw/vfio/vfio-device.h | 3 ++- hw/vfio/container.c | 5 ++++- hw/vfio/device.c | 33 ++++++++++++++------------------- hw/vfio/iommufd.c | 4 +++- 4 files changed, 23 insertions(+), 22 deletions(-) diff --git a/include/hw/vfio/vfio-device.h b/include/hw/vfio/vfio-device.h index 66797b4c92..65fa67e65a 100644 --- a/include/hw/vfio/vfio-device.h +++ b/include/hw/vfio/vfio-device.h @@ -123,7 +123,8 @@ bool vfio_device_irq_set_signaling(VFIODevice *vbasedev= , int index, int subindex =20 void vfio_device_reset_handler(void *opaque); bool vfio_device_is_mdev(VFIODevice *vbasedev); -bool vfio_device_hiod_realize(VFIODevice *vbasedev, Error **errp); +bool vfio_device_hiod_create_and_realize(VFIODevice *vbasedev, + const char *typename, Error **err= p); bool vfio_device_attach(char *name, VFIODevice *vbasedev, AddressSpace *as, Error **errp); void vfio_device_detach(VFIODevice *vbasedev); diff --git a/hw/vfio/container.c b/hw/vfio/container.c index 1bb8e2de6c..2de20692d1 100644 --- a/hw/vfio/container.c +++ b/hw/vfio/container.c @@ -898,7 +898,9 @@ static bool vfio_legacy_attach_device(const char *name,= VFIODevice *vbasedev, goto group_put_exit; } =20 - if (!vfio_device_hiod_realize(vbasedev, errp)) { + if (!vfio_device_hiod_create_and_realize(vbasedev, + TYPE_HOST_IOMMU_DEVICE_LEGACY= _VFIO, + errp)) { goto device_put_exit; } =20 @@ -924,6 +926,7 @@ static void vfio_legacy_detach_device(VFIODevice *vbase= dev) QLIST_REMOVE(vbasedev, container_next); vbasedev->bcontainer =3D NULL; trace_vfio_device_detach(vbasedev->name, group->groupid); + object_unref(vbasedev->hiod); vfio_device_put(vbasedev); vfio_group_put(group); } diff --git a/hw/vfio/device.c b/hw/vfio/device.c index 4de6948cf4..d625a7c4db 100644 --- a/hw/vfio/device.c +++ b/hw/vfio/device.c @@ -347,15 +347,24 @@ bool vfio_device_is_mdev(VFIODevice *vbasedev) return subsys && (strcmp(subsys, "/sys/bus/mdev") =3D=3D 0); } =20 -bool vfio_device_hiod_realize(VFIODevice *vbasedev, Error **errp) +bool vfio_device_hiod_create_and_realize(VFIODevice *vbasedev, + const char *typename, Error **err= p) { - HostIOMMUDevice *hiod =3D vbasedev->hiod; + HostIOMMUDevice *hiod; =20 - if (!hiod) { + if (vbasedev->mdev) { return true; } =20 - return HOST_IOMMU_DEVICE_GET_CLASS(hiod)->realize(hiod, vbasedev, errp= ); + hiod =3D HOST_IOMMU_DEVICE(object_new(typename)); + + if (!HOST_IOMMU_DEVICE_GET_CLASS(hiod)->realize(hiod, vbasedev, errp))= { + object_unref(hiod); + return false; + } + + vbasedev->hiod =3D hiod; + return true; } =20 VFIODevice *vfio_get_vfio_device(Object *obj) @@ -372,7 +381,6 @@ bool vfio_device_attach(char *name, VFIODevice *vbasede= v, { const VFIOIOMMUClass *ops =3D VFIO_IOMMU_CLASS(object_class_by_name(TYPE_VFIO_IOMMU_LEGACY)); - HostIOMMUDevice *hiod =3D NULL; =20 if (vbasedev->iommufd) { ops =3D VFIO_IOMMU_CLASS(object_class_by_name(TYPE_VFIO_IOMMU_IOMM= UFD)); @@ -380,19 +388,7 @@ bool vfio_device_attach(char *name, VFIODevice *vbased= ev, =20 assert(ops); =20 - - if (!vbasedev->mdev) { - hiod =3D HOST_IOMMU_DEVICE(object_new(ops->hiod_typename)); - vbasedev->hiod =3D hiod; - } - - if (!ops->attach_device(name, vbasedev, as, errp)) { - object_unref(hiod); - vbasedev->hiod =3D NULL; - return false; - } - - return true; + return ops->attach_device(name, vbasedev, as, errp); } =20 void vfio_device_detach(VFIODevice *vbasedev) @@ -400,6 +396,5 @@ void vfio_device_detach(VFIODevice *vbasedev) if (!vbasedev->bcontainer) { return; } - object_unref(vbasedev->hiod); VFIO_IOMMU_GET_CLASS(vbasedev->bcontainer)->detach_device(vbasedev); } diff --git a/hw/vfio/iommufd.c b/hw/vfio/iommufd.c index f273dc8712..8a010a51ea 100644 --- a/hw/vfio/iommufd.c +++ b/hw/vfio/iommufd.c @@ -574,7 +574,8 @@ found_container: goto err_listener_register; } =20 - if (!vfio_device_hiod_realize(vbasedev, errp)) { + if (!vfio_device_hiod_create_and_realize(vbasedev, + TYPE_HOST_IOMMU_DEVICE_IOMMUFD_VFIO, errp)) { goto err_hiod_realize; } =20 @@ -630,6 +631,7 @@ static void iommufd_cdev_detach(VFIODevice *vbasedev) iommufd_cdev_ram_block_discard_disable(false); } =20 + object_unref(vbasedev->hiod); vfio_cpr_unregister_container(bcontainer); iommufd_cdev_detach_container(vbasedev, container); iommufd_cdev_container_destroy(container); --=20 2.34.1 From nobody Sat Nov 15 23:38:11 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1745393610; cv=none; d=zohomail.com; s=zohoarc; b=O3iWTSik2XVss1RemBWQUf0NL6hbur7jbfQ7Y0gDFZHLqZ0B6NumiEgB7/WBLT+YqjZnLw24euB/1PIDSygO8ehu3WL/eSf6j4pUr8R557yJlx6cxVC70A1dXixPiJDr/MqAziDtnOIrvBx1Vc0Byg7+2qUE5Nz0hLZqEkEP4nM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745393610; 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=CYYfIXe4gdESE2g73wneh9fINgJzYfhzKlxzshDkDKc=; b=Z/ZlzsRrNgsgOF0GElvLfx7o5vy+TJ9Yv1Vq7k8DLC+l5kU8TKv+7tOwf2Q9BpyREGeaL3U4H36iXMxjgXiPzqB+0mmeE+NNRO/xhklzCdMoi8LMel5BQ9KKc+muVQApBf/TotvQ0B/6i9n8vHRGw/BS8Zo0j89PbGLa0H2x0k0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1745393610166549.4264129598265; Wed, 23 Apr 2025 00:33:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u7Uau-0006yD-KC; Wed, 23 Apr 2025 03:32:32 -0400 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 1u7Ual-0006lL-Oo for qemu-devel@nongnu.org; Wed, 23 Apr 2025 03:32:24 -0400 Received: from mgamail.intel.com ([198.175.65.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u7Uaj-0002Yx-St for qemu-devel@nongnu.org; Wed, 23 Apr 2025 03:32:23 -0400 Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2025 00:32:21 -0700 Received: from spr-s2600bt.bj.intel.com ([10.240.192.127]) by fmviesa005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2025 00:32:19 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745393542; x=1776929542; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=NFHIgO7COkrKD1Ir5wbN+MQuN1OrvqmikKrinbhohkE=; b=Fy9TbsHwq64xKO7DI7t+sT6wmeB5A40a7qS6uJnRjYJ/nuRawo+bBsMr kkecxnxPvH5FgC4Pt71prU732UY5r5djFrbpMT2S/mpYih0w6WI8BSl27 VY/VyPSdU4QbGfPfBqF/4L9TW5dL6bXTGKUNtdXDAksWU1YSgXEvfWV1e JRBZ2ebXGwyiC+dGJFMFimlEIt0QyAO8CZXiz5Hj9j/VQPJ+yssi4vu0o dbSsReW0viFJMfgfy56sWc2e/u2UhZUfRjZ4Z94xcvJ2ibrelPZBCCHr6 TQ9DXC5FGof62a0qZ4Je+D1J4LcVyY7MPtzXWaCO7uxUTycJwHLtqufFO g==; X-CSE-ConnectionGUID: /hl6OFgERSGc7UImhIsNQw== X-CSE-MsgGUID: SnoobnMRT5yf/GFmdQdYIA== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="57959284" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="57959284" X-CSE-ConnectionGUID: I+e0wi8QRdCKAJyAMt0czg== X-CSE-MsgGUID: kL0uStl0Te+NP8HCLbtJAQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="137025400" From: Zhenzhong Duan To: qemu-devel@nongnu.org Cc: alex.williamson@redhat.com, clg@redhat.com, eric.auger@redhat.com, nicolinc@nvidia.com, joao.m.martins@oracle.com, yi.l.liu@intel.com, chao.p.peng@intel.com, Zhenzhong Duan Subject: [PATCH v2 5/5] vfio: Remove hiod_typename property Date: Wed, 23 Apr 2025 15:28:24 +0800 Message-Id: <20250423072824.3647952-6-zhenzhong.duan@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423072824.3647952-1-zhenzhong.duan@intel.com> References: <20250423072824.3647952-1-zhenzhong.duan@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=198.175.65.13; envelope-from=zhenzhong.duan@intel.com; helo=mgamail.intel.com X-Spam_score_int: -47 X-Spam_score: -4.8 X-Spam_bar: ---- X-Spam_report: (-4.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.411, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1745393610824019000 Content-Type: text/plain; charset="utf-8" Because we handle host IOMMU device creation in each container backend, we know which type name to use, so hiod_typename property is useless now, just remove it. Signed-off-by: Zhenzhong Duan Reviewed-by: C=C3=A9dric Le Goater --- include/hw/vfio/vfio-container-base.h | 3 --- hw/vfio/container.c | 2 -- hw/vfio/iommufd.c | 2 -- 3 files changed, 7 deletions(-) diff --git a/include/hw/vfio/vfio-container-base.h b/include/hw/vfio/vfio-c= ontainer-base.h index a441932be7..d9f3468f6b 100644 --- a/include/hw/vfio/vfio-container-base.h +++ b/include/hw/vfio/vfio-container-base.h @@ -115,9 +115,6 @@ OBJECT_DECLARE_TYPE(VFIOContainerBase, VFIOIOMMUClass, = VFIO_IOMMU) struct VFIOIOMMUClass { ObjectClass parent_class; =20 - /* Properties */ - const char *hiod_typename; - /* basic feature */ bool (*setup)(VFIOContainerBase *bcontainer, Error **errp); int (*dma_map)(const VFIOContainerBase *bcontainer, diff --git a/hw/vfio/container.c b/hw/vfio/container.c index 2de20692d1..a28f0668db 100644 --- a/hw/vfio/container.c +++ b/hw/vfio/container.c @@ -1103,8 +1103,6 @@ static void vfio_iommu_legacy_class_init(ObjectClass = *klass, void *data) { VFIOIOMMUClass *vioc =3D VFIO_IOMMU_CLASS(klass); =20 - vioc->hiod_typename =3D TYPE_HOST_IOMMU_DEVICE_LEGACY_VFIO; - vioc->setup =3D vfio_legacy_setup; vioc->dma_map =3D vfio_legacy_dma_map; vioc->dma_unmap =3D vfio_legacy_dma_unmap; diff --git a/hw/vfio/iommufd.c b/hw/vfio/iommufd.c index 8a010a51ea..f24054a6a5 100644 --- a/hw/vfio/iommufd.c +++ b/hw/vfio/iommufd.c @@ -795,8 +795,6 @@ static void vfio_iommu_iommufd_class_init(ObjectClass *= klass, void *data) { VFIOIOMMUClass *vioc =3D VFIO_IOMMU_CLASS(klass); =20 - vioc->hiod_typename =3D TYPE_HOST_IOMMU_DEVICE_IOMMUFD_VFIO; - vioc->dma_map =3D iommufd_cdev_map; vioc->dma_unmap =3D iommufd_cdev_unmap; vioc->attach_device =3D iommufd_cdev_attach; --=20 2.34.1