From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1995AD1715D for ; Tue, 22 Oct 2024 04:42:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:CC:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=1262cMGtRhZ3563nSrc/oO9okLNC4TdigHoMTQqtAsc=; b=sA5/ZuAHaf+kPggQA/RwI8CCU7 T1hTC0XSlRKoa5dTdpnKkC4nYczOnCLDLxcuWYMs8SAnt2i2RUnIvvmbJJFKFdzN/MX8AHL+youWL 4Vw0nxMweAD7WKo67fBvlYnVPeqVY7xrXRu82aNjgQzCvBOK9GC/yWYmsDaxq7uiz30nVBuVhsMrv gTSU1qgIXlV4oEoM9sYJbZxRutZNj5Ym/Ek+d/gUIPXJcxQhwVORzTOcbdqNXJQN3cRfPVLmacBfe jwoSfOGte8RH/tePQniDdKJDjm1XfFsLwVhg9Xk6vSnHMKYQao1G1tO45LvqDndoGcIPul5fobVFB 77Lcp53A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t36if-00000009aBT-11J8; Tue, 22 Oct 2024 04:42:09 +0000 Received: from mail-bn8nam11on20621.outbound.protection.outlook.com ([2a01:111:f403:2414::621] helo=NAM11-BN8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1t36h8-00000009ZuG-2E73 for linux-arm-kernel@lists.infradead.org; Tue, 22 Oct 2024 04:40:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y6AHIAtjw4qZU7m3cknyfhR+he2cvNCy7Z3+oLkFgcK2lfFQ1PUGIKi+WcqhbAFGbe4W5wuomCC0CFyT0KjVdoCV1t1+4I2i6enyxcFvpyWlkzm+Vp5MTJHe9qruufo9RIjp0KmRXNDtWlV81t9xnWBXlew5PAFTA9eiFAAoOgpvt+JJQVb++d/BzqU9Mnk3uPcbLOxVzeJk+iWdg9bMfwR4Ul1DQuJ7K5aVsGbiKNYbJjD6bueE/rJEk6tw1ClSLHl4LmZu9+d0+YxnRvLUZKs36/uvTyFR/ad9oIwpspNgFivwecc9Lz4CW4RHs14HL2bl8sDyunw+Qw6fAjNT+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1262cMGtRhZ3563nSrc/oO9okLNC4TdigHoMTQqtAsc=; b=cIjlIJ+K+kDnVrT98pFUdgfxeunxUxwDPAYl8iSTFaOiofJoVl/IsD0Wo+BxE+LtjqBbJVpF+I6tMPLHqa6LGF64XZ096Or5y+Ui1SI82iFIkDUTm/Hb247fEwpydqRNYS3jT5fMA8JxAlpKYdiaN5xLYhvnjpeYFIzA/KvqaLdApkdwUX0rd5A5J8nakZ4w/VnGUM3p7mrUdJAVhlFnam3YKyPc3UXm+g+cns4TE3l/1EXzmmGKA6Z5u8Z9LPuafdbEWv3UAr38ftm+T4Hp+FFt076NMpwdom6sycLCfcffbtSQwhbBCTKbbXM8K5pLSTWCBOUr+MlI7GnvTswXow== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=linux.intel.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1262cMGtRhZ3563nSrc/oO9okLNC4TdigHoMTQqtAsc=; b=r5yAv0kORYav34i2GzMX0iAFe5M4bNkJyF2fAgDlKri4Vn8Ubmq+lHxc28ZbvZNWyfyyClJZeqy4SHAyrzDxPNrjez8HwedZ5U9+3Y/poHYzyfyQpqqYhZ5C8Ks8tQtl6QEFSdtgRZm2g4xPGstUhZIHR70vMaTX02X8rHM6cPGmHimlIv8s0vTGqQoaMvDpX5VXxKT/yPCv/+6GolKHHoDiMQhY60ug1fvVLz5HIajEb+y0Dvk39NzpGQbZ0LRhtGHKCoyGs6unLQthPmelCgvkpfmJKHTNT67qB1meXafFUk7554/VpFhe7T8fMTV+j6nrRxtaXJ5qPEKFUQzl4A== Received: from MW3PR05CA0028.namprd05.prod.outlook.com (2603:10b6:303:2b::33) by PH7PR12MB6979.namprd12.prod.outlook.com (2603:10b6:510:1b9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.29; Tue, 22 Oct 2024 04:40:23 +0000 Received: from BN1PEPF0000468B.namprd05.prod.outlook.com (2603:10b6:303:2b:cafe::e7) by MW3PR05CA0028.outlook.office365.com (2603:10b6:303:2b::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.16 via Frontend Transport; Tue, 22 Oct 2024 04:40:22 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by BN1PEPF0000468B.mail.protection.outlook.com (10.167.243.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.14 via Frontend Transport; Tue, 22 Oct 2024 04:40:22 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 21 Oct 2024 21:40:08 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 21 Oct 2024 21:40:07 -0700 Received: from nvidia.com (10.127.8.12) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4 via Frontend Transport; Mon, 21 Oct 2024 21:40:06 -0700 Date: Mon, 21 Oct 2024 21:40:05 -0700 From: Nicolin Chen To: Baolu Lu CC: , , , , , , , , , , , , , , , , , , , , , Subject: Re: [PATCH v4 02/11] iommufd: Introduce IOMMUFD_OBJ_VIOMMU and its related struct Message-ID: References: <74fec8c38a7d568bd88beba9082b4a5a4bc2046f.1729553811.git.nicolinc@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN1PEPF0000468B:EE_|PH7PR12MB6979:EE_ X-MS-Office365-Filtering-Correlation-Id: a0a21a9a-696f-41b2-d5c8-08dcf253a3ae X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|7416014|376014|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?LgGvZM/eEGLBZiWcK0u7bxndzp6qTebqMCJIxiLLlDH6f0FkYuwWrcDiDmek?= =?us-ascii?Q?e5hOWodyWQPbRN5TOrlmPzozRk1fcX3ej2ESxINu59GuENGNR5od8VAUwO41?= =?us-ascii?Q?s9nIvKLPsY24OSG1XwA4eQjP1IG/QZSlPgh6eGiKUDX0sssoiqsZQE4fubWu?= =?us-ascii?Q?CY5xAJNYCZDMyBqBat7A4TlKQ+3VbXgQJpzSTdk1XMEdkKXmkK/qgWvbtuiv?= =?us-ascii?Q?LXzU3cglP9eZx4rUi0i5T6YEeO+haKGPrI9J36AwET3iYXyqh4Xz+Cp1P6d9?= =?us-ascii?Q?fT02QaIEC9tQPXt2FFNThgB9jM2Q7F/ALYoggJbkkPPh8quSHW3ipCMMD6V4?= =?us-ascii?Q?CeQHh8zinisBeeejizHODi+hrtMeXw+NE1lpCyQOqB79PtxzsAJe0dLS5uzZ?= =?us-ascii?Q?yFd3r1QIVLIr6WE8Bpe1K27R9XqY6DGwJ1yG3AA9ybdfzmYp/rS9sxmJvMOj?= =?us-ascii?Q?JmdBKyfZbEMWx2YR+jw2qL/l/wCbPePp4NqnRdK29q5g/EqxHqxGJ2x5ZQW1?= =?us-ascii?Q?527VfAvjwnNJuBmv8a67+OW+gbLjhKhAvuQmio6672qekfp/Bawn6Ci+lTol?= =?us-ascii?Q?+f8CGXgul6r33A4UO4+NpHE4OihdTDOug3Z5YwF5WMK0aJFq8Ga11B+L+05i?= =?us-ascii?Q?LxAC6fLx4oQB5yztv0YzRH47Ki/l8T2faAZ2Eg5hvfDdC88pIOcb0SrDc9cs?= =?us-ascii?Q?I81CUTsg3tOcVkT+Khb62CtN2qEYCz1iYPa+zw656DcK08vFxi+TKLaF8iDM?= =?us-ascii?Q?6NSowPnqKVr9+VxfHAdhLvhvfeHbO3hJVfqDsjVsi1hRGgQir4niShy5cXFJ?= =?us-ascii?Q?2UTMobk3OoG7hK6gmouIax7B+esH6c6NJr2BvTkvw9w+7Wd1CwCTy4ms/5yA?= =?us-ascii?Q?Axohc662oZNHpTMZzwHwUJF3EWJCfGYOYN6cTE8YYw6gfxjBB1r1GVWr1dJD?= =?us-ascii?Q?1yHLFUYHhGfFMXyAXIjrkvdTmgF6p/EgJo+hBONHs9bDyMvZAZOcYimom6fb?= =?us-ascii?Q?hUy0NVPcKG39BbjVXrNwQwS0oZErBSiSQ/I2aLidhdv6Qy7hyjqRx34y6Zu7?= =?us-ascii?Q?q9z13ROzCmkMf2JWVVOcGM0E+V3MlruvUhPl6paEfNpk5tHH1DNLt1wO8iS9?= =?us-ascii?Q?4XuGoFwM4UcMkWpJZHsLN/ZuEU9I+u+A9FWdQ8XJ3rbwR/R9hOJje+6HM6To?= =?us-ascii?Q?4hxdilwe5RJjidNwGPADOPZDJvYaL62RgVWZ2gDII0h2rFcHm+kb0RlkwLOU?= =?us-ascii?Q?h4RXTc71oOZjMjMzISgk+gqCwBDMvPMH2I2rVhFgydhTkCgcx4SS5sRTAOeI?= =?us-ascii?Q?Zm5MaEZwuj29YJ6VUbfvd8FE3mbtRRKaf7LziHritSd/2t9oAxUAzdn/wBaR?= =?us-ascii?Q?Ly+hu4cQOSZp8Foj2D7L4x5YQmWm5ewWGY8fdeyee7yduJi2AQ=3D=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(36860700013)(7416014)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2024 04:40:22.0088 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a0a21a9a-696f-41b2-d5c8-08dcf253a3ae X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN1PEPF0000468B.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6979 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241021_214034_597213_2EB822BA X-CRM114-Status: GOOD ( 15.45 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, Oct 22, 2024 at 10:28:30AM +0800, Baolu Lu wrote: > On 2024/10/22 8:19, Nicolin Chen wrote: > > + * @viommu_alloc: Allocate an iommufd_viommu on a physical IOMMU instance behind > > + * the @dev, as the set of virtualization resources shared/passed > > + * to user space IOMMU instance. And associate it with a nesting > > + * @parent_domain. The @viommu_type must be defined in the header > > + * include/uapi/linux/iommufd.h > > + * It is suggested to call iommufd_viommu_alloc() helper for > > + * a bundled allocation of the core and the driver structures, > > + * using the given @ictx pointer. > > * @pgsize_bitmap: bitmap of all possible supported page sizes > > * @owner: Driver module providing these ops > > * @identity_domain: An always available, always attachable identity > > @@ -591,6 +601,10 @@ struct iommu_ops { > > void (*remove_dev_pasid)(struct device *dev, ioasid_t pasid, > > struct iommu_domain *domain); > > > > + struct iommufd_viommu *(*viommu_alloc)( > > + struct device *dev, struct iommu_domain *parent_domain, > > + struct iommufd_ctx *ictx, unsigned int viommu_type); > > Is the vIOMMU object limited to a parent domain? Yes, for each vIOMMU (a slice of physical IOMMU per VM), one S2 parent domain is enough. Typically, it has the mappings between gPAs and hPAs. If its format/compatibility allows, this single parent domain can be shared with other vIOMMUs. Thanks Nicolin