Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2195492/?format=api
{ "id": 2195492, "url": "http://patchwork.ozlabs.org/api/patches/2195492/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260211083415.133534-2-skolothumtho@nvidia.com/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260211083415.133534-2-skolothumtho@nvidia.com>", "list_archive_url": null, "date": "2026-02-11T08:34:11", "name": "[v5,1/5] backends/iommufd: Introduce iommufd_backend_alloc_veventq", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "070207ac01fd7338a2dfeafa26bcbd47888ffe12", "submitter": { "id": 91580, "url": "http://patchwork.ozlabs.org/api/people/91580/?format=api", "name": "Shameer Kolothum Thodi", "email": "skolothumtho@nvidia.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260211083415.133534-2-skolothumtho@nvidia.com/mbox/", "series": [ { "id": 491794, "url": "http://patchwork.ozlabs.org/api/series/491794/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=491794", "date": "2026-02-11T08:34:10", "name": "vEVENTQ support for accelerated SMMUv3 devices", "version": 5, "mbox": "http://patchwork.ozlabs.org/series/491794/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2195492/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2195492/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=l/3cwc+D;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4f9sGQ1RrRz1xpY\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 11 Feb 2026 19:36:14 +1100 (AEDT)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1vq5h6-0006SH-VP; Wed, 11 Feb 2026 03:35:33 -0500", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <skolothumtho@nvidia.com>)\n id 1vq5h1-0006PH-F9; Wed, 11 Feb 2026 03:35:27 -0500", "from\n mail-northcentralusazlp170120005.outbound.protection.outlook.com\n ([2a01:111:f403:c105::5] helo=CH5PR02CU005.outbound.protection.outlook.com)\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <skolothumtho@nvidia.com>)\n id 1vq5gy-0002ku-Iy; Wed, 11 Feb 2026 03:35:26 -0500", "from SA1P222CA0073.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:2c1::23)\n by PH7PR12MB9173.namprd12.prod.outlook.com (2603:10b6:510:2ee::9)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.19; Wed, 11 Feb\n 2026 08:35:17 +0000", "from SA2PEPF00003AE7.namprd02.prod.outlook.com\n (2603:10b6:806:2c1:cafe::40) by SA1P222CA0073.outlook.office365.com\n (2603:10b6:806:2c1::23) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9611.10 via Frontend Transport; Wed,\n 11 Feb 2026 08:35:14 +0000", "from mail.nvidia.com (216.228.117.161) by\n SA2PEPF00003AE7.mail.protection.outlook.com (10.167.248.7) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9611.8 via Frontend Transport; Wed, 11 Feb 2026 08:35:16 +0000", "from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com\n (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Wed, 11 Feb\n 2026 00:35:05 -0800", "from NV-2Y5XW94.nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com\n (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Wed, 11 Feb\n 2026 00:35:02 -0800" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=sbFsJvt5i+IjerxbAtWEQadAUmGpFsewC/HxMJggYNIcnvQYAfQAPRwYwVeFbSvKZINsXn6/8nfDO13xKy/enmHJ8VYrJ5+ds1KWiQGNseRBSXhZMsYVetg+jigUenCt4IsFOgA989Nln7JVX2vropJ2QncAnf4ulxsYz8+RBrlamZHkgrZVlSdfYLIsDvGO6HCGCya4b303y85f99JJsEh2CUVj0TWIi0aBF0uOCx1nKEAA6ZLB4JcuKfRBNnqe7XwlOltQBecq/2oHt5XiQ/a7YiNhKJuxxAS7URw25yK0ctbnKeKeJtdZqmVpCZLypMHJf30wV35gmY5OiwGgfw==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=qxWp6a3HwZnmqXb+bhBKlmUo1MCnEn8NhVYJwJHgVh8=;\n b=SkWpzqbstoSOjnO3+p210z+5E+C79DI+nbHKl/PyYJINcDcZFDtR8fVFy+0Ny7DzbPfHuo5Ovnl1Rr0fkBAoKHg7P59E/R5r/9XJzJhPJzGwMHQMpn48nHHxReXnfXr8uPSUuHGF9QtnICWm9sVntTHU+mDwW6HBwVeoniLD83j2xH+8cRoKTg5ypBUuT30K+nY16JHHXImpCDHgaV8Q/MTDb0vbfQ60Mhj14Hwo0XVm9GZT8vrPupcfaS1/aV9c/mWS++irgJCJlTHQCmjhNpP7doudwoVKoWexJlProVoFZ7MM6DwxL0eH+Kj08XrpzQ9AaO+d6THYlIaqc0giyQ==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.117.161) smtp.rcpttodomain=nongnu.org smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none (0)", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=qxWp6a3HwZnmqXb+bhBKlmUo1MCnEn8NhVYJwJHgVh8=;\n b=l/3cwc+DQrKIHFSKnMEppGG3qRX64cjR+yn4ZsLVC0uPxXcEg2zWlhOjKlWD+F50fPfDJcpv1D1jHaDHLdN9HbWUkjJSWjKlO1JmcmNhOD8I+D8xvKtCq0VxaPQYUkMyxefx1KWlVrRxmh5kEe3sUajMrac4rDp03Q+87E5OUuow4qlRbhvSMXccadjUPPd9Z4oe8+VRs82px0osMunYqwSagJAKJQz5Ov36oAcyl/VgO7uTgaqztTRxTJJP/b3/tkHjy6l2FqII+Sdu5AA8igFSa8RxvZDMr+ndnq61jNKLhnwmCPOSE4sORApHFJutdd1JkZS28+REo5YgRYQxXg==", "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.117.161)\n smtp.mailfrom=nvidia.com;\n dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;", "Received-SPF": [ "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.117.161 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C", "permerror client-ip=2a01:111:f403:c105::5;\n envelope-from=skolothumtho@nvidia.com;\n helo=CH5PR02CU005.outbound.protection.outlook.com" ], "From": "Shameer Kolothum <skolothumtho@nvidia.com>", "To": "<qemu-arm@nongnu.org>, <qemu-devel@nongnu.org>", "CC": "<eric.auger@redhat.com>, <peter.maydell@linaro.org>,\n <nicolinc@nvidia.com>, <nathanc@nvidia.com>, <mochs@nvidia.com>,\n <jan@nvidia.com>, <jgg@nvidia.com>, <jonathan.cameron@huawei.com>,\n <zhangfei.gao@linaro.org>, <zhenzhong.duan@intel.com>, <kjaju@nvidia.com>,\n <skolothumtho@nvidia.com>", "Subject": "[PATCH v5 1/5] backends/iommufd: Introduce\n iommufd_backend_alloc_veventq", "Date": "Wed, 11 Feb 2026 08:34:11 +0000", "Message-ID": "<20260211083415.133534-2-skolothumtho@nvidia.com>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20260211083415.133534-1-skolothumtho@nvidia.com>", "References": "<20260211083415.133534-1-skolothumtho@nvidia.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-Originating-IP": "[10.126.231.35]", "X-ClientProxiedBy": "rnnvmail201.nvidia.com (10.129.68.8) To\n rnnvmail201.nvidia.com (10.129.68.8)", "X-EOPAttributedMessage": "0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "SA2PEPF00003AE7:EE_|PH7PR12MB9173:EE_", "X-MS-Office365-Filtering-Correlation-Id": "75d258a8-fe2f-4b92-364b-08de69487bd7", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|36860700013|82310400026|1800799024|376014;", "X-Microsoft-Antispam-Message-Info": "\n tNnH3gW6g66ffaOptfFa3wBaVHfaDoOgfbjX4ckMVbCUtmV4ClOPDOYm87odfWN8A9Pwwjx+FVUzgETQ9K8esX2qBP9cqgJ1Yym+VTm+fFfrteb4z11AbyOmVX4TqSmW/OYNXRM1uNkF6p3eUjHFyYbiS/2Kz06LERff9JzaC/8HTc8mftrE+vRjbCxD7FFvufcSmLjNSvI66Gq8cVWDDf8ZR4XE2dO4+n+VhqFTtnPMUPAixQyfKnDf+SJS2msQzrFaCWhTmu/LNQkCY0wvonwmj2Lt9UP6M3tp9kDjLmAw8Wjoc4EkKeZX8drSzRKXM/idIfqESbbN3pE7SeTkDze2PvZsZ7FPVVZF7sUEcndY9u82xJuH9XVZaq4A5kTWC0F6Q5nOxUx4AOx0htJfJ4m8U4IRLBqKKYNg9mHMLKEFwvvDq3vu0AtFLs6UB88d3K2NEWJzFDWn7floZ/IK4qYGrSn/HZFOzAQeqVN4Sau0mivOqB2EQHpIYaqNCv2k+dp1uxJKi6+RbGMArXE014jWY98jn/06i3L07uVuWPeaj3rs0eF0BQiN39ERH3HLG9eNgwNwkuT8+w+df+YQsE4L8xakVoBsDIdfN1bKnWDh2ZeMF9UaJ0LaVmeUSrNKCF9T/gIZgO2FjfzTnR0J5sCZR0UyCyEYHxqYoT9QnEO/vApvRqiYyQ6dRIS5RstO5Ze48wQZ1zAWVKcZsF1cML4fpKPYvZZpal7SaF+VGe2gMi2icVHicx4oMk1dTSkQRW75DufsURARlMW1krijpxyOmStNSHKTMJBpqP5oBlq9RIhHl2UJzkCl2eUpQCES3mgrI4iUy+b7Ix45IcSzy/LaxkIGLzwylveQHpAkEvfOF8QUUllLaRt+LN15ioIpi/sMoTO8/0Lctd6Fc2Yyu7Xkb1fz8Ic6Ye5kgNIH6K+EX+FtI6PtXmBjOcuBQHdpFo4j/p9PPKD+r2XkWWNfF4NhuU/eFlRWAggIMi2KTD8NyfL/Sp6llNmxWuTBrYRckhVXOAILu+7WousIXjVyi4H8UJf9URL8GgWvgLKzaYM2VLP3pluwYZ6zv3H9LAlP7wKjUT7mz8jG7DFZVTrs/+HLpa4oJLHV4pDFuRklX9w2f8CndeM2mSoVHbA0U0hKHqkcxm2QliKRZLDc/m5HzQNK6aAg1ylt+/o6m1NWSStzg7IbGAH5Lhu6eSeldDGyCaYpBLyXBSzqkIdGbPYXDS6iH7vGT7cssSrez59grpRmfIZeKt0CRAP1JTli6I7pZ96eyHSQTU7hUW9/U2EzEwBMf30uQDdbCNwbuCfjiCxc/T9zvlSfjrz+bP1M25TC1ImcK0UJ+drMauF2N0FGy3715JoLppNPL2sRjILaZK4ou0azwRpnMyDCBZSd86xtLffR+RaIJsQCOx5U0UkiVApbBLEOuZwFeSh/aB1ycIxYqIee5kfCBG/8UX6kVsOd0G1kNxKQjuQfWJfwZSnndhWIOk/nyKDIHgpmZ9/tqJMc2LRrWXYC+KUrQA87O0DLnT4dDIiqHkH/ns4kwxaq8pnEBXuDUvQPHstkicXYd4Jgr3OzLizaPkkk2KJv41RN3KAUUizPjMq3N4IVt1XKB261xhyBIHMf5xA03o6teS2jUej7+qQI20exr3UFdOdd6aeToK4XbPKvKIDXlf/aUg==", "X-Forefront-Antispam-Report": "CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE;\n SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014); DIR:OUT;\n SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n N4pvqb3GYlaCd+giNm3vzCmBjPYVAFE5Gtgbj2VF52oCh7odnrSmLaOfkkOqOYbez0mJhCWCi/508lmAjPOXI3tKb8mRl6DAyqf5Nz8gChPPtGsIpnfubl/8Ex+DL+Bon4XB0sotfbupCeoIkdVDixrhbY7Fkt/3jDh2zPoXXashHfxgJMtUHUoKli0LqxWrJlqEF5CRVe4ZMfGitgBvokMdQHxSoI6NA60AED9NidVEK/4lXpOR7RZgTRGK5pZdvW2KzsImhsQVMcNrriCZ0V3EAEjakaIv2qz3oumU7jH0YmHBOkVX9gycVSDgHO080gzDrx8Fiiz1pfZMZO08gQeWFYUf3tr82g1DRM1I0fL6w0El9iEiWJRREBrzw1Il94MFtVnpjt6uNMYEWaCLELk8kFCsDxk8AVBE765H7RuhcYZZWd+ah+MsjCjxcozl", "X-OriginatorOrg": "Nvidia.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "11 Feb 2026 08:35:16.8416 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 75d258a8-fe2f-4b92-364b-08de69487bd7", "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a", "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161];\n Helo=[mail.nvidia.com]", "X-MS-Exchange-CrossTenant-AuthSource": "\n SA2PEPF00003AE7.namprd02.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "PH7PR12MB9173", "X-Spam_score_int": "-10", "X-Spam_score": "-1.1", "X-Spam_bar": "-", "X-Spam_report": "(-1.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n FORGED_SPF_HELO=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001,\n 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 <qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org" }, "content": "From: Nicolin Chen <nicolinc@nvidia.com>\n\nAdd a new helper for IOMMU_VEVENTQ_ALLOC ioctl to allocate a virtual event\nqueue (vEVENTQ) for a vIOMMU object.\n\nSigned-off-by: Nicolin Chen <nicolinc@nvidia.com>\nTested-by: Nicolin Chen <nicolinc@nvidia.com>\nReviewed-by: Eric Auger <eric.auger@redhat.com>\nSigned-off-by: Shameer Kolothum <skolothumtho@nvidia.com>\n---\n backends/iommufd.c | 31 +++++++++++++++++++++++++++++++\n backends/trace-events | 1 +\n include/system/iommufd.h | 12 ++++++++++++\n 3 files changed, 44 insertions(+)", "diff": "diff --git a/backends/iommufd.c b/backends/iommufd.c\nindex 13822df82f..acfab907c0 100644\n--- a/backends/iommufd.c\n+++ b/backends/iommufd.c\n@@ -504,6 +504,37 @@ bool iommufd_backend_alloc_vdev(IOMMUFDBackend *be, uint32_t dev_id,\n return true;\n }\n \n+bool iommufd_backend_alloc_veventq(IOMMUFDBackend *be, uint32_t viommu_id,\n+ uint32_t type, uint32_t depth,\n+ uint32_t *out_veventq_id,\n+ uint32_t *out_veventq_fd, Error **errp)\n+{\n+ int ret;\n+ struct iommu_veventq_alloc alloc_veventq = {\n+ .size = sizeof(alloc_veventq),\n+ .flags = 0,\n+ .type = type,\n+ .veventq_depth = depth,\n+ .viommu_id = viommu_id,\n+ };\n+\n+ ret = ioctl(be->fd, IOMMU_VEVENTQ_ALLOC, &alloc_veventq);\n+\n+ trace_iommufd_viommu_alloc_eventq(be->fd, viommu_id, type,\n+ alloc_veventq.out_veventq_id,\n+ alloc_veventq.out_veventq_fd, ret);\n+ if (ret) {\n+ error_setg_errno(errp, errno, \"IOMMU_VEVENTQ_ALLOC failed\");\n+ return false;\n+ }\n+\n+ g_assert(out_veventq_id);\n+ g_assert(out_veventq_fd);\n+ *out_veventq_id = alloc_veventq.out_veventq_id;\n+ *out_veventq_fd = alloc_veventq.out_veventq_fd;\n+ return true;\n+}\n+\n bool host_iommu_device_iommufd_attach_hwpt(HostIOMMUDeviceIOMMUFD *idev,\n uint32_t hwpt_id, Error **errp)\n {\ndiff --git a/backends/trace-events b/backends/trace-events\nindex 8dc64a20d3..b9365113e7 100644\n--- a/backends/trace-events\n+++ b/backends/trace-events\n@@ -23,6 +23,7 @@ iommufd_backend_get_dirty_bitmap(int iommufd, uint32_t hwpt_id, uint64_t iova, u\n iommufd_backend_invalidate_cache(int iommufd, uint32_t id, uint32_t data_type, uint32_t entry_len, uint32_t entry_num, uint32_t done_num, uint64_t data_ptr, int ret) \" iommufd=%d id=%u data_type=%u entry_len=%u entry_num=%u done_num=%u data_ptr=0x%\"PRIx64\" (%d)\"\n iommufd_backend_alloc_viommu(int iommufd, uint32_t dev_id, uint32_t type, uint32_t hwpt_id, uint32_t viommu_id, int ret) \" iommufd=%d type=%u dev_id=%u hwpt_id=%u viommu_id=%u (%d)\"\n iommufd_backend_alloc_vdev(int iommufd, uint32_t dev_id, uint32_t viommu_id, uint64_t virt_id, uint32_t vdev_id, int ret) \" iommufd=%d dev_id=%u viommu_id=%u virt_id=0x%\"PRIx64\" vdev_id=%u (%d)\"\n+iommufd_viommu_alloc_eventq(int iommufd, uint32_t viommu_id, uint32_t type, uint32_t veventq_id, uint32_t veventq_fd, int ret) \" iommufd=%d viommu_id=%u type=%u veventq_id=%u veventq_fd=%u (%d)\"\n \n # igvm-cfg.c\n igvm_reset_enter(int type) \"type=%u\"\ndiff --git a/include/system/iommufd.h b/include/system/iommufd.h\nindex 80d72469a9..e4ca16da70 100644\n--- a/include/system/iommufd.h\n+++ b/include/system/iommufd.h\n@@ -56,6 +56,13 @@ typedef struct IOMMUFDVdev {\n uint32_t virt_id; /* virtual device ID */\n } IOMMUFDVdev;\n \n+/* Virtual event queue interface for a vIOMMU */\n+typedef struct IOMMUFDVeventq {\n+ IOMMUFDViommu *viommu;\n+ uint32_t veventq_id;\n+ uint32_t veventq_fd;\n+} IOMMUFDVeventq;\n+\n bool iommufd_backend_connect(IOMMUFDBackend *be, Error **errp);\n void iommufd_backend_disconnect(IOMMUFDBackend *be);\n \n@@ -86,6 +93,11 @@ bool iommufd_backend_alloc_vdev(IOMMUFDBackend *be, uint32_t dev_id,\n uint32_t viommu_id, uint64_t virt_id,\n uint32_t *out_vdev_id, Error **errp);\n \n+bool iommufd_backend_alloc_veventq(IOMMUFDBackend *be, uint32_t viommu_id,\n+ uint32_t type, uint32_t depth,\n+ uint32_t *out_veventq_id,\n+ uint32_t *out_veventq_fd, Error **errp);\n+\n bool iommufd_backend_set_dirty_tracking(IOMMUFDBackend *be, uint32_t hwpt_id,\n bool start, Error **errp);\n bool iommufd_backend_get_dirty_bitmap(IOMMUFDBackend *be, uint32_t hwpt_id,\n", "prefixes": [ "v5", "1/5" ] }