From nobody Mon Feb 9 11:32:01 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; arc=pass (i=1 dmarc=pass fromdomain=nvidia.com); dmarc=pass(p=reject dis=none) header.from=nvidia.com ARC-Seal: i=2; a=rsa-sha256; t=1769018480; cv=pass; d=zohomail.com; s=zohoarc; b=TyEO4l5/U8v3Yu8cREGVQ1VHgZhyKgl4sW0rp8KCzZMM8z8guiDu8EjW3Pk3ztS9L1hFYu1fHFshYL665cBxS6auzCI5W7cVcsiGg/pe29w3G8Efc3bGXfStJ95k92gJYS3jBGJjkfwM+f4JGITLlyv+6CUeQSZYnu7aH583kR4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769018480; 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=t5BU+DOUQmpX64C1uCWW7bOgE7Mi6tAx5KeioyOARu8=; b=eKFItDGpk+KQrnux2c8ES+VmPY5QczekncCfq9u6WIdGl3YoKB8PQU39Ov8AB74oOqq7ZgRM3QHHAyFLwrf9RVzy9keowjF0w1vZYUxGyKk/pvc1gUqrXXAgFFQ8eEcuEaH+mkG1mfW4qh1fbPnPnq8nrtVih8L8jJMH/PbatcQ= ARC-Authentication-Results: i=2; 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; arc=pass (i=1 dmarc=pass fromdomain=nvidia.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1769018480669589.3602608688626; Wed, 21 Jan 2026 10:01:20 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vicUM-0002L2-I9; Wed, 21 Jan 2026 12:59:31 -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 1vicTM-0008Lc-0w; Wed, 21 Jan 2026 12:58:28 -0500 Received: from mail-westcentralusazlp170130007.outbound.protection.outlook.com ([2a01:111:f403:c112::7] helo=CY3PR05CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vicTK-0002Ci-Cg; Wed, 21 Jan 2026 12:58:27 -0500 Received: from BN9PR03CA0388.namprd03.prod.outlook.com (2603:10b6:408:f7::33) by MN2PR12MB4471.namprd12.prod.outlook.com (2603:10b6:208:26f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.9; Wed, 21 Jan 2026 17:58:17 +0000 Received: from BN2PEPF000044AB.namprd04.prod.outlook.com (2603:10b6:408:f7:cafe::77) by BN9PR03CA0388.outlook.office365.com (2603:10b6:408:f7::33) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.10 via Frontend Transport; Wed, 21 Jan 2026 17:58:17 +0000 Received: from mail.nvidia.com (216.228.117.161) by BN2PEPF000044AB.mail.protection.outlook.com (10.167.243.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Wed, 21 Jan 2026 17:58:17 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Wed, 21 Jan 2026 09:57:54 -0800 Received: from NV-2Y5XW94.nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Wed, 21 Jan 2026 09:57:49 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jPbK4k/DthiCWIQE44HgrafamGjwOdYzELmxc1dLyaxnLaGPMEK3wJ3KL0W8tX3zliAzogOFOW9J7z3GaFg/XPB/F8uIRMsJ2kLRn4Y7sCejGh2NB7oTVOtVZ/O1jwWZE8YeJKtFEyjBwIhUTiKNOMVajO0EkPaTWq179rkU0i61ioPnzyJEBGSGFrlNgQtxPktKYB4O5wa8xsexiupNU3U3izKcZSk381ec1OePSQe/YwR+KstgyLLS6ROkyz5mdX/7B986UB5ChFKedPir8AmLdtIn8Ynv55i9qmMXvzeBiOWl1mWaGHMLfg63YlEPCrbcIO0lWp1SayuVZONuHw== 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=t5BU+DOUQmpX64C1uCWW7bOgE7Mi6tAx5KeioyOARu8=; b=b1vKfjcScayoZ3m8xFh4nGo0uN1/D4hgQgE5Sps9WHmk4SehoLsXVXgJWAf3P7CRBzDlsO7iNltNZk2efROshjuD6lj6w63jChTK+L/ykubkLx53Rf1UQcYH6KV0V1Kovcr+5Mny5SQ9Sv/fSKHxWGH+liODtycld20jbBsmziNtXZeNr5JKY6Tjr6RpiiZiIqdQBzcJ3Z/U+iqESsUuF6OX1AH1dyuCgdZEUHH5oNLekhrEElwSDSOgl6XCwRa4Z9u9IDievxcGWxIH1URjWoJZOZoCpCnWcp0l2RlkFMyDk0jCYuZIpkg/kwEFgpZJIHeyVHOW7i5G7Pk8MzWb3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=nongnu.org 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=t5BU+DOUQmpX64C1uCWW7bOgE7Mi6tAx5KeioyOARu8=; b=ttcwyo2qUkzBeLkjAv1BTT4ActNfLWVRrfnyyaTADCCfA306I+G62sUb/4EuXxUmK8skorSyIqcLDJR/nlkByYEoSGNTmrmdS/+op52v3nztjy0e8td1VyG43A20F6Cv3HQHMsSUDAI+TLB5rqoy7RmFbTr4Nj7eUlGdp5eprEMvy6++LtubLEDU6zEX15Zd3Yfrc9lxiTO3K/U0/xsxexj9KG1aqmE+TDJGZVdSSWqzkAJhZxzYh7TQOo1wnajbsH5lBudlhHSJIxuaeqKzOzEzRJbg1GeRkdy9sePIfyhXbUljuIt2Jrdr7JMhxmgd3vqur1GuhBQYVLICovTU3A== X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; 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 (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 (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C From: Shameer Kolothum To: , CC: , , , , , , , , , , , , , , , , , , Subject: [PATCH v8 32/37] backends/iommufd: Retrieve PASID width from iommufd_backend_get_device_info() Date: Wed, 21 Jan 2026 17:52:37 +0000 Message-ID: <20260121175248.87649-33-skolothumtho@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260121175248.87649-1-skolothumtho@nvidia.com> References: <20260121175248.87649-1-skolothumtho@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail203.nvidia.com (10.129.68.9) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000044AB:EE_|MN2PR12MB4471:EE_ X-MS-Office365-Filtering-Correlation-Id: 5b74c6e6-ed72-430b-6b2d-08de5916a7df X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|36860700013|376014|7416014|82310400026; X-Microsoft-Antispam-Message-Info: =?utf-8?B?ciswcDFpOVNLQlIrcVpST3BEYjBaay9FZmozTGJTajF4enN2N3oxQm44NEZx?= =?utf-8?B?QWRUdGVHS29MbzcyTXJ5YUpKZm0veEh3dzVVcDZRdUdTNGRvNDlIbk5yRnFw?= =?utf-8?B?R21vYWxqaVJrS2FURlhncVBiMW1semovcEZNS3Iwdk1ZSUJiaXR4aU9yZUlY?= =?utf-8?B?OEF4bUFvL2tZbnpnM0NTN2o3VTN3VFdrcDBLQ0dGa2l3MStaYjljczYrVFpS?= =?utf-8?B?ZXptL29ibitSRjFOTXJhVDY4UDBEUkVRSkozdlBSaWc1aUxNM1o2SzlOL3lQ?= =?utf-8?B?QXloS3NiOVpzajQwajFjYXA3K2E0T1JrelJYa2RtMUxPTnlpbGVJVGhvU2pq?= =?utf-8?B?eHFuWGtsS1UzWHozTUo3RzRsU3ZZUThteXgxMjVVbnlIT1J4bWt6UkxOQWtE?= =?utf-8?B?Wk41cktMTWhVRDJSVjN5TFZ5VjZ0MEVhdmZtQUxubnZ2MkY4a0daT09SdW10?= =?utf-8?B?RW9ISXcrMy92U2JpVXlycUI4QXV0SVRSaVJORmM1c1BEcjRCN2NBTWtOOGNp?= =?utf-8?B?ejF6akxDYk1DZGd2aUoyK0pUUFFYeDlHNFVvNG1LTGFNbU9RRjNnMCtaZzFl?= =?utf-8?B?TnhnUGNzaXZQTDZMTEE4eW9pdDR2NUZTYWo4ZkNneFlRczhqUGFjMkp3SlVO?= =?utf-8?B?ZzlyUWM4bmRTdFhJUnJBYStTWlRqeTluZHpjUXBGN1R3YWFxcUw1Rm9rVG42?= =?utf-8?B?VVAramRJc0grRUpzS1I5SllNeWNmMTZxWUo4ejRhSmFJeTBxSmliWStpcDNs?= =?utf-8?B?TFZlRGI4M0NVemVpdS8yY3N4Q2dHSDFuZ21nMkJCdDZxcDRqWnJzZXUvMmpJ?= =?utf-8?B?eEpnbTh4cWM5djFIMzVxN2ZtOVV4SUdpZ1pXdVZpZzZTSEtVbHhESm1tV05y?= =?utf-8?B?V1d6eDFmZlkwYTZNOEZHSzZaVzZNdUh6TFpCVGR5V1JQV1RlcHBncE1mTnFJ?= =?utf-8?B?S3NPWkc4VW5xQk5NdXNKbXVWTlFEMWRRMTlLV2NtZXBRQWVsbWJBUVlGVHpN?= =?utf-8?B?QlJYbDRhdmJXS2JsQ2FlSTNzekZlVmtDbU9VNHgyaHUyMG9aU1UwNWYrUVJh?= =?utf-8?B?Y3ZIa3A1cEtWZ3pLSjR1ZWZRSVQ0Q1p0a3JHcUZkaG15OUFNWDJ2ayt1V3ox?= =?utf-8?B?cUsxYTJ0aG9yL1Rkby9ENkNZcXRsRktDLzVpQWNkbjBucm03SWlDb0VxVElO?= =?utf-8?B?dVdQQWF0bzFwc2Q5eGNnVGVkWWtpTzFtV09mQXYwbXFTYTN5RG5PR3FBdWdo?= =?utf-8?B?Nzk1ZjZ4L0JTeDNkUVNzd1c3VCt2YktNaGJKTUtzY0JnM1FuSnVKMFlMKzM2?= =?utf-8?B?Nm9waEkra2dPR1QzREd4V3RNQzVqNThURGUzTVdEdXNtWGt0NDBQalZ5Mjho?= =?utf-8?B?eWF5Z1JNc1ZCVWg0NUZvWGl4bWVwMXNxUnI4OG9sUzNBcitzUGN2UTRKWGdw?= =?utf-8?B?aG9JL0dmYzZ2K1dIenFSdlJmUEkydkVoVjI5cmpVVHlUcjFBY3d1bGN4Smpr?= =?utf-8?B?ZXVMVzlmUHpUNG5TQm9tMkVFQ2hPV1l1c0hGWnZrOHFzang3eHV4R0hBT1k5?= =?utf-8?B?QXF3NitKdDY5aGk0RWRBZmtxeG1TYUdvOGFHWXJ4dTh1ZGJwQnVKSGVXQjZs?= =?utf-8?B?c1B1aDhySXorR3pNcUxnTkd3dnM2TmFnRGZUUGh2WHVTekdHSkpCQktrUkJw?= =?utf-8?B?K1pOMFNTR0FGTGIxWXZiTS9sRC8yRlJVZTM1cDgrS3MrWlM1VmoyZ1J6S2Jp?= =?utf-8?B?VXA3MFVIaHVDTFBpemN6ZmlPTE1QL0RRS3gxbVFUUEVGaVlndFhWenZLNlB1?= =?utf-8?B?dlpSMGdSOGZQalZUNGFTTWl3S1I4dWE3d3pFdVhtYzRLMERkRVRVUERPTE93?= =?utf-8?B?a3V2d2hUcXd6Mlg1ZThUNFM4b3JGOEVseEtLTEFzb2cvWHVsNmZoZXVMZ3Ar?= =?utf-8?B?VWhjMGk4Q2xSMjZFRE1XVnhCUWFSV3JOYmV3KzVWRGZUdE9PcWZFb20zYjBF?= =?utf-8?B?NUtKMlM4YkExZk5OS0x2ckVHbk5PR241aVRiKzRrUFk1NFpMYzN5ekI4WTdG?= =?utf-8?B?TlV3dHoxRUFqUXF6TGU3bE5Bd2M3OGVJUzlNa2wzVFIzQWx6OWNHUEZvT3l6?= =?utf-8?B?SDdjRHV0TXlXTlZhUnhjVC9KeFIyVEpFZkpRcUxOOXJHd0h0SCtiUXk3eVhU?= =?utf-8?B?dXNsRmZjY1dtUk1Cejl6OW1CeVJpL0RlcFFRVERGd2hialV6b1NIMUZIQlNx?= =?utf-8?B?Zmcya0h1V1p1WFVMOWVzUUVQdXlnPT0=?= X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230040)(1800799024)(36860700013)(376014)(7416014)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2026 17:58:17.1981 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5b74c6e6-ed72-430b-6b2d-08de5916a7df 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.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000044AB.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4471 Received-SPF: permerror client-ip=2a01:111:f403:c112::7; envelope-from=skolothumtho@nvidia.com; helo=CY3PR05CU001.outbound.protection.outlook.com X-Spam_score_int: -11 X-Spam_score: -1.2 X-Spam_bar: - X-Spam_report: (-1.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.069, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FORGED_SPF_HELO=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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 @Nvidia.com) X-ZM-MESSAGEID: 1769018482680158501 Retrieve PASID width from iommufd_backend_get_device_info() and store it in HostIOMMUDeviceCaps for later use. Reviewed-by: Jonathan Cameron Reviewed-by: Eric Auger Tested-by: Zhangfei Gao Reviewed-by: Nicolin Chen Reviewed-by: C=C3=A9dric Le Goater Tested-by: Eric Auger Signed-off-by: Shameer Kolothum --- backends/iommufd.c | 6 +++++- hw/arm/smmuv3-accel.c | 3 ++- hw/vfio/iommufd.c | 6 ++++-- include/system/host_iommu_device.h | 3 +++ include/system/iommufd.h | 3 ++- 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/backends/iommufd.c b/backends/iommufd.c index e3a3c1480e..9b63d74083 100644 --- a/backends/iommufd.c +++ b/backends/iommufd.c @@ -389,7 +389,8 @@ bool iommufd_backend_get_dirty_bitmap(IOMMUFDBackend *b= e, =20 bool iommufd_backend_get_device_info(IOMMUFDBackend *be, uint32_t devid, uint32_t *type, void *data, uint32_t = len, - uint64_t *caps, Error **errp) + uint64_t *caps, uint8_t *max_pasid_lo= g2, + Error **errp) { struct iommu_hw_info info =3D { .size =3D sizeof(info), @@ -408,6 +409,9 @@ bool iommufd_backend_get_device_info(IOMMUFDBackend *be= , uint32_t devid, g_assert(caps); *caps =3D info.out_capabilities; =20 + if (max_pasid_log2) { + *max_pasid_log2 =3D info.out_max_pasid_log2; + } return true; } =20 diff --git a/hw/arm/smmuv3-accel.c b/hw/arm/smmuv3-accel.c index ea420afeb7..342944da23 100644 --- a/hw/arm/smmuv3-accel.c +++ b/hw/arm/smmuv3-accel.c @@ -121,7 +121,8 @@ smmuv3_accel_hw_compatible(SMMUv3State *s, HostIOMMUDev= iceIOMMUFD *idev, uint64_t caps; =20 if (!iommufd_backend_get_device_info(idev->iommufd, idev->devid, &data= _type, - &info, sizeof(info), &caps, errp)= ) { + &info, sizeof(info), &caps, NULL, + errp)) { return false; } =20 diff --git a/hw/vfio/iommufd.c b/hw/vfio/iommufd.c index 2947e1b80f..131612eb83 100644 --- a/hw/vfio/iommufd.c +++ b/hw/vfio/iommufd.c @@ -398,7 +398,7 @@ static bool iommufd_cdev_autodomains_get(VFIODevice *vb= asedev, */ if (!iommufd_backend_get_device_info(vbasedev->iommufd, vbasedev->devi= d, &type, &caps, sizeof(caps), &hw_c= aps, - errp)) { + NULL, errp)) { return false; } =20 @@ -939,19 +939,21 @@ static bool hiod_iommufd_vfio_realize(HostIOMMUDevice= *hiod, void *opaque, HostIOMMUDeviceCaps *caps =3D &hiod->caps; VendorCaps *vendor_caps =3D &caps->vendor_caps; enum iommu_hw_info_type type; + uint8_t max_pasid_log2; uint64_t hw_caps; =20 hiod->agent =3D opaque; =20 if (!iommufd_backend_get_device_info(vdev->iommufd, vdev->devid, &type, vendor_caps, sizeof(*vendor_caps), - &hw_caps, errp)) { + &hw_caps, &max_pasid_log2, errp))= { return false; } =20 hiod->name =3D g_strdup(vdev->name); caps->type =3D type; caps->hw_caps =3D hw_caps; + caps->max_pasid_log2 =3D max_pasid_log2; =20 idev =3D HOST_IOMMU_DEVICE_IOMMUFD(hiod); idev->iommufd =3D vdev->iommufd; diff --git a/include/system/host_iommu_device.h b/include/system/host_iommu= _device.h index ab849a4a82..bfb2b60478 100644 --- a/include/system/host_iommu_device.h +++ b/include/system/host_iommu_device.h @@ -30,6 +30,8 @@ typedef union VendorCaps { * @hw_caps: host platform IOMMU capabilities (e.g. on IOMMUFD this repres= ents * the @out_capabilities value returned from IOMMU_GET_HW_INFO i= octl) * + * @max_pasid_log2: width of PASIDs supported by host IOMMU device + * * @vendor_caps: host platform IOMMU vendor specific capabilities (e.g. on * IOMMUFD this represents a user-space buffer filled by ker= nel * with host IOMMU @type specific hardware information data) @@ -37,6 +39,7 @@ typedef union VendorCaps { typedef struct HostIOMMUDeviceCaps { uint32_t type; uint64_t hw_caps; + uint8_t max_pasid_log2; VendorCaps vendor_caps; } HostIOMMUDeviceCaps; #endif diff --git a/include/system/iommufd.h b/include/system/iommufd.h index 567dfb7b1d..80d72469a9 100644 --- a/include/system/iommufd.h +++ b/include/system/iommufd.h @@ -71,7 +71,8 @@ int iommufd_backend_unmap_dma(IOMMUFDBackend *be, uint32_= t ioas_id, hwaddr iova, uint64_t size); bool iommufd_backend_get_device_info(IOMMUFDBackend *be, uint32_t devid, uint32_t *type, void *data, uint32_t = len, - uint64_t *caps, Error **errp); + uint64_t *caps, uint8_t *max_pasid_lo= g2, + Error **errp); bool iommufd_backend_alloc_hwpt(IOMMUFDBackend *be, uint32_t dev_id, uint32_t pt_id, uint32_t flags, uint32_t data_type, uint32_t data_len, --=20 2.43.0