From nobody Mon Aug 24 09:07:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (Bad Signature); dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 17859680750889.556885234646984; Wed, 5 Aug 2026 15:14:35 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id ADC6441CCC; Wed, 5 Aug 2026 18:14:33 -0400 (EDT) Received: from [172.19.199.10] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id 0995141A9F; Wed, 5 Aug 2026 18:13:32 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 93ECF3FA64; Wed, 5 Aug 2026 18:13:17 -0400 (EDT) Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazlp170110003.outbound.protection.outlook.com [IPv6:2a01:111:f403:c10d::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id B102C3FA2E for ; Wed, 5 Aug 2026 18:13:16 -0400 (EDT) Received: from CH0PR12MB5387.namprd12.prod.outlook.com (2603:10b6:610:d6::17) by DM4PR12MB6638.namprd12.prod.outlook.com (2603:10b6:8:b5::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.19; Wed, 5 Aug 2026 22:13:10 +0000 Received: from CH0PR12MB5387.namprd12.prod.outlook.com ([fe80::caa2:e846:62b3:33d9]) by CH0PR12MB5387.namprd12.prod.outlook.com ([fe80::caa2:e846:62b3:33d9%6]) with mapi id 15.21.0292.018; Wed, 5 Aug 2026 22:13:10 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kY4nWODkEMmvNB9KQPbemLrpB+nNTtHMgPdJxpyDOMCEoQCkSoyB9NlVvaiUv4vab8ZB9Ms+th9hZg0nxEh99MiCr4lXTPCOzKAOAjpUgPMhfhNV/PfUVl765RhWa5lk5Zo1HiC1udia/75zP25dNY9UPC9nBpAfpWc72E/oFAZyO/DET9ifMjxQo2ofXK4BoqrJB5sJxVdm+5xeAVJi5rcggks89MSjy39NRru6Z299Cts/+kHl/CVNUAVjdGcU/pn/i21xY+m7hZkT/jmU2Xb/9F5KWYUZMSxxEbg+XOugwWkwHoLudhsPPiGuMUv08UBZIqrsPhXVhx+YHn7sUA== 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=gDnD2r8xbkE4Lz5Y6k7RsTBZcbiofSpJ3wEJq6Gb/9s=; b=snpOYEbRhmU1KgQAEPd1ECj0qHQXMlu3/xDZ9+7NPJrZkZCgEl088dP3l2Oku3O1Y14hkwgKDVnS8hLWgc91aKE9pizxycQfgQAAi9RBCDUTJErudVAEG+plfQzi9QsfDsg7aXnVWD5OmuAImXCxqELop8VQAzPOcDqtzTHTGmQFcUYuF8rsB6cSddouWmybyMFSdREX+BWVkS6G40NS79cqznq/JFk5ikPwqSCnTQpB5rx6O3MpU82FdkZbJfuuwB9iJRZ6f0wHgy/YNXXx2FqmqM1+6bl+ymAsItghkIZZPRWYghw7T5xcifaGlQPLQ1fAZCfWBr83q2XjJkXOsw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none 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=gDnD2r8xbkE4Lz5Y6k7RsTBZcbiofSpJ3wEJq6Gb/9s=; b=ZWIp6ed/pFOYDuiCdPKFATZ8F2vUS8r6I5UGVBgK7wZKkZAuM/Q/bOHrG7Yvg9nIkW89obEW2+eU/VGaXdztjSpyfaSwx7M7VBM2MIVMhwhxAjfI0kWnMgmvn2hbuBUuLId+l9ukp7RoyeivXGZFO8OM4KbebBE+r6me+klhfqQ7LyN4geocUn/2UM14GuiDWgTOS1+sUoUAgyu59qCpGPGzwzqbRrAu6mpzJJlcG4Od/XncfzWo4m7Eb1aJlaw4UDWVhBpxTH2sQMCM2FR0z/XMJhMpufZOrAkBrLhqBNpA8KI00C5kUHSqlHB3FPB93KO1auiiS1yrvxdlGtg0XQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; To: devel@lists.libvirt.org Subject: [PATCH v11 1/7] conf: Include check for pci_bus in virDomainIOMMUDefEquals() Date: Wed, 5 Aug 2026 15:12:55 -0700 Message-ID: <20260805221301.3987446-2-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260805221301.3987446-1-nathanc@nvidia.com> References: <20260805221301.3987446-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR13CA0006.namprd13.prod.outlook.com (2603:10b6:a03:2c0::11) To CH0PR12MB5387.namprd12.prod.outlook.com (2603:10b6:610:d6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR12MB5387:EE_|DM4PR12MB6638:EE_ X-MS-Office365-Filtering-Correlation-Id: 48f9e1dc-aff5-4524-4de5-08def33ebc2a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|18002099003|22082099003|11063799006|56012099006|10067099003; X-Microsoft-Antispam-Message-Info: k0qgKKFnPDaTn2x9YGdcw1QS2Zy4JbkY5wqxBnjgzhdewbv4QavDICw9qyWddyin/lyB4Hm3ayqiLjfH4AdSG+qatvFwnHGwE9Umx8hvMwd0UaP9/hE0uCMl8SUwW6oidRdtEA9hJra9MHn2uBObnhnnJ8og2Lpvd/EicX2hNAxnId5OryRCltk56arpAsaxu6+ofHiWPrX9ULSm0gaawReakzz6p0gqdFNAOPuzCHR+LUmzI0AYLHZeVgT5uK0GPOp3ld310HrdVW+QsVCyQO3cLSbEUiOrSjnpEvjxWHrYkEHjgGwlE47f0MEtGL5+pLNm2BSqmtQn+sq5wcy1gCB7wZAVXR7Dqcma9qbZv+O//uIPHWfMnVonDC72O5B6laRZzqJ3hk4IAYmiabUflVvXuF+QB5HQGHViY7Q8nhL+cH8AEtVkQ9tzaJbuhRkmtLr03Aoi7VOmAMwPxWRItzjtmqVJE3z9nS12jL1TvKUFferMmrvVsNOME9mfC+G/pD2dk/kZlFfly8VfxjHrof1bCr2H3GQAwXoONwJAIeX9Sr2iM+4xZol8y0jmtVjiLWqLCpXITAGMnr1irIMo9zIvkucOXHcr9exGE79hQ2xdhf+V3cYjRgcRgsbOUB9Z+HIpt3UVFFMiWid82lXEUDH1Y2SnAFdNLpMlyffyiXc= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR12MB5387.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(23010399003)(18002099003)(22082099003)(11063799006)(56012099006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?EsP1cBWcw9jKZ7uYh8rVmtoTX6uIuJUs+5Jw4ZhZ/KCDl45IacQXKqleL9rL?= =?us-ascii?Q?gL3Ml1rj7D2+Yi1TV4TvgQc9ayAnyOrrn23FcihJADApSRZKbKF51rkWAs4z?= =?us-ascii?Q?SuNxYfzhQ+fWq398jJuUYym2sHPfDlGl5EQYfTzkBzmd+hgMyi7fyc/Mmzqb?= =?us-ascii?Q?xByIwjgxiN3ARP2owwT7rxEnmzaJWn82OGMTKbZmTnjYiu2IHGbW6troBGVY?= =?us-ascii?Q?s0Kkg56O0ocH61eRWZUBMYWOlEsl/KE9t7Mj5aEg5b1tF8hBNhJXt78i4B8k?= =?us-ascii?Q?b6Q9hsctputPnUyd4btolckOjon8SZ7gFehD9wStm2bWnYcR2vemeKtXFGf2?= =?us-ascii?Q?hIxT/i4s0r/Jc3PFJggBpG/XVA4V4ZIqG42OmTjFJXbLLT/4Br/QI3itDh7z?= =?us-ascii?Q?ts5OvEw8SbdJYldPv01CWDJWNL7kBcUvc8D1jZXb/kkmz34jrFPJWmSIuDw4?= =?us-ascii?Q?I8DTeNcPgU5E91b4+SSOUahPf3GS6dwNyk+xAfmSGiVnREkLBIFAyos9OsWW?= =?us-ascii?Q?5DNjgDSMjGcGwO4CzpvvkT9nV8a1BIRtPNWZKO7uaWOgklGsV685UwcKd7HU?= =?us-ascii?Q?8gAvWGzZzkYF4GCEQzABTvsIjoa/xCLf7+e0hsZJPA4XNYOooENkACK75t5C?= =?us-ascii?Q?xDR3Uqd0ZjuCHjjj+aUa2mdvwiaFhprCiIXKiMowK/PzyiPZMMFuvws2H36K?= =?us-ascii?Q?wErXRbOXG+D/ek3M1K+mtesBx0EjuhPSqUCXvteMDgztmfC+ZJ5OV/+bARdo?= =?us-ascii?Q?nzQC86xnr+owBjHpL1GooC9fAI81K5ClgbmzZeripdDXuMhQEA7LEthX/lNQ?= =?us-ascii?Q?Zm2SZYBOOZDbc+mFrKGd/j/3fm3apz+3gvbYgYBcaKT4LadG+1jaZ09n9V4Y?= =?us-ascii?Q?sAwmca4weC1+VGnn2Cw1FTv0UHtRujzFhm6gfsUUBINk5swHvSN9z7FYTRfU?= =?us-ascii?Q?x8TjHIjcBFzt+CF9CUTI379sFk7/nCXxvUw21BuT+sTt1XC6rhtP0MlfLgAp?= =?us-ascii?Q?So3tSK03GDIxfDz3Ozs3e+tU5lxgOnssC2FTi84SyGSqEOjxpfccJpeeKmTv?= =?us-ascii?Q?9aTZd66yZhfsWQqwwQbk/gBdm2xkGJIFD2lqCn1/pKvTyiihdouUA9BT0NlV?= =?us-ascii?Q?L2Fe+8qe06xxoCS18lH1qBuhL1s82g4M87XP0LEG95F2Q5Q/RYVtpYOueSlA?= =?us-ascii?Q?VEToZaG5Oc8EZnVjEfYUDGzy8//9Naa+Wt7zGkemAoQlzRN741Z6eK1j81Rt?= =?us-ascii?Q?QcpueFfyIKwdu+cZH8mYVIqihlEjaz/HmGXrF620slRnTsA99tlG4ocx5SnJ?= =?us-ascii?Q?tqOF5+dBbAA08nep6cK1NdYUL4WJUtJL8HkERnZcjABA1Ss/luZfCxr1nfSX?= =?us-ascii?Q?WtJxWDMWr4BWC+VoIorZTH9gbPG+UzbOmmgP6s8ulhM4dtIstBgGUnhOeTql?= =?us-ascii?Q?GES/hHIoUsOX/ibcfVgUqdnGHPIYRuJrKEw/FpF5gSaPCt5Oy9LkTOm3lMh1?= =?us-ascii?Q?sNJo9eDcMZWI+dSYj8MhP8WzEq2tZK8QNvSH/MByvz1FUjZShHp1dYxeznLF?= =?us-ascii?Q?UNnpvw/p+GjBaEn//V6IMMBuyeIe+HVv0Q3218BPq53FeVlgfKMIpsqJlqgP?= =?us-ascii?Q?Rm2PirvZ8UCLQrYnuTTmqO8CvtuM2UdgRtWR1/RRmPYC8wSDTI1h8u9wolf+?= =?us-ascii?Q?yClxfmzWPvPDgVHLUAm3BtZfi0N/j3vHhhgx1DBBW34hxOeYYbe7Hr4EtdJN?= =?us-ascii?Q?SgXSoMwnrw=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 48f9e1dc-aff5-4524-4de5-08def33ebc2a X-MS-Exchange-CrossTenant-AuthSource: CH0PR12MB5387.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 22:13:10.4601 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5eni5lJF4gNl3icqk9ftRV7g7qgsOdA+jnOpzRD7bBdePi80p0w4n+NddeOPYZabQ2+8xF4c9+BP2A3ibh275Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6638 Message-ID-Hash: CORS7GU76UOD5R5P3RPBNRXALLLFGKOJ X-Message-ID-Hash: CORS7GU76UOD5R5P3RPBNRXALLLFGKOJ X-MailFrom: nathanc@nvidia.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Matt Ochs , Nicolin Chen , Shameer Kolothum , Nathan Chen , Pavel Hrdina X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Nathan Chen via Devel Reply-To: Nathan Chen X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1785968076886158500 Content-Type: text/plain; charset="utf-8" From: Nathan Chen virDomainIOMMUDefEquals() should check for pci_bus being equal across two virDomainIOMMUDef being compared. Fixes: 4d6419b286af ("qemu: Implement pluggable-device smmuv3") Reviewed-by: Pavel Hrdina Signed-off-by: Nathan Chen --- src/conf/domain_conf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 45235d74bc..0b48fe3010 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -16853,6 +16853,7 @@ virDomainIOMMUDefEquals(const virDomainIOMMUDef *a, a->iotlb !=3D b->iotlb || a->aw_bits !=3D b->aw_bits || a->dma_translation !=3D b->dma_translation || + a->pci_bus !=3D b->pci_bus || a->xtsup !=3D b->xtsup || a->pt !=3D b->pt || a->granule !=3D b->granule) --=20 2.43.0 From nobody Mon Aug 24 09:07:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (Bad Signature); dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 178596829533243.485463260445044; Wed, 5 Aug 2026 15:18:15 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id E04E13F314; Wed, 5 Aug 2026 18:18:13 -0400 (EDT) Received: from [172.19.199.10] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id C956341BC8; Wed, 5 Aug 2026 18:13:54 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 319153F89D; Wed, 5 Aug 2026 18:13:18 -0400 (EDT) Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazlp170110003.outbound.protection.outlook.com [IPv6:2a01:111:f403:c10d::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id F02693FA5C for ; Wed, 5 Aug 2026 18:13:16 -0400 (EDT) Received: from CH0PR12MB5387.namprd12.prod.outlook.com (2603:10b6:610:d6::17) by DM4PR12MB6638.namprd12.prod.outlook.com (2603:10b6:8:b5::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.19; Wed, 5 Aug 2026 22:13:12 +0000 Received: from CH0PR12MB5387.namprd12.prod.outlook.com ([fe80::caa2:e846:62b3:33d9]) by CH0PR12MB5387.namprd12.prod.outlook.com ([fe80::caa2:e846:62b3:33d9%6]) with mapi id 15.21.0292.018; Wed, 5 Aug 2026 22:13:12 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gySYIf+h4x9j9BnCY709QNVEDdW1xTp+jGOYdTkJdkjNZrjcLfkpT2K3Dc/eVl2pQO9H00OB7yQrM6Z/sWtqDTZ2NES3ghHsOMzWLXJSLea9iPUmmnu+WtyyffYIqBQqjfIjhdNBPbxXAiHY0xRdsgmpwAeQEWUHaZqX9S8giK16rqaI3ZLk49lAs+RdpyQiMWjslm2u1JorgQrpmUXB+InRvFS7KL5CZKKZ75SfnHHMpVqsySrU20dk0/lxyY1q8lz8hH+qbsdGLPFxK1mogJKoVCPMr23wyB0FqUIjNAwEmIcCLW5ELF+IeGoQXLwblde5pOqA2Pudp+F1t+azSA== 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=l6oPgfdUBjYLHPqabd5r38sVgUvTpBs6EfPlzF3lc1o=; b=c4X5M6KKSSCsiNsCexHXcoI7qorlMsVs/BXxO53q2mPkKHIdxu68Xt225D77eEvb63RGF56Sw26oHhNsc9z2PlzanWkbKzwEssFfF1qFFHjScXBdV3tqVxkjpR8FxzV9R69RHa58ATY+435+I4VRz9lMKAV9OONwFg483sp+yYBQrb9rAmitG1PVg9toAuw+2ZGmmNXj8heY25RHKB6BB2QAn5yitkxqqEMRBL43tg1LD0cLIo+aenuvwvXF2ELMYnG74L8vou5tCmnJv3Vj21OfusIiCfAlvprCmdb092sssGHXTX3JE9JNg5sVMeixaoDtVL1EMyDSLDE6jw3Obg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none 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=l6oPgfdUBjYLHPqabd5r38sVgUvTpBs6EfPlzF3lc1o=; b=CVAetsQYSsb+ujaYFzkeDqWbPYBwn72Yp+JogxmDqp8Q/EheZVJLjX+QNZZjIO1WyLe/hcwObPElb1zN4tphe67O5+ZiuuXNtLQ5jy2IDPPwmiYeuEsLqKkdB1YSkoQcnifOycPErVVD/qU0GL1AJTmaMqZpnpYAyJ0KhyiDOW3QC1/5VFeCdv1xClko79LGH40Z18O7YWmk7UpKqWaR3Xc//ykP4rqR5S5kbYWhMjQEvpp101VQe2Hm9Ha2TdWcLjUwy6alR3duWBmWTZ3HfyUWm3PoP8tkTmLk8Ke8HstzC7efr7AvYjLap08VEHmttQDwSjHJDa/W/jISDEbTag== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; To: devel@lists.libvirt.org Subject: [PATCH v11 2/7] docs: formatdomain: Include Libvirt version for IOMMU pciBus attribute Date: Wed, 5 Aug 2026 15:12:56 -0700 Message-ID: <20260805221301.3987446-3-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260805221301.3987446-1-nathanc@nvidia.com> References: <20260805221301.3987446-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR13CA0030.namprd13.prod.outlook.com (2603:10b6:a03:2c0::35) To CH0PR12MB5387.namprd12.prod.outlook.com (2603:10b6:610:d6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR12MB5387:EE_|DM4PR12MB6638:EE_ X-MS-Office365-Filtering-Correlation-Id: 2d550bce-5f2e-4517-5483-08def33ebd5f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|18002099003|22082099003|11063799006|56012099006|10067099003; X-Microsoft-Antispam-Message-Info: ijeOJIizEYzHrv3cuY1x+L/HLdakNlcvmGaBB0QYqnaTa46YTDxVOefGfeOj8fzVXufnSIP1P2IgCs9ts7m4IGVRrx5Yt2NqnCl7AEJB5yEzEXt9GGbndoBV22kx0KPspk9cFGw9QC+A5/ff4XUEZAQv1LEf1J9c19vKgQuVY5emuMnM/kKAEuqHuugHc1rBPOgSVWgvvRiSxm+hH0RmDy3t1MzwEV/SPywDlNUrXDd78Grs5l2TE6CMQ7ZykdfwP3q2CSZ9c/luKnoLhMWT8skfGz/UGFEx+iMwwibfPixyxpyhl1ylogFa9d5ukcmUw4pl2GIivzFhLH+XZaxeNbvDFXLQEQu/+6qBt7TNif+B2bVcEPEEzN8KG31+exPaG/RPBptbJLM6m1fpvTTkZXrBlHYntB6qv6IsqEOoZWnVqBSQN5qiRPqN1m4Y1Wgm3/VQXRKoScIRDcb0DvB7NDfsnIj1JP3gFHrLwv6ANrZ9A0MiQlFrHlWOo6nqib4Mfr61FToDM9GQ5ImZVyZphxB4ndk5Ypl33qfdTRRW6DMQQXruHge8JRVobbWWddMlZk4gaDKDktroTjqj2jUByKto+UB0JaIwCohhTq9wmLyKJukBKqvZr4hzz9RBZsm9MKuSNHLCAxNMiTCVY/tvpAOxM+WbQM0gMVWwDN+loxU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR12MB5387.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(23010399003)(18002099003)(22082099003)(11063799006)(56012099006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jPlJV5kjBcrdprh3rZnSZn2tPBYRWxwDu4z+wuYJzUZOdEY/ROPWZxVfMtnC?= =?us-ascii?Q?brpXQOL4/cZFd5NuZ5XiA+CMdW7DpGIe5UVnM8P3DDoV9Zmxkv6Pb2r4ujQN?= =?us-ascii?Q?+XriST3dJSpA6wuyMOuYDGigZcA8BAiWsdacNLUdTsiAELDIBn4PdM6SMDGP?= =?us-ascii?Q?OKtUg/qiOUh1P9oZfhIIAGKqB/Fq3KaoYvFWGN3Sj+h9rWIRh+aGVAsAX89M?= =?us-ascii?Q?SRlTvzLIkL+8qQZFHR2LxMTkTOin26hWnaxAd6qheX/nEr3chEmgFtHidymB?= =?us-ascii?Q?BhGlkcAHrdwDqTq3uoYCInQuuyyNEaa/UC0ec2OlxnJbntXZDWc7ntxaDqgm?= =?us-ascii?Q?zjstc6XOe875/EEcpZDh0D/yhIk1oBX2X4nLkl7zE5PqWCIQW5JNLHgfRxYf?= =?us-ascii?Q?GSuIIFW4YTrKMF964ec9tmn1rLps11Mvc1WQh1kUr69abXWSGJMuZ3EvT3xJ?= =?us-ascii?Q?m6mqP61S703VvkphfbPD4VB770Gu99eeKe/PEUqIGE+kC06z5gZr/INlY3v3?= =?us-ascii?Q?ADuSwquS816gBKuPO2WhHrBzu9q16eNWeAGpxMjoq6ZyQRrcMpNjhlL8vcNv?= =?us-ascii?Q?5j90WYbL02ZqjhgnGTNbxwLkNNhu29lWlCs9oWsXp+WNUAHMxfWnjy4dWzsI?= =?us-ascii?Q?hFD3GCND54l+GGQf60vFnvQhShOVwHCsr/iTl8X/GxmujMMR5P1QYc4ceH2I?= =?us-ascii?Q?/YcozZSLrfIpj9/lAVNCWcJqQgx17sVBdMuGycz02ELUg7/Tbq9GQ1fntbr4?= =?us-ascii?Q?Nfpc0I4x1ATPAo+rnX3df3PbwqfxMSPcZSyH0GhLapZ8JFVlek7l5bcdhXAT?= =?us-ascii?Q?m5sxrEjw84OZCX5XnOUZD/EX1/P9Q9lWbhLaJYSNZfVJqeU94PkLx0j5V9qP?= =?us-ascii?Q?4fBQWl4+pLVVAqxS3TrAVczE0XFUYPR6pgg1GbqP51TzTqPpiwvvEikO+66T?= =?us-ascii?Q?wLQ1HheC2DNhdTlSSDkisNqc6uSH7chBrCKHXApvv8/jInalPSydPIHHNhBm?= =?us-ascii?Q?76jZfcn/peJEEJEI1NvIP38qBQ1HuSIHF52HiEY7v86cmr4GKqA6sNH0zaaM?= =?us-ascii?Q?93vjiD2B6f2MpDFmLYqksKZj0JA9az5mwqiswm0ItRgHTm5lgY0S9/ylfLmp?= =?us-ascii?Q?wR1+XY/weLXQqfzgBChVRSmUfnovgS1S5F40zCoPdTxSWwJtUd4hs/7OXawE?= =?us-ascii?Q?CSuDN1W/Xv9mhZ1TcSJBNgWcibtrLv4RBj/bFKQnk+ko60ReIIZBLaBYmx6y?= =?us-ascii?Q?kg+TbSAMB16Isro2oBaEZy3++Evk8D21ebG7hkdRd02ntvHagmQSF0QsPGwA?= =?us-ascii?Q?9SQmTHYy8ZTTbyrVlh7DYVOmLirF0IoGoEHQ2HGN3QEouHqbuVrFl6LzwcrG?= =?us-ascii?Q?b8yeWLCQmd7DdY+YBLQIBZ5epRb3/7+TWR5Zm92dAUCFjDGaNtnOhdpcGFip?= =?us-ascii?Q?76Ow9kuzKdAbHvw+jUxeGitUG2gZ08jBXBAQg1wQHP1+LnvmjdjsnIYT2kMU?= =?us-ascii?Q?eBwhfhbnHHSibd1Y4AfON2Kdhx8AIm8+G7/1IKnfgTyt2IbMsr/MCHq9tEjv?= =?us-ascii?Q?qY3vpisy5E/H2ZRI6Y1TBVTcrBoXekfmdh0VRyN9GepcvHUpNPxCL+sNMdV/?= =?us-ascii?Q?Kz6CrCpz0bfVhHeJ0ANWqQSKBOmjeL9u66+vOCTH0hWN+H2k1IvSP6l856hv?= =?us-ascii?Q?5B9Ow1oEIKb4T8vg7TM5Y2gKEeKlq2wXtFBe8hC9KCRCs+T8gizIK5IY6ShL?= =?us-ascii?Q?bEKZOhvUdg=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2d550bce-5f2e-4517-5483-08def33ebd5f X-MS-Exchange-CrossTenant-AuthSource: CH0PR12MB5387.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 22:13:12.4896 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xMA00K1FE+Y7+TIkh4Ks/uThjU4IN+UGfptx1/BJdiGSCN5XhF60ND10T1Zto8rruM+vgW2M1vRn7+dF0O3CKg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6638 Message-ID-Hash: Y2KQRU3JTSQWGEV5UNJSR7UB5VBHUYAU X-Message-ID-Hash: Y2KQRU3JTSQWGEV5UNJSR7UB5VBHUYAU X-MailFrom: nathanc@nvidia.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Matt Ochs , Nicolin Chen , Shameer Kolothum , Nathan Chen , Pavel Hrdina X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Nathan Chen via Devel Reply-To: Nathan Chen X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1785968295877158500 Content-Type: text/plain; charset="utf-8" From: Nathan Chen Update formatdomain doc to mention IOMMU pciBus attribute was introduced in Libvirt v11.10.0. Fixes: 4d6419b286af ("qemu: Implement pluggable-device smmuv3") Reviewed-by: Pavel Hrdina Signed-off-by: Nathan Chen --- docs/formatdomain.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst index 28c9170a37..50618bf05b 100644 --- a/docs/formatdomain.rst +++ b/docs/formatdomain.rst @@ -9427,7 +9427,8 @@ Examples: =20 ``pciBus`` The ``pciBus`` attribute notes the index of the controller that an - IOMMU device is attached to. (QEMU/KVM and ``smmuv3`` model only) + IOMMU device is attached to. + :since:`Since 11.10.0` (QEMU/KVM and ``smmuv3`` model only) =20 In case of ``virtio`` IOMMU device, the ``driver`` element can optionally contain ``granule`` subelement that allows to choose which granule will be --=20 2.43.0 From nobody Mon Aug 24 09:07:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (Bad Signature); dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 1785968384098291.79180441079563; Wed, 5 Aug 2026 15:19:44 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id B0971418DA; Wed, 5 Aug 2026 18:19:42 -0400 (EDT) Received: from [172.19.199.10] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id A5C70418B7; Wed, 5 Aug 2026 18:14:02 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 06BA74185C; Wed, 5 Aug 2026 18:13:32 -0400 (EDT) Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazlp170110003.outbound.protection.outlook.com [IPv6:2a01:111:f403:c10d::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 3F7074185C for ; Wed, 5 Aug 2026 18:13:21 -0400 (EDT) Received: from CH0PR12MB5387.namprd12.prod.outlook.com (2603:10b6:610:d6::17) by DM4PR12MB6638.namprd12.prod.outlook.com (2603:10b6:8:b5::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.19; Wed, 5 Aug 2026 22:13:14 +0000 Received: from CH0PR12MB5387.namprd12.prod.outlook.com ([fe80::caa2:e846:62b3:33d9]) by CH0PR12MB5387.namprd12.prod.outlook.com ([fe80::caa2:e846:62b3:33d9%6]) with mapi id 15.21.0292.018; Wed, 5 Aug 2026 22:13:14 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wdelOR8NRWvFi+5ZULBlSQJ9/nTbJ/xtYUCBRjohDlpDN+3DuAar1D4txX08+/DRmJCmR6uDQ0qvPyRcN/Ov/IMCTcUB9JU+ysGJchfQz5pcp+w7iIE0K5uAqB8PKY+E9hNjT4BUXMRdmssty09TMR1siYxwDVOXL7wM40caskMlhz4TSe2kYPnAKb0DDZeHbrUGaqQ+KRhDQ9iEHlrWl5QLE3V+EmZ87ZywjeiBZTuxfAXb91D5jVlgxITv1XDeEpvFnnGE6STdDlZWV66XTXq+2QhLyfDzJIiKT+SKy91UkBFEvxUy/b4USo257CeUAYZggIbeKItPMOaLVqjJ2w== 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=cTzTqpaWLjdXVzO0QQYBPWzr19LdV0RwJ3XnE9fcmgM=; b=IbsPAp9iwXnUzMOePogMWvXwyfTc8ee2blhVDlJQ3XOOpq/ErM+CIBbcLyxwnLUCSrj6EF0oBqxPd2LbQBfZRvBBKPPOK6Igo9r2IYIg9xf9zAVLErvjA4wK7L9YRytvTP84uVPfBKrgNUVR/NX3gBxd2CULfNqL25DPd47LgCNeRfbNHB7cY7rqpFt1DBacNf5J15O1+XC7w3G9uhUpiXzew8SBBnIgfBXzmpYgEGoEmfRxkwOkO72uIGCedgx6KCU+kWUvhstlIYD0z2tEJtOK6BDjydOud1Wuhu0A8BNcT/hLDD/q/JohOFHgDEilOBR8t4ICIzO2tXLKea3E/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none 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=cTzTqpaWLjdXVzO0QQYBPWzr19LdV0RwJ3XnE9fcmgM=; b=SZIcYD+CpT2we6JkAZPQv5OEp+vX4CpCLsyUEWt9JQwSLSIwAVJ6QQ7+6vAr5gTtesuuJ2ff8N2/pLPdxz48Ns27/vsHPLnHHDDEcnmgOBaZtETbxd666gBhWdyH8KviiHFsZ1txV84Ftf4MChbWLapeTVFVdjuiCjbCtCDrHmFdnGueCwG5QGNKnBZ6amfMzthd8ODi8eB+nXzaLg8TG9PLMo4W+KAPMWyS7bfBsT7cZ+HtGpVaOld+4EpXTgqvqZMrckOpucG8B0Kdr+uYhuj5IbYXPq/lJpiRMLvRDjp5aC1dKAO2+KtumBtWQ+YNYvpbLuKuK6ZnkvfpH5bTyQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; To: devel@lists.libvirt.org Subject: [PATCH v11 3/7] qemu: introduce QEMU_CAPS_DEVICE_SMMUV3 Date: Wed, 5 Aug 2026 15:12:57 -0700 Message-ID: <20260805221301.3987446-4-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260805221301.3987446-1-nathanc@nvidia.com> References: <20260805221301.3987446-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR03CA0003.namprd03.prod.outlook.com (2603:10b6:a03:33a::8) To CH0PR12MB5387.namprd12.prod.outlook.com (2603:10b6:610:d6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR12MB5387:EE_|DM4PR12MB6638:EE_ X-MS-Office365-Filtering-Correlation-Id: 390d74c9-0b44-4ee6-1f16-08def33ebe5b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|18002099003|22082099003|11063799006|56012099006|6133799003|10067099003; X-Microsoft-Antispam-Message-Info: k2ehLuuWoyrShLAn+I7Mt++m+DBjPxY0rLqbag9szdkziKqUzHoAqxf8NsniIYas2pq6APTCVWm9loBjaPYxrOu/pyD1yZh5SkerrDKbvMA01f5Q8n/tjCHMGfGOYva4UUD7JSD5crjfusDBJc+Voc+BDqpbff0NeJ//Ua4KIJibtl/6SGXL1y6DstQfSCrJwcQTRuLhrfMacr2EARI2621Ekin3tFe7+beGhYX3Eec6+ohT4Ybfg1fub9TB37FRFmcrdb/yZ31w6SqlOsmHqy0He2LyAC+AkYeI5GCvJGYF9af9jGyeis51wJn+AW30VZLjBAhAgoMAznOi76x9eXrdT5xrKEKAbWFqvtkh2aTUiIm/epe7n0EbGSB6KapJ+AUG7fHxLCsR5prcFpmjMFeyJbxfGkTEtjrIrkCaMwTGJdWKJVAu+1Sm22zSg9UNLOi0B1gS9Z8NzdvqmoymXM3TVPl9eV/rWBpRpVWIUsYmVmyUrHqO/5YENGC2iF+8PgJGvP2JXO3xysoCr1NemqAH6F9IC+5MsNbLabc/9kY2KUEAD/C551stRZ1kkoBSq+HJlhuxDOyCC8xTV3dEtHopmXdjOJsuL0MKm5sU3a2dcvqFELQUagpgdZ/+vTBxAzVN87BsU5UQCr5YsnDD2z5EBD6ZL/wjDm0FQafNnE4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR12MB5387.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(23010399003)(18002099003)(22082099003)(11063799006)(56012099006)(6133799003)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zlb3xte/CaJ/sI6L9cFXliUnhmTW0ZzM8eYnPZRtkxcToluM1TY73hWeRJri?= =?us-ascii?Q?xn+s2+NfT6vJRFHb2WWhyNfiXGjCl32Xy4MZKdXWSYhFogYrEDI+7clKKMXA?= =?us-ascii?Q?XLz7yyP0priEuG6MZJbZ6fCXeT0s4RnLz/PBvsPbC2HwNh0Z7OArKzyq4TAI?= =?us-ascii?Q?Fp5c1Ne9uaFwVWICS0gImmkYER4XuGKmwJEQeXKWFteAoHZIHEkjuzDb2J7D?= =?us-ascii?Q?mpLKmHBsKLe0UaNgE6bmAfvCzEKCQ7LSgofqvwuVwpujvnPbIGbfE81nSPit?= =?us-ascii?Q?pirxt9luuf9KFuH/CZwbYzJd/YbGfujCQrAqrPVIbGYgpgLMLvvBMzDq7Zr3?= =?us-ascii?Q?OrVu/1marwYQXU6fqetnUUEV+X4cIP87HgBH7F5VVJLZvGLhpmKzwzOq56Ca?= =?us-ascii?Q?gflaWJi5AW44YzPGkK4mJYWFKbs1k6I9ZdyKydAiWUL5SzMlYKuyrn97cEFR?= =?us-ascii?Q?ezUYwW7kFX/Ji/TxWUdSEwOlc5miXPFTxfrI9VIQaZU7Psqz7JR3FCmPyxRJ?= =?us-ascii?Q?e2dtni3T/9AbVsHDiSFRHUoNdeiOhphxYVHVam/4CMEg9F46XA+pnzcmc777?= =?us-ascii?Q?lp13+rhJ12T78DLJHc3drE/hakZGn/czS7Lhsrom9KYppnBfSufEYmaD7slN?= =?us-ascii?Q?8dWAeIz7L19DupydeBJP8rrKYfFOYrjIDKg/46sjBRfoJ+yJHE6o5G8YGcTs?= =?us-ascii?Q?+9cYdkjfii/xhSIZWSDZVvTUzDp1DidCx+uUITVc4JZhK8rYFTLS+LFDGmnG?= =?us-ascii?Q?QI00jiq77iswipvrZbVMKkrxgUg15jj6weAyZy/Oe/0+xWaIT1FrS70y/eHr?= =?us-ascii?Q?qrS8r5Pfn8jyv8gk7TkgVVprNZKFsq4zHKGpRCbajNqTXG7d4utHdQO0yymV?= =?us-ascii?Q?nV0mds886prfB12uhbO/0EqylyR8QAcf++1wdt8HtDukiOGQkoQu9ddOpGkB?= =?us-ascii?Q?rny2iKVptlTYMguTRPWQ40vsELdmtH0eMblXa0TRuyMNvGONUh9iM+DAXjfI?= =?us-ascii?Q?3g7RHU3oUE6pdquFQ4dwrHI7rHKb4IqCG/kXEkSzrY8CVvse6VQeNwPNWtm+?= =?us-ascii?Q?uhqgImpsGxynS5fLOxC67C9Xy+ja0GquQV10QeK1Rng0OKRXDI//Ge2VfqMs?= =?us-ascii?Q?3TVyubMTjPmnDee2XWbPvGw0QJxnfQ5WDaEgLG+hj1Jinv6NF1t/uZ/3UEOj?= =?us-ascii?Q?AKNcL8JYvo0BEVom8jCJ49B5Jho2osTG9rwRWurXEJDIcKrpoXI3nbgy3IwZ?= =?us-ascii?Q?wwImO2rsRchtyqQzVo9fxJ3yQ/ebNsL86JiwGHFyC3EUQmjwEpK7zQOXi9AA?= =?us-ascii?Q?GTOH5BxxnB++dAW9K+alFLX/RBrWKCYvMI3vNrRtZTAHqbKe/z+Cr0mRrcmw?= =?us-ascii?Q?7VPPo6TrAlNsZPixWhjCjvqF7kEXDERnbeinzVvBEEgUh5VmFKzmTFzjRnaL?= =?us-ascii?Q?I7w5sQt6LwK7d+0kHOv3ZF2J6Zhhri5gJux3p/f19LjrxewrZpuwgzQJnkYb?= =?us-ascii?Q?EskxXAAxc/YDl4751L7nc+teMeb/sO0zvpPcOhBw28sBrN5EHL8cmeerUv1x?= =?us-ascii?Q?Y7iDsAUfqsJc7UkzTKF0VCz3WG+dA2fQms5BzEQUn4Tq4gaZH05+pfp7NZpv?= =?us-ascii?Q?GJ+xWID4Dpcp0vBsYzbLATM0EIHkDot4fufXmHuLigCCvUSPEGZtHthU41D9?= =?us-ascii?Q?SGTC/Hea2pCJlZ8gX2ZaBFINMpozHo3selxistJ8Y/YYDwZr8yHcESrXS/hv?= =?us-ascii?Q?GmY1Wx+cIA=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 390d74c9-0b44-4ee6-1f16-08def33ebe5b X-MS-Exchange-CrossTenant-AuthSource: CH0PR12MB5387.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 22:13:14.2373 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UITRkj83aIlHf30FkiO4ZiVoDSXPfgrtahnYK2M3e9/rONUKkX1lpMfgsGl7GdS11dSH58EpvQGZtW7CO8/ixA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6638 Message-ID-Hash: MV5AE7UIXGDIOKZVM7XB4H7SXPP3EUEF X-Message-ID-Hash: MV5AE7UIXGDIOKZVM7XB4H7SXPP3EUEF X-MailFrom: nathanc@nvidia.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Matt Ochs , Nicolin Chen , Shameer Kolothum , Nathan Chen X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Nathan Chen via Devel Reply-To: Nathan Chen X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1785968386329158500 Content-Type: text/plain; charset="utf-8" From: Nathan Chen The arm-smmuv3 QOM type is reported by qom-list-types on ARM QEMU. Register it as QEMU_CAPS_DEVICE_SMMUV3 so later device-list-properties probing for arm-smmuv3 properties can be gated on this capability instead of an architecture check. Signed-off-by: Nathan Chen Reviewed-by: Pavel Hrdina --- src/qemu/qemu_capabilities.c | 2 ++ src/qemu/qemu_capabilities.h | 1 + tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml | 1 + tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml | 1 + 9 files changed, 10 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 61e44b398a..4dbb539633 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -768,6 +768,7 @@ VIR_ENUM_IMPL(virQEMUCaps, /* 495 */ "blockdev-mirror.target-is-zero", /* QEMU_CAPS_BLOCKDEV_MIRR= OR_TARGET_IS_ZERO */ "object-monitor-qmp", /* QEMU_CAPS_OBJECT_MONITOR_QMP */ + "arm-smmuv3", /* QEMU_CAPS_DEVICE_SMMUV3 */ ); =20 =20 @@ -1481,6 +1482,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[= ] =3D { { "uefi-vars-x64", QEMU_CAPS_DEVICE_UEFI_VARS }, { "uefi-vars-sysbus", QEMU_CAPS_DEVICE_UEFI_VARS }, { "monitor-qmp", QEMU_CAPS_OBJECT_MONITOR_QMP }, + { "arm-smmuv3", QEMU_CAPS_DEVICE_SMMUV3 }, }; =20 =20 diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index c846771d50..dbd889c296 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -742,6 +742,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ /* 495 */ QEMU_CAPS_BLOCKDEV_MIRROR_TARGET_IS_ZERO, /* 'blockdev-mirror' support= s 'target-is-zero' */ QEMU_CAPS_OBJECT_MONITOR_QMP, /* 'monitor-qmp' -object */ + QEMU_CAPS_DEVICE_SMMUV3, /* -device arm-smmuv3 */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml b/tests/qem= ucapabilitiesdata/caps_10.0.0_aarch64.xml index 119a3e171f..48629e494d 100644 --- a/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml @@ -165,6 +165,7 @@ + 10000000 61700285 v10.0.0 diff --git a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml b/tests/qem= ucapabilitiesdata/caps_10.2.0_aarch64.xml index 00c0b8c86f..c1dc536669 100644 --- a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml @@ -185,6 +185,7 @@ + 10002000 61700287 v10.2.0 diff --git a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml b/tests/qem= ucapabilitiesdata/caps_11.0.0_aarch64.xml index c987072f6b..4127a4fa7f 100644 --- a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml @@ -187,6 +187,7 @@ + 11000000 61700286 v11.0.0 diff --git a/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml b/tests/qem= ucapabilitiesdata/caps_11.1.0_aarch64.xml index 9e14171d64..05a784b22c 100644 --- a/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml @@ -188,6 +188,7 @@ + 11000090 61700287 v11.1.0-rc0 diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml b/tests/qemu= capabilitiesdata/caps_8.2.0_aarch64.xml index 20eb5f5d50..1f0f68092d 100644 --- a/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml @@ -160,6 +160,7 @@ + 8002000 61700246 v8.2.0 diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml b/tests/qemuc= apabilitiesdata/caps_8.2.0_armv7l.xml index 042458fba8..254ec27545 100644 --- a/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml +++ b/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml @@ -167,6 +167,7 @@ + 8002000 0 qemu-8.2.0-7.fc39 diff --git a/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml b/tests/= qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml index 166762e855..c9e85ff9b3 100644 --- a/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml +++ b/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml @@ -135,6 +135,7 @@ + 9002002 61700247 --=20 2.43.0 From nobody Mon Aug 24 09:07:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (Bad Signature); dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 1785968899499409.8424515521456; Wed, 5 Aug 2026 15:28:19 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 05B713FD39; Wed, 5 Aug 2026 18:28:17 -0400 (EDT) Received: from [172.19.199.10] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id CA3EB41D81; Wed, 5 Aug 2026 18:14:33 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id DF3B63F9B8; Wed, 5 Aug 2026 18:14:09 -0400 (EDT) Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazlp170110003.outbound.protection.outlook.com [IPv6:2a01:111:f403:c10d::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 484DD41A36 for ; Wed, 5 Aug 2026 18:13:28 -0400 (EDT) Received: from CH0PR12MB5387.namprd12.prod.outlook.com (2603:10b6:610:d6::17) by DM4PR12MB6638.namprd12.prod.outlook.com (2603:10b6:8:b5::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.19; Wed, 5 Aug 2026 22:13:16 +0000 Received: from CH0PR12MB5387.namprd12.prod.outlook.com ([fe80::caa2:e846:62b3:33d9]) by CH0PR12MB5387.namprd12.prod.outlook.com ([fe80::caa2:e846:62b3:33d9%6]) with mapi id 15.21.0292.018; Wed, 5 Aug 2026 22:13:16 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dCfc2r711NMzFSlSJ2nAT0zNuoUsTUs9MQ7YrHmiW2nEoNIuJ/ksknsffFzD9Yr8qWtph0u1IbitQUYJkezmleYA362N767V4urRbaCPtCLFkAWvyWFObfJJ3MIz95zLwQJLOsA8+Dt7JIhA/9bNhmjcMdS91hQRvSiu3wIzc1FoVtR7gt7RHbsPnk0wliNZxDIMwap9g2Ca1KsMNyPIOsN+4FIqHOcODSHMSTE30aqnuQzkMQXj7QZakBbXjmFOJ/jzQhAc/E9mD3i9eNAPy7+jss9JfjzRiBKxSldJ/nuDAHas6QUJdZyzmYmBCP9Eu/tehzIVx2/t9zGkHw9hIQ== 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=N+dgb0nySqrndls94/xW9RJUrAaiz83nMWEhyMCCZnQ=; b=GG26OkAl8WESB0u8hfSl3IUmeiosN4sGO+t049UOyUJMMI4JA87jcvleBoqGV5sruUfCNBXhwir2UZVjjmxW87HeshXgLkZowSWB9KAfe9pVXftCFVifr6rZ8oiRH35nIyKtpkdQYg01+XxO3Kj6ubsdMEpgSn855YGi7rcX7gNBQ7M5vCLEu1tyfwteoSMikyVar3NacIg1MTEg201W9qJmskWqXpGfeKzBXZbIVq4OH4JhptCAYJTZslqUe8DzkWVsLONBVPf652rhGU0a/M4DnUQbx38FFwudGJu+IMrtRnHvN5C+S3f5pp8uvZMfEcVCEEaUDDF9785oG43D3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none 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=N+dgb0nySqrndls94/xW9RJUrAaiz83nMWEhyMCCZnQ=; b=p0dghx20S2O4ARvtpLjXobQVtQS5W/8cbp2eEsD8nvSwjgfo9g844TNl1RgUjQT3fvV/AiC0wDZb8MV4KPqplByW77otdF82qvX2L/OVKUkOXrbhtS9s+uWTcoe93jE6r0hnXobg6EZpUKeicq5F3sNxl+JXYHa3pm+FB0h92qR5MZRuzkSUfjLvbhIkC+5wPYDokn4Pg7jIVqI3CqRuM1jl2d38vTk+mL0KIrdyuoxBXA6UXQrax7UX5y+P+u3ZZSY4ucJomWlym7PoN+qxz3Dh831Le+v70WOCT4PKKpfmEMd9X/XyoIdByaWWrDh3zpXmVSIHazC0QG3yLu7+VQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; To: devel@lists.libvirt.org Subject: [PATCH v11 4/7] qemu: introduce QEMU_CAPS_ARM_SMMUV3_SMMU_PER_BUS Date: Wed, 5 Aug 2026 15:12:58 -0700 Message-ID: <20260805221301.3987446-5-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260805221301.3987446-1-nathanc@nvidia.com> References: <20260805221301.3987446-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR13CA0089.namprd13.prod.outlook.com (2603:10b6:a03:2c4::34) To CH0PR12MB5387.namprd12.prod.outlook.com (2603:10b6:610:d6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR12MB5387:EE_|DM4PR12MB6638:EE_ X-MS-Office365-Filtering-Correlation-Id: ef18abef-2535-433a-b250-08def33ebf9d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|18002099003|22082099003|11063799006|56012099006|3023799007|6133799003|10067099003; X-Microsoft-Antispam-Message-Info: KS4ZwiXJ3nWGrZOsirrdGU/H3ugbywzrm+RgRUDAGLlpn34Mz9sIygO8qnGO6EoKE3hIps3SrFfK634a20J8NBLDbUmv4Um1t0nPEbx+pZtzwDtyJQPxppb0U4XeZo7JuXpI79V7EBwPJ3zbGHiyQhGBv+Xjaz3MIsbQ0lC1EQm+wUfX534Ud4/agCrIBg8JKb0i7wRIkM+nt9I4fy+TfoZGhvlRsLrlkQ39pLL3wLO3T7Cdbb/n5H13x6OzaM+4HFiU7d8E+cDz57N6P/J+cza1aqm7BZIaxtnGjkiL1ittd6Du5MWqgRodcICafUWpbsh0zLfjozoMU+2QGGAO1WuYdY6dgdiAxMWGAlYswZBjh4fYx/NTPXZIh9rtR03QLAwXtoDdxrXNsvf1wT1FHzxC2lVOlYb2GTzaI0eEcrzcgs+/9Kc0NqJxb1sgdU95j+M0SrNcKa0l6QrIjqk83dwEAl07oyvTKo+2M0AXpJfzFL9KMO9NZ+uMMU1mEtKuXgrbY1mGEgkjPKDTaTVu1SE2mf2Vqq30iN6Fi+pE5Jor+QqGK16zFdLF/uKYeaQ0NjSD5DGQYIsqbxRgDroyUReRc6BNsP4nT3McryZEvr/OiVoRNjmuInUi8V70Cf7ydLwNT5HO/kXYoc/SQur9W36buhqai0i+6ZkblqsKqjw= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR12MB5387.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(23010399003)(18002099003)(22082099003)(11063799006)(56012099006)(3023799007)(6133799003)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?HUDzJDs691jcXjLKYK074nT+Sk9UFrZ2HrwX/Q+xUCKynNztr9eJ8Qwn9hKW?= =?us-ascii?Q?43gXoIpwaemul1dzVndy82T3HTAaQbDTLmkxCVzwQTypBIz7yRLTdRsADKM5?= =?us-ascii?Q?4Imvg6y/oHmMkf+GEzm75+qVCaVCP0WnJly/awicIQAw5deHF3LQYmd5cAdb?= =?us-ascii?Q?KZKpTf7w/aO1f4OaxoGhGFHEobPqQmUu0fbxICz2FdtCSYVI43X6Q9on2fuQ?= =?us-ascii?Q?wy/OfzmVnYyDf5wkJ3ND99A90T04TLNpDr+nVbz3DgVgVKom1fcF7B3LV9ta?= =?us-ascii?Q?i2VFvxmQNEUIBRduCmKpLovVm30bsBdIz0pcVLfi7XQpahZJdfT9fOdGvJoO?= =?us-ascii?Q?AksHrwqiWCRst8ou22BFuT+Nkrq4hLuUYP89UJ3zYRzjl2NeC1lVY/t+MzdX?= =?us-ascii?Q?R7u15RvkyDLVxQ5qqd+HGApRjsImQ8UXGzsWMldi9TTqZe7482JlZ/99uewy?= =?us-ascii?Q?mb4SFARS+ZSo6vEqeGU5M5Kkb2MI/wS+altA2PQ4+pxNZ2a48k3ljQKg9lIg?= =?us-ascii?Q?ONbtwfjCsxduwe8AUNYzHgUX0kLUDOYael6FZnIitayXfNqhRBYebYmBCO/t?= =?us-ascii?Q?r0VRXt9kBE9w02ONpWhznEGUlm6dkMHbxwiE62XI716gliaq/Si5FwqtvOH/?= =?us-ascii?Q?VORCovHytEdmRglUGn9bCS19MxWwbQ7PoLCE9wqgPL6ONKCz4+36DQj3KZQa?= =?us-ascii?Q?8AdGq7i2C9keFqX/EOzAGdazLcFAQ1mlGfPsZjF2WxkxP2pl87/RusDLpIJ4?= =?us-ascii?Q?5EW6qXV72wdRjU+iKqT8FPxHGIcXBypl72Za4dx/uk287tUrdZY7901Jpvj/?= =?us-ascii?Q?c0btYn3WS7Yt2N6TZoeFJg8RG+TQI+DOYkYDEvwAYbCHHSi8oRXO8oog2HFK?= =?us-ascii?Q?36jJzzkHj03ikIgKUR81ZTd6nlYy6rJ1Z4MXvOZaQRqKCEuX+SDo8fO4iBED?= =?us-ascii?Q?NQYMK9HsmNyH0r8wzQHD8ZqpbUvUJaSr+RDJ9D6sRi8bxSDu3C7PNOI7jwRZ?= =?us-ascii?Q?8+Ew0dMMegwfVJAMDpyB1nu8d1j8PCtPLCP3hz1Jl1y/ntBaPxprBheTwCFa?= =?us-ascii?Q?dEhn+muCwsbTH/jizGghGuhwknOlIqPH/yKA5jARDKm1vype++Kr1/vBa7ux?= =?us-ascii?Q?QpLeqPw6fsyUO6DbjWLN4SyGB+JcQwU0rFqHUOdWXwaJZ7CXfatltxdUMXST?= =?us-ascii?Q?MtaPiwJYpx3WUg3ZpqN0Kx8LJTKhBN8I4ogQSDp7T9NGEegK9u7b3eIDJZe1?= =?us-ascii?Q?/o6bwM2/gi43MgwUy717KA8nQWe+xLtaLZO0CfRostS/S4CTh9QFdOZsJAaR?= =?us-ascii?Q?vAYITnFmxdHugKUK3rHH5ZsmiLZ66C4+rwAWQw/FL/THq2obaF9o0vNjcyf3?= =?us-ascii?Q?CXLBYK9ll5JUQTPOHgFxAF4aFFPF9abWBuf/o90i0Q+CfsRuyO1EeID+YSKB?= =?us-ascii?Q?a4dhvuIZP0gvzEje+5mcgVw0MlIcnQdePal+msa5PcvFFXKV9BNJPNjr8ku0?= =?us-ascii?Q?b9zilsTB6an02NHZ6FxhGFCGgsg9B+pqYa5cA6rP22unIVeLEV3D5Qo+ugVZ?= =?us-ascii?Q?Qd0ti/y2AW8/wbjW/HU3Csj7WwdmRKuNGn/vDKSo/l5mkhFy0EoVvsMAd3IX?= =?us-ascii?Q?qs/0F3JEKtLrN+bzGy44nJk+JLdhH+EQ+2JvQZhIOsNJizPrsteMBmWbCUfY?= =?us-ascii?Q?lL/WBm0XUZJhjquPrOaPx3y6XkehYKu7YI7WPiUa/CjOFc/NM5GPbBXzwVJJ?= =?us-ascii?Q?YCBW6gK1Zg=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: ef18abef-2535-433a-b250-08def33ebf9d X-MS-Exchange-CrossTenant-AuthSource: CH0PR12MB5387.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 22:13:16.3297 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: jCLNmTHDrA4M8MuF0qN8h+GoKRdbJasA9QuU7Zpod13wRuD3Mej9AY2AUo1bD0FIAVtBVIg2xrLxvSNn12L6FQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6638 Message-ID-Hash: 5ZQPHRQ3AE3GZIR764TDKZVCPQRAQMBT X-Message-ID-Hash: 5ZQPHRQ3AE3GZIR764TDKZVCPQRAQMBT X-MailFrom: nathanc@nvidia.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Matt Ochs , Nicolin Chen , Shameer Kolothum , Nathan Chen X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Nathan Chen via Devel Reply-To: Nathan Chen X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1785968900896158500 Content-Type: text/plain; charset="utf-8" From: Nathan Chen The arm-smmuv3 QOM type appears in qom-list-types on ARM QEMU as far back as 8.2 because the type is used for machine-integrated IOMMU (-machine virt,iommu=3Dsmmuv3). That reply does not indicate support for a user-pluggable -device arm-smmuv3. User-pluggable SMMUv3 with the smmu_per_bus property was added in QEMU 10.2.0. Probe that property via device-list-properties, gated on QEMU_CAPS_DEVICE_SMMUV3, so the capability tracks pluggable device support rather than mere QOM visibility. In qemu_validate.c, an IOMMU with pci_bus set requires QEMU_CAPS_ARM_SMMUV3_SMMU_PER_BUS; machine-integrated SMMUv3 without pci_bus keeps using QEMU_CAPS_MACHINE_VIRT_IOMMU. Update caps_8.2.0_aarch64, caps_9.2.0_aarch64, caps_10.0.0_aarch64, caps_10.2.0_aarch64, caps_11.0.0_aarch64, caps_8.2.0_armv7l, and caps_11.1.0_aarch64 .replies with the arm-smmuv3 device-list-properties exchange. Signed-off-by: Nathan Chen Reviewed-by: Pavel Hrdina --- src/qemu/qemu_capabilities.c | 8 + src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_validate.c | 8 + .../caps_10.0.0_aarch64.replies | 79 ++++++---- .../caps_10.2.0_aarch64.replies | 89 +++++++---- .../caps_10.2.0_aarch64.xml | 1 + .../caps_11.0.0_aarch64.replies | 132 ++++++++++++---- .../caps_11.0.0_aarch64.xml | 1 + .../caps_11.1.0_aarch64.replies | 143 ++++++++++++++---- .../caps_11.1.0_aarch64.xml | 1 + .../caps_8.2.0_aarch64.replies | 79 ++++++---- .../caps_8.2.0_armv7l.replies | 79 ++++++---- .../caps_9.2.0_aarch64+hvf.replies | 75 ++++++--- 13 files changed, 510 insertions(+), 186 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 4dbb539633..c3ddba2f63 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -769,6 +769,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "blockdev-mirror.target-is-zero", /* QEMU_CAPS_BLOCKDEV_MIRR= OR_TARGET_IS_ZERO */ "object-monitor-qmp", /* QEMU_CAPS_OBJECT_MONITOR_QMP */ "arm-smmuv3", /* QEMU_CAPS_DEVICE_SMMUV3 */ + "arm-smmuv3.smmu_per_bus", /* QEMU_CAPS_ARM_SMMUV3_SMMU_PER_= BUS */ ); =20 =20 @@ -1646,6 +1647,10 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCap= sDevicePropsAMDIOMMU[] =3D { { "xtsup", QEMU_CAPS_AMD_IOMMU_XTSUP, NULL }, }; =20 +static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsArmSmmuv3[= ] =3D { + { "smmu_per_bus", QEMU_CAPS_ARM_SMMUV3_SMMU_PER_BUS, NULL }, +}; + /* see documentation for virQEMUQAPISchemaPathGet for the query format */ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] =3D { { "blockdev-add/arg-type/+file/drop-cache", QEMU_CAPS_MIGRATION_FILE_D= ROP_CACHE }, @@ -1811,6 +1816,9 @@ static virQEMUCapsDeviceTypeProps virQEMUCapsDevicePr= ops[] =3D { { "amd-iommu", virQEMUCapsDevicePropsAMDIOMMU, G_N_ELEMENTS(virQEMUCapsDevicePropsAMDIOMMU), QEMU_CAPS_AMD_IOMMU }, + { "arm-smmuv3", virQEMUCapsDevicePropsArmSmmuv3, + G_N_ELEMENTS(virQEMUCapsDevicePropsArmSmmuv3), + QEMU_CAPS_DEVICE_SMMUV3 }, { "scsi-block", virQEMUCapsDevicePropsSCSIBlock, G_N_ELEMENTS(virQEMUCapsDevicePropsSCSIBlock), -1 }, diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index dbd889c296..10f7ff67a0 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -743,6 +743,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ QEMU_CAPS_BLOCKDEV_MIRROR_TARGET_IS_ZERO, /* 'blockdev-mirror' support= s 'target-is-zero' */ QEMU_CAPS_OBJECT_MONITOR_QMP, /* 'monitor-qmp' -object */ QEMU_CAPS_DEVICE_SMMUV3, /* -device arm-smmuv3 */ + QEMU_CAPS_ARM_SMMUV3_SMMU_PER_BUS, /* arm-smmuv3.smmu_per_bus */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index ae1edf435a..3d2658c929 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -5701,6 +5701,14 @@ qemuValidateDomainDeviceDefIOMMU(const virDomainIOMM= UDef *iommu, virDomainIOMMUModelTypeToString(iommu->model)); return -1; } + if (iommu->pci_bus >=3D 0) { + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_ARM_SMMUV3_SMMU_PER_BU= S)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("IOMMU device: Setting pciBus for '%1$s' = is not supported with this QEMU binary"), + virDomainIOMMUModelTypeToString(iommu->mode= l)); + return -1; + } + } if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_MACHINE_VIRT_IOMMU)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("IOMMU device: '%1$s' is not supported with t= his QEMU binary"), diff --git a/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.replies b/tests= /qemucapabilitiesdata/caps_10.0.0_aarch64.replies index 0448dcaab9..382b76e021 100644 --- a/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.replies @@ -32067,17 +32067,44 @@ { "execute": "device-list-properties", "arguments": { - "typename": "scsi-block" + "typename": "arm-smmuv3" }, "id": "libvirt-31" } =20 +{ + "return": [ + { + "name": "primary-bus", + "type": "link" + }, + { + "default-value": 0, + "name": "bus_num", + "type": "uint8" + }, + { + "name": "stage", + "type": "str" + } + ], + "id": "libvirt-31" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "scsi-block" + }, + "id": "libvirt-32" +} + { "error": { "class": "DeviceNotFound", "desc": "The libvirt device dump was not collected for this version+de= vice tuple" }, - "id": "libvirt-31" + "id": "libvirt-32" } =20 { @@ -32085,7 +32112,7 @@ "arguments": { "typename": "scsi-generic" }, - "id": "libvirt-32" + "id": "libvirt-33" } =20 { @@ -32093,7 +32120,7 @@ "class": "DeviceNotFound", "desc": "The libvirt device dump was not collected for this version+de= vice tuple" }, - "id": "libvirt-32" + "id": "libvirt-33" } =20 { @@ -32101,7 +32128,7 @@ "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -32191,7 +32218,7 @@ "type": "bool" } ], - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -32199,7 +32226,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -32278,7 +32305,7 @@ "type": "int" } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -32286,7 +32313,7 @@ "arguments": { "typename": "max-arm-cpu" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -32534,12 +32561,12 @@ "type": "link" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "execute": "query-machines", - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -33634,7 +33661,7 @@ "default-ram-id": "ram" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -33642,7 +33669,7 @@ "arguments": { "typename": "virt-10.0-machine" }, - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -33889,7 +33916,7 @@ "type": "string" } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -33897,7 +33924,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -34016,12 +34043,12 @@ "type": "bool" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -34315,12 +34342,12 @@ "deprecated": false } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-command-line-options", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -35787,12 +35814,12 @@ "option": "drive" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-gic-capabilities", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -35808,7 +35835,7 @@ "kernel": false } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -35819,7 +35846,7 @@ "name": "host" } }, - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -35852,7 +35879,7 @@ } } }, - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -35867,11 +35894,11 @@ } } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { - "id": "libvirt-43", + "id": "libvirt-44", "error": { "class": "GenericError", "desc": "Parameter 'model.props.hv-passthrough' is unexpected" diff --git a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.replies b/tests= /qemucapabilitiesdata/caps_10.2.0_aarch64.replies index 2a5be22ed8..c0cb15aa3a 100644 --- a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.replies @@ -33933,11 +33933,44 @@ { "execute": "device-list-properties", "arguments": { - "typename": "scsi-block" + "typename": "arm-smmuv3" }, "id": "libvirt-32" } =20 +{ + "return": [ + { + "name": "primary-bus", + "type": "link" + }, + { + "default-value": 0, + "name": "bus_num", + "type": "uint8" + }, + { + "default-value": false, + "name": "smmu_per_bus", + "description": "on/off", + "type": "bool" + }, + { + "name": "stage", + "type": "str" + } + ], + "id": "libvirt-32" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "scsi-block" + }, + "id": "libvirt-33" +} + { "return": [ { @@ -34008,7 +34041,7 @@ "type": "int32" } ], - "id": "libvirt-32" + "id": "libvirt-33" } =20 { @@ -34016,7 +34049,7 @@ "arguments": { "typename": "scsi-generic" }, - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -34057,7 +34090,7 @@ "type": "int32" } ], - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -34065,7 +34098,7 @@ "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -34159,7 +34192,7 @@ "type": "bool" } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -34167,7 +34200,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -34236,7 +34269,7 @@ "type": "bool" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -34244,7 +34277,7 @@ "arguments": { "typename": "max-arm-cpu" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -34492,12 +34525,12 @@ "type": "link" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-machines", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -35539,7 +35572,7 @@ "default-ram-id": "ram" } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -35547,7 +35580,7 @@ "arguments": { "typename": "virt-10.2-machine" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -35810,7 +35843,7 @@ "type": "child" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -35818,7 +35851,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -35943,12 +35976,12 @@ "type": "bool" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -36176,12 +36209,12 @@ "deprecated": false } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-command-line-options", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -37743,12 +37776,12 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-gic-capabilities", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -37764,7 +37797,7 @@ "kernel": true } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -37775,7 +37808,7 @@ "name": "host" } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -37808,7 +37841,7 @@ } } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -37819,7 +37852,7 @@ "name": "host" } }, - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -37852,7 +37885,7 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -37867,11 +37900,11 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { - "id": "libvirt-45", + "id": "libvirt-46", "error": { "class": "GenericError", "desc": "Parameter 'model.props.hv-passthrough' is unexpected" diff --git a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml b/tests/qem= ucapabilitiesdata/caps_10.2.0_aarch64.xml index c1dc536669..3bbba5ddb1 100644 --- a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml @@ -186,6 +186,7 @@ + 10002000 61700287 v10.2.0 diff --git a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.replies b/tests= /qemucapabilitiesdata/caps_11.0.0_aarch64.replies index fef7dd9730..078716745d 100644 --- a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.replies @@ -33845,11 +33845,87 @@ { "execute": "device-list-properties", "arguments": { - "typename": "scsi-block" + "typename": "arm-smmuv3" }, "id": "libvirt-32" } =20 +{ + "return": [ + { + "name": "memory", + "type": "link" + }, + { + "name": "secure-memory", + "type": "link" + }, + { + "name": "primary-bus", + "type": "link" + }, + { + "default-value": 0, + "name": "bus_num", + "type": "uint8" + }, + { + "default-value": false, + "name": "smmu_per_bus", + "description": "on/off", + "type": "bool" + }, + { + "default-value": "44", + "name": "oas", + "description": "Specify Output Address Size (for accel=3Don). Suppor= ted values are 44 or 48 bits. Defaults to 44 bits. oas=3Dauto is not suppor= ted.", + "type": "OasMode" + }, + { + "default-value": "on", + "name": "ril", + "description": "Disable range invalidation support (for accel=3Don).= ril=3Dauto is not supported.", + "type": "OnOffAuto" + }, + { + "default-value": 0, + "name": "msi-gpa", + "type": "uint64" + }, + { + "default-value": false, + "name": "accel", + "description": "Enable SMMUv3 accelerator support. Allows host SMMUv= 3 to be configured in nested mode for vfio-pci dev assignment", + "type": "bool" + }, + { + "name": "stage", + "type": "str" + }, + { + "default-value": "0", + "name": "ssidsize", + "description": "Number of bits used to represent SubstreamIDs (SSIDs= ). A value of N allows SSIDs in the range [0 .. 2^N - 1]. Valid range is 0-= 20, where 0 disables SubstreamID support. Defaults to 0. A value greater th= an 0 is required to enable PASID support. ssidsize=3Dauto is not supported.= ", + "type": "SsidSizeMode" + }, + { + "default-value": "off", + "name": "ats", + "description": "Enable/disable ATS support (for accel=3Don). Please = ensure host platform has ATS support before enabling this. ats=3Dauto is no= t supported.", + "type": "OnOffAuto" + } + ], + "id": "libvirt-32" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "scsi-block" + }, + "id": "libvirt-33" +} + { "return": [ { @@ -33926,7 +34002,7 @@ "type": "int32" } ], - "id": "libvirt-32" + "id": "libvirt-33" } =20 { @@ -33934,7 +34010,7 @@ "arguments": { "typename": "scsi-generic" }, - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -33975,7 +34051,7 @@ "type": "int32" } ], - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -33983,7 +34059,7 @@ "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -34077,7 +34153,7 @@ "type": "bool" } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -34085,7 +34161,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -34154,7 +34230,7 @@ "type": "bool" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -34162,7 +34238,7 @@ "arguments": { "typename": "max-arm-cpu" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -34411,12 +34487,12 @@ "type": "link" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-machines", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -35466,7 +35542,7 @@ "default-ram-id": "ram" } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -35474,7 +35550,7 @@ "arguments": { "typename": "virt-11.0-machine" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -35752,7 +35828,7 @@ "type": "child" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -35760,7 +35836,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -35890,12 +35966,12 @@ "type": "bool" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -36123,12 +36199,12 @@ "deprecated": false } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-command-line-options", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -37709,12 +37785,12 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-gic-capabilities", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -37730,7 +37806,7 @@ "kernel": true } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -37741,7 +37817,7 @@ "name": "host" } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -37774,7 +37850,7 @@ } } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -37785,7 +37861,7 @@ "name": "host" } }, - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -37818,7 +37894,7 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -37833,11 +37909,11 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { - "id": "libvirt-45", + "id": "libvirt-46", "error": { "class": "GenericError", "desc": "Parameter 'model.props.hv-passthrough' is unexpected" diff --git a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml b/tests/qem= ucapabilitiesdata/caps_11.0.0_aarch64.xml index 4127a4fa7f..17775b2ff4 100644 --- a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml @@ -188,6 +188,7 @@ + 11000000 61700286 v11.0.0 diff --git a/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.replies b/tests= /qemucapabilitiesdata/caps_11.1.0_aarch64.replies index f32dc9edb4..921e667f27 100644 --- a/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.replies @@ -34081,11 +34081,98 @@ { "execute": "device-list-properties", "arguments": { - "typename": "scsi-block" + "typename": "arm-smmuv3" }, "id": "libvirt-32" } =20 +{ + "return": [ + { + "name": "memory", + "type": "link" + }, + { + "name": "secure-memory", + "type": "link" + }, + { + "name": "primary-bus", + "type": "link" + }, + { + "default-value": 0, + "name": "bus_num", + "type": "uint8" + }, + { + "default-value": false, + "name": "smmu_per_bus", + "description": "on/off", + "type": "bool" + }, + { + "default-value": "auto", + "name": "cmdqv", + "description": "Enable/disable CMDQV support (for accel=3Don). Valid= values are on, off, and auto. Defaults to auto.", + "type": "OnOffAuto" + }, + { + "default-value": "auto", + "name": "ats", + "description": "Enable/disable ATS support (for accel=3Don). Valid v= alues are on, off, and auto. Defaults to auto. Please ensure host platform = supports ATS before setting it to on.", + "type": "OnOffAuto" + }, + { + "default-value": "auto", + "name": "oas", + "description": "Set Output Address Size in bits (for accel=3Don). Va= lid values are 44, 48, and auto. Defaults to auto.Please ensure the value d= oes not exceed the maximum Output Address Size supported by the host platfo= rm.", + "type": "OasMode" + }, + { + "default-value": "auto", + "name": "ssidsize", + "description": "Set number of bits used to represent SubstreamIDs (S= SIDs). Valid values are 0-20 and auto. Defaults to auto. A value of N allow= s SSIDs in the range [0 .. 2^N - 1]. A value of 0 disables SubstreamID supp= ort. A value greater than 0 is required to enable PASID support.Please ensu= re the value does not exceed the maximum SubstreamID size supported by the = host platform.", + "type": "SsidSizeMode" + }, + { + "default-value": "auto", + "name": "ril", + "description": "Enable/disable range invalidation support (for accel= =3Don). Valid values are on, off, and auto. Defaults to auto. Any attempt t= o turn it 'on' while the host does not support it would fail.", + "type": "OnOffAuto" + }, + { + "default-value": false, + "name": "accel", + "description": "Enable SMMUv3 accelerator support. Allows host SMMUv= 3 to be configured in nested mode for vfio-pci dev assignment. Please ensur= e the host SMMUv3 supports nested translation before enabling.", + "type": "bool" + }, + { + "name": "stage", + "type": "str" + }, + { + "default-value": 0, + "name": "msi-gpa", + "type": "uint64" + }, + { + "default-value": 0, + "name": "identifier", + "type": "uint8" + } + ], + "id": "libvirt-32" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "scsi-block" + }, + "id": "libvirt-33" +} + { "return": [ { @@ -34162,7 +34249,7 @@ "type": "int32" } ], - "id": "libvirt-32" + "id": "libvirt-33" } =20 { @@ -34170,7 +34257,7 @@ "arguments": { "typename": "scsi-generic" }, - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -34211,7 +34298,7 @@ "type": "int32" } ], - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -34219,7 +34306,7 @@ "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -34313,7 +34400,7 @@ "type": "bool" } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -34321,7 +34408,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -34390,7 +34477,7 @@ "type": "bool" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -34398,7 +34485,7 @@ "arguments": { "typename": "max-arm-cpu" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -34653,12 +34740,12 @@ "type": "link" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-machines", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -35697,7 +35784,7 @@ "default-ram-id": "ram" } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -35705,7 +35792,7 @@ "arguments": { "typename": "virt-11.1-machine" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -35983,7 +36070,7 @@ "type": "child" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -35991,7 +36078,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -36121,12 +36208,12 @@ "type": "bool" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -36354,12 +36441,12 @@ "deprecated": false } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-command-line-options", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -37960,12 +38047,12 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-gic-capabilities", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -37981,7 +38068,7 @@ "kernel": true } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -37992,7 +38079,7 @@ "name": "host" } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -38025,7 +38112,7 @@ } } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -38036,7 +38123,7 @@ "name": "host" } }, - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -38069,7 +38156,7 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -38084,11 +38171,11 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { - "id": "libvirt-45", + "id": "libvirt-46", "error": { "class": "GenericError", "desc": "Parameter 'model.props.hv-passthrough' is unexpected" diff --git a/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml b/tests/qem= ucapabilitiesdata/caps_11.1.0_aarch64.xml index 05a784b22c..8df736f58a 100644 --- a/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml @@ -189,6 +189,7 @@ + 11000090 61700287 v11.1.0-rc0 diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.replies b/tests/= qemucapabilitiesdata/caps_8.2.0_aarch64.replies index 002ca31b9f..c4d0be6029 100644 --- a/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.replies @@ -31157,17 +31157,44 @@ { "execute": "device-list-properties", "arguments": { - "typename": "scsi-block" + "typename": "arm-smmuv3" }, "id": "libvirt-32" } =20 +{ + "return": [ + { + "name": "primary-bus", + "type": "link" + }, + { + "default-value": 0, + "name": "bus_num", + "type": "uint8" + }, + { + "name": "stage", + "type": "str" + } + ], + "id": "libvirt-32" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "scsi-block" + }, + "id": "libvirt-33" +} + { "error": { "class": "DeviceNotFound", "desc": "The libvirt device dump was not collected for this version+de= vice tuple" }, - "id": "libvirt-32" + "id": "libvirt-33" } =20 { @@ -31175,7 +31202,7 @@ "arguments": { "typename": "scsi-generic" }, - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -31183,7 +31210,7 @@ "class": "DeviceNotFound", "desc": "The libvirt device dump was not collected for this version+de= vice tuple" }, - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -31191,7 +31218,7 @@ "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -31281,7 +31308,7 @@ "type": "bool" } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -31289,7 +31316,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -31368,7 +31395,7 @@ "type": "int" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -31376,7 +31403,7 @@ "arguments": { "typename": "max-arm-cpu" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -31585,12 +31612,12 @@ "type": "bool" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-machines", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -32702,7 +32729,7 @@ "default-ram-id": "ram" } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -32710,7 +32737,7 @@ "arguments": { "typename": "virt-8.2-machine" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -32946,7 +32973,7 @@ "type": "child" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -32954,7 +32981,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -33067,12 +33094,12 @@ "type": "child" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -33366,12 +33393,12 @@ "deprecated": false } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-command-line-options", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -34736,12 +34763,12 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-gic-capabilities", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -34757,7 +34784,7 @@ "kernel": false } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -34768,7 +34795,7 @@ "name": "host" } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -34801,7 +34828,7 @@ } } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -34816,11 +34843,11 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } =20 { - "id": "libvirt-44", + "id": "libvirt-45", "error": { "class": "GenericError", "desc": "Parameter 'hv-passthrough' is unexpected" diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.replies b/tests/q= emucapabilitiesdata/caps_8.2.0_armv7l.replies index b8f7b6f68a..51cd48e1d1 100644 --- a/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.replies +++ b/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.replies @@ -31391,17 +31391,44 @@ { "execute": "device-list-properties", "arguments": { - "typename": "scsi-block" + "typename": "arm-smmuv3" }, "id": "libvirt-32" } =20 +{ + "return": [ + { + "name": "primary-bus", + "type": "link" + }, + { + "default-value": 0, + "name": "bus_num", + "type": "uint8" + }, + { + "name": "stage", + "type": "str" + } + ], + "id": "libvirt-32" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "scsi-block" + }, + "id": "libvirt-33" +} + { "error": { "class": "DeviceNotFound", "desc": "The libvirt device dump was not collected for this version+de= vice tuple" }, - "id": "libvirt-32" + "id": "libvirt-33" } =20 { @@ -31409,7 +31436,7 @@ "arguments": { "typename": "scsi-generic" }, - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -31417,7 +31444,7 @@ "class": "DeviceNotFound", "desc": "The libvirt device dump was not collected for this version+de= vice tuple" }, - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -31425,7 +31452,7 @@ "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -31519,7 +31546,7 @@ "type": "bool" } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -31527,7 +31554,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -31606,7 +31633,7 @@ "type": "int" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -31614,7 +31641,7 @@ "arguments": { "typename": "max-arm-cpu" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -31756,12 +31783,12 @@ "type": "link" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-machines", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -32819,7 +32846,7 @@ "default-ram-id": "ram" } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -32827,7 +32854,7 @@ "arguments": { "typename": "virt-8.2-machine" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -33063,7 +33090,7 @@ "type": "child" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -33071,7 +33098,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -33184,12 +33211,12 @@ "type": "child" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -33411,12 +33438,12 @@ "deprecated": false } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-command-line-options", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -34898,12 +34925,12 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-gic-capabilities", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -34919,7 +34946,7 @@ "kernel": false } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -34930,11 +34957,11 @@ "name": "host" } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { - "id": "libvirt-43", + "id": "libvirt-44", "error": { "class": "GenericError", "desc": "The CPU type 'host' requires KVM" @@ -34953,11 +34980,11 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } =20 { - "id": "libvirt-44", + "id": "libvirt-45", "error": { "class": "GenericError", "desc": "The CPU type 'host' requires KVM" diff --git a/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.replies b/te= sts/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.replies index 14b11c5c30..31b13f865b 100644 --- a/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.replies +++ b/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.replies @@ -30532,17 +30532,44 @@ { "execute": "device-list-properties", "arguments": { - "typename": "scsi-block" + "typename": "arm-smmuv3" }, "id": "libvirt-28" } =20 +{ + "return": [ + { + "name": "primary-bus", + "type": "link" + }, + { + "default-value": 0, + "name": "bus_num", + "type": "uint8" + }, + { + "name": "stage", + "type": "str" + } + ], + "id": "libvirt-28" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "scsi-block" + }, + "id": "libvirt-29" +} + { "error": { "class": "DeviceNotFound", "desc": "The libvirt device dump was not collected for this version+de= vice tuple" }, - "id": "libvirt-28" + "id": "libvirt-29" } =20 { @@ -30550,7 +30577,7 @@ "arguments": { "typename": "scsi-generic" }, - "id": "libvirt-29" + "id": "libvirt-30" } =20 { @@ -30558,7 +30585,7 @@ "class": "DeviceNotFound", "desc": "The libvirt device dump was not collected for this version+de= vice tuple" }, - "id": "libvirt-29" + "id": "libvirt-30" } =20 { @@ -30566,7 +30593,7 @@ "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-30" + "id": "libvirt-31" } =20 { @@ -30651,7 +30678,7 @@ "type": "bool" } ], - "id": "libvirt-30" + "id": "libvirt-31" } =20 { @@ -30659,7 +30686,7 @@ "arguments": { "typename": "max-arm-cpu" }, - "id": "libvirt-31" + "id": "libvirt-32" } =20 { @@ -30816,12 +30843,12 @@ "type": "link" } ], - "id": "libvirt-31" + "id": "libvirt-32" } =20 { "execute": "query-machines", - "id": "libvirt-32" + "id": "libvirt-33" } =20 { @@ -31871,7 +31898,7 @@ "default-ram-id": "ram" } ], - "id": "libvirt-32" + "id": "libvirt-33" } =20 { @@ -31879,7 +31906,7 @@ "arguments": { "typename": "virt-9.2-machine" }, - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -32120,7 +32147,7 @@ "type": "child" } ], - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -32128,7 +32155,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -32246,12 +32273,12 @@ "type": "child" } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -32545,12 +32572,12 @@ "deprecated": false } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "execute": "query-command-line-options", - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -33866,12 +33893,12 @@ "option": "drive" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-gic-capabilities", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -33887,7 +33914,7 @@ "kernel": false } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -33898,11 +33925,11 @@ "name": "host" } }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { - "id": "libvirt-38", + "id": "libvirt-39", "error": { "class": "GenericError", "desc": "The CPU type 'host' requires KVM" @@ -33921,11 +33948,11 @@ } } }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { - "id": "libvirt-39", + "id": "libvirt-40", "error": { "class": "GenericError", "desc": "The CPU type 'host' requires KVM" --=20 2.43.0 From nobody Mon Aug 24 09:07:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (Bad Signature); dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 178596847500638.058094465298836; Wed, 5 Aug 2026 15:21:15 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 7AD78418B1; Wed, 5 Aug 2026 18:21:13 -0400 (EDT) Received: from [172.19.199.10] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id 4028641CD0; Wed, 5 Aug 2026 18:14:11 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id D0E1E41B55; Wed, 5 Aug 2026 18:13:40 -0400 (EDT) Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010000.outbound.protection.outlook.com [40.93.198.0]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 4FDA43FCAD for ; Wed, 5 Aug 2026 18:13:24 -0400 (EDT) Received: from CH0PR12MB5387.namprd12.prod.outlook.com (2603:10b6:610:d6::17) by CY8PR12MB7514.namprd12.prod.outlook.com (2603:10b6:930:92::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.16; Wed, 5 Aug 2026 22:13:18 +0000 Received: from CH0PR12MB5387.namprd12.prod.outlook.com ([fe80::caa2:e846:62b3:33d9]) by CH0PR12MB5387.namprd12.prod.outlook.com ([fe80::caa2:e846:62b3:33d9%6]) with mapi id 15.21.0292.018; Wed, 5 Aug 2026 22:13:18 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FORGED_SPF_HELO,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=no autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hxDSodqVEY/q1GKOmAcJpeoYK8xUl+Nq9GEZWKuRsHw6ylHpU+zpCgCQO0t4psWVEuDM0RLpDh3iy5g8Lej9Ls8Ds/AJPpHidTJuzWKdtHphfBnezUH98q3v+u7Q9Ji3gXMEXZPBLSEzoVNGX8LhbNWDBOGyJsIuxeSXFw5nwZWNTc8EGdxjiWXvV8QJ9/fnUB0qh36JvcrDT26fkNelWuXp8QprtLNlqs6pGwP1X7y9+23fWpvf/Io5NQUZweAKPNzR678P+fODERoXmAVnTL4h6I9q3N7SIIidcQdQ72efOx8MqtL3rJzZnGepnagpT6mEqamwkcjMQaz5rV52uQ== 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=0W51y1d66JfWPVoLmYGSw0JOdEGr4TYld+wH6JrrwI8=; b=DuXk2G4zo1zfvQMkzuLNY8AuYjYORA5+yn9iCzavaZe1623chCsZt7IIGkOUHOnVx6V+vifKzoFDP0YtXAALrR4WFrktl7G0av5x08JI1vpTDJH6iVRE7Y/kIz4m2dScaIe1hPDJxim4USf6g9GzsRm/cF15RS10Bnhojd3HdigArr9nJHXnJMzzxDdhhuOi0D71LPsmV/fQTUh7zhnHTJuraEcH8h8J+XNeyBcJ9vDd3yUh+v3AxD17Hgl+lVyV6CrKukgPxi91wPdqT7AC8e/FuD2li9HDvz/5JrNKKc9dKeetOa4Iy43Sj6HnwKzmBi+HZwj8t8wEX8PKnsCACw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none 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=0W51y1d66JfWPVoLmYGSw0JOdEGr4TYld+wH6JrrwI8=; b=Bmuz3vARn1uszj1wcwO3eSEDpvPimqQOUe+TbxCxA37k51Gsw/m+YXIPYADZvcKSXq3Bq2oVCyWs0WFb8bNFrHaUXKLHBMgwWKz8xXfyHJbCLuBRWb9lVyB+4yvHiIuipdc2p57XWQJ6nwYLWwSzhvlioAL7m1FTm7heA5uQcJZ1j1YiU7+wUCCi4PYE6pATFNn+mmL3+vXZ25I1r1ZodxlmMchOkrwrp7fjcVonkmyg4uh0LzLEaLFND+XWWrRg+vssn2eeRtsjSe++swDf1+OM3Vi1Q6g9LS3Ny0WzQ4ZLiCBkAc1gUM+IJMho8z52rUjz+rabAhv2d5ew9S7CJQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; To: devel@lists.libvirt.org Subject: [PATCH v11 5/7] qemu: introduce QEMU_CAPS_ARM_SMMUV3_ACCEL Date: Wed, 5 Aug 2026 15:12:59 -0700 Message-ID: <20260805221301.3987446-6-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260805221301.3987446-1-nathanc@nvidia.com> References: <20260805221301.3987446-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR05CA0064.namprd05.prod.outlook.com (2603:10b6:a03:332::9) To CH0PR12MB5387.namprd12.prod.outlook.com (2603:10b6:610:d6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR12MB5387:EE_|CY8PR12MB7514:EE_ X-MS-Office365-Filtering-Correlation-Id: 06188c17-95e7-4856-8d68-08def33ec0db X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|23010399003|22082099003|18002099003|11063799006|3023799007|6133799003|10067099003|56012099006; X-Microsoft-Antispam-Message-Info: 3Bsfea/PjaS4pHmvRCUZLuBmsizecx3F55Zb2wuCNzsFctl8U03yQa8lNbM2jNNIqmcVT9cQdBbfbTCllPAUUfzV6F8Iw8Z3D/QpQ8EOvWArLDylc+CFPccBRCOYd8iqbo3sAU56sGTejv+X+QDBq6G427qhSPTXlfaimYjEW1dbyJocznceL9FEvFMidsrbGfu7uHUnUjBSrF00d7hIEvqzzwx3hUVM/+OLiaq6VWLMgCD1Wvy5yyHfimy2HAy+TbWXid+yJFS1Rk/2G/HnLgzNpzcOgslgAB82pKHTu3dTj+SdUhckENDx4Klh8T9Ukc7vz3dLZfN0QKrtUcVf1kl1mgAfPZhhRWBehX+vtxDojYk0kcHEEQfcRy61BFmfCQHxLhZv3IyuSD06ewnRrfqfRin8R0gFuYzyrOPv65m3RW/c43x/SlFvA//NsKRycissk0ZZ820boH9Npwq+UrICytGkF8dU61UwbvdaZJjGkAyjDjY1jOnr/GE1eOPRUl3qn5eaeqSDK8Z1kQgdcHhlQONgmpvdOM+dzBgerkavlo/X8tJP+5kQV6cZDwBXEDdoYUfbspQua3PIy97UFJC31iaupq5+bd3OI0q2JTj+AqRdJFe7qZLRnWfpoUHCxbg2EkqiRu1nSXYuvCXe0eUJlroiz6acC7QQDIaeNso= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR12MB5387.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(23010399003)(22082099003)(18002099003)(11063799006)(3023799007)(6133799003)(10067099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Q3oJTs5Dvxtc4AiJaybaxGqL29C9Qxz4ZKeo+hm8Dqq1CKpA4rPfrsVb4+qe?= =?us-ascii?Q?RyxyZMhKCAj54FhvorvHhEeWRsgsOMf6d/W0lYjFEM6AjCBicDQG8jFpuL+/?= =?us-ascii?Q?W2aL1kD2P5Uj9ieSfytJg14qkJz690l3Hm15SaxrCkWxgVlT9ZRzot/4SGtz?= =?us-ascii?Q?dsz3TWnyMcud6tLtbuKgN+MbfjvO8oHyKhV0a1mD1kNTY8LaCwBuyiEvrAbo?= =?us-ascii?Q?0X6WYWiddPqDmuirrKIoRbmb3Z0QWulWcfYnlx25jwRwdVQkPs/iC87NZ7Vd?= =?us-ascii?Q?8FY9oL8CcwXb9j4uz7KX9mG89ScNEwCFobqlvlr2Tz8CJ/t8Tmmw6i4mOVBL?= =?us-ascii?Q?IvuQYCnpZrmQWnTOjel4x2SpTyXdm9iOmdHM0bDS9WXLCZOToXEd1YQs8REE?= =?us-ascii?Q?WkUPGEHyGRB8TMlQ/kFiRN3S9B6ffAkxhZdBBmEdhhxK1FV/5sk+kia8rgCy?= =?us-ascii?Q?MX+wMwXe2U1hXSMPTipPpcF+rFxpkkWwJhVC2alTRIwK7IjNE0aFaeN5dL0Z?= =?us-ascii?Q?snjPc0e/Yp0sWwBgCgrmYREdtYBlHRU88i0kY3Ha+EVI/LTBhj1/C/8ae+b+?= =?us-ascii?Q?xmF0qVrEYlZiOj/ZuNA5uv+SkkjeHXjic3tXKj+F6omqT5D65H3jbKePIeGZ?= =?us-ascii?Q?Hg87xfXJqOrZbInmkoT/ILW7uXdLoQn5cPd8jYeN++SuSonG0z4Ge2q5qjIP?= =?us-ascii?Q?5W179m0JABO1cBu1SV42So+vLeYhlXi9g0Bvf4/Iby1yBqaO1PWG3LvMDGmq?= =?us-ascii?Q?Z0Mrilkj2dLb5EqsPn/eOswQxiYWyTryPxre3a+2H1zpg6htgKfHphDr01ez?= =?us-ascii?Q?yL5gRQ3Euo4gnUsn90TOufah9BvPRagNNlJOrZ3ATZj7/wHg7taMY/ldLaXA?= =?us-ascii?Q?UTLto8wdp+/lwP+466F1jxeSdCaaJUmOES/IFNpmXw+rrnjEsB4pXCduw/49?= =?us-ascii?Q?6ZD/C2T2tNaTL3jce8y7Z91WcZggzCFyLFXXYZkF6tuFbQ0FWcA2gWQQ5tcE?= =?us-ascii?Q?hoI09mEPBZRc/DfHs/cG4H5xPgKONsZrohM2h7WghKkie7MLvAC70KnNtl2g?= =?us-ascii?Q?QNBGqw52buLgvXXzGdV/1lh4KiYWnpNvJrx57NqGijS7iIhYUJJpdxYXweOP?= =?us-ascii?Q?h8UkYNz+YNG5iGpsvWDR6ewsNLWpjNg0MeWgg9KWMTMuC3AEs0yKLwCowJEx?= =?us-ascii?Q?bob/x0AhY+9sokWUQlVJvsiUWqGL9Jklnmgv2Tyv9oNapo/t6OVuLQZEHx+Y?= =?us-ascii?Q?Q+fE18k1BX32ZeNwM20nTJX0zTCjyOpBoqOL3m+6BQlvANcDqWQFrp5U2QCz?= =?us-ascii?Q?4t0nzPM3F6BJjkiV/oMJ7gvhg1xhA5QezetFjU1z4NqFc6DtuBsi/Q9CYJH2?= =?us-ascii?Q?GAzz0JLGwDi4hIGo9WojMteaoPeZMBpvisB2raqWEU/gaRujA0QL3JJQbSr4?= =?us-ascii?Q?Jmxwic9sVa19ByUcms7eNEuwrax/N+zGkcvQ5YwD9ksg3aBozp3yzkZMCYRn?= =?us-ascii?Q?9h39ACtOwiGL1YuuZFuM26b9kF4GFYUs0xhh3F1j6KPd5VBYIlNO8EkfJVZI?= =?us-ascii?Q?aoO9oykrFzHqZB23Fbm7jYp8by3c3TmPIvKanZsCMckax78hf3y61cHiAnpx?= =?us-ascii?Q?KG1tkF8EhfO56u+sfdBPNqw+pGZCtRrdBICyJNWvQw3Au2bzkcKVVmQWflJ2?= =?us-ascii?Q?G3hG85M+9MqcL1kCPdXfWJL1TYZIHC9BzC7F2uHxvcrDaxYKZ/cLGUfipCyf?= =?us-ascii?Q?4uPJyVHn4w=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 06188c17-95e7-4856-8d68-08def33ec0db X-MS-Exchange-CrossTenant-AuthSource: CH0PR12MB5387.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 22:13:18.3239 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: u7c9Kw4ldbf3JYohvC/4gmt4YvYq0vhbFpx09b6/glP4NS94qSFUXWEi4VEgPOjZcE5t6Otvc5YW2kb6cyHgkg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7514 Message-ID-Hash: WJQW7YH4FDSNBNAFY23XMBAJ5BNPMATC X-Message-ID-Hash: WJQW7YH4FDSNBNAFY23XMBAJ5BNPMATC X-MailFrom: nathanc@nvidia.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Matt Ochs , Nicolin Chen , Shameer Kolothum , Nathan Chen X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Nathan Chen via Devel Reply-To: Nathan Chen X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1785968476749158500 Content-Type: text/plain; charset="utf-8" From: Nathan Chen The arm-smmuv3 accel device property, used for HW-accelerated nested SMMUv3, was added in QEMU 11.0.0 on top of the pluggable device introduced in 10.2. Probe it alongside smmu_per_bus via device-list-properties. Signed-off-by: Nathan Chen Reviewed-by: Pavel Hrdina --- src/qemu/qemu_capabilities.c | 2 ++ src/qemu/qemu_capabilities.h | 1 + tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml | 1 + 4 files changed, 5 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index c3ddba2f63..15577ea4a3 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -770,6 +770,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "object-monitor-qmp", /* QEMU_CAPS_OBJECT_MONITOR_QMP */ "arm-smmuv3", /* QEMU_CAPS_DEVICE_SMMUV3 */ "arm-smmuv3.smmu_per_bus", /* QEMU_CAPS_ARM_SMMUV3_SMMU_PER_= BUS */ + "arm-smmuv3.accel", /* QEMU_CAPS_ARM_SMMUV3_ACCEL */ ); =20 =20 @@ -1649,6 +1650,7 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCaps= DevicePropsAMDIOMMU[] =3D { =20 static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsArmSmmuv3[= ] =3D { { "smmu_per_bus", QEMU_CAPS_ARM_SMMUV3_SMMU_PER_BUS, NULL }, + { "accel", QEMU_CAPS_ARM_SMMUV3_ACCEL, NULL }, }; =20 /* see documentation for virQEMUQAPISchemaPathGet for the query format */ diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 10f7ff67a0..66ff7d9a7a 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -744,6 +744,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ QEMU_CAPS_OBJECT_MONITOR_QMP, /* 'monitor-qmp' -object */ QEMU_CAPS_DEVICE_SMMUV3, /* -device arm-smmuv3 */ QEMU_CAPS_ARM_SMMUV3_SMMU_PER_BUS, /* arm-smmuv3.smmu_per_bus */ + QEMU_CAPS_ARM_SMMUV3_ACCEL, /* arm-smmuv3.accel */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml b/tests/qem= ucapabilitiesdata/caps_11.0.0_aarch64.xml index 17775b2ff4..d77884f401 100644 --- a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml @@ -189,6 +189,7 @@ + 11000000 61700286 v11.0.0 diff --git a/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml b/tests/qem= ucapabilitiesdata/caps_11.1.0_aarch64.xml index 8df736f58a..e53ad1d461 100644 --- a/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml @@ -190,6 +190,7 @@ + 11000090 61700287 v11.1.0-rc0 --=20 2.43.0 From nobody Mon Aug 24 09:07:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (Bad Signature); dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 1785968599600549.0921587688209; Wed, 5 Aug 2026 15:23:19 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 4168F3F89F; Wed, 5 Aug 2026 18:23:18 -0400 (EDT) Received: from [172.19.199.10] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id 4111D41D20; Wed, 5 Aug 2026 18:14:22 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 65B4941902; Wed, 5 Aug 2026 18:13:46 -0400 (EDT) Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010000.outbound.protection.outlook.com [40.93.198.0]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id DA3BE418DF for ; Wed, 5 Aug 2026 18:13:24 -0400 (EDT) Received: from CH0PR12MB5387.namprd12.prod.outlook.com (2603:10b6:610:d6::17) by CY8PR12MB7514.namprd12.prod.outlook.com (2603:10b6:930:92::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.16; Wed, 5 Aug 2026 22:13:20 +0000 Received: from CH0PR12MB5387.namprd12.prod.outlook.com ([fe80::caa2:e846:62b3:33d9]) by CH0PR12MB5387.namprd12.prod.outlook.com ([fe80::caa2:e846:62b3:33d9%6]) with mapi id 15.21.0292.018; Wed, 5 Aug 2026 22:13:20 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FORGED_SPF_HELO,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=no autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MLRirI4IS5jUTV0izuaB+D45EEux0IQfPpXCluA527O7AGzYPYQHLRtrxtgaBkGSW8x2MaL8KXTJR0sBcM66uPAF74ULBjnS2qee8JF6+v3567t6CPd9TNejInHPlO+G5dO3vVDOh2iq19RVUocbthP0OiDXUwnh2X5BRIlbsDF1ZeVv4KjLDLgAI0Q07LyBBYX+ykNqfviyGTHqmvBBE6uWoZ2VkEgd2SvqsO1VrDEdNlHkkn7uuZus1IBO/InTGtGbo0p3nyke50CvCKVn38JrKmslrqAQVpm4svUsCHMwJjmFBAcxfayPED+ZUTuLaT0+8j7law/9FELPx/fIzw== 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=/nefeOahg65Nk0tqRe6mYFw6oGnv87mhSSkRufceCFA=; b=F0DBgXN8plkAxkX3kzcKbeuDKZ+ZLgtYDOYYMj4waUou2zNDfPtK1NiJe5xcFDe9dXU6cv2IL0cn8JBcXXiGwnDliliKbxpg2zdlVY5EZgW3EKQSDqAzQCb5+qxnyUu42yWDEIrZmeg9EKTR9j8G17k4GZBCQ91Og82imdt5p6qOyey/XoXkutcdF7HjuNSmddDLocxi3PYV7uOt/+2R/s/4HdtqJZJ5w4WddVjS4tiQPSg4B/d5CSIgk2vwfpze5/CUpdnM1ZWyQ/9qcxRLOFbNA4hQ1Y17rLQG72Ym0+KILo1+naIyR5Qz9a9wLHGqZ8jgefJCKI6DkesdbB1AMQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none 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=/nefeOahg65Nk0tqRe6mYFw6oGnv87mhSSkRufceCFA=; b=sPECKpu8WpuorRujnTs76qHqPdZ4JpYPOkq3H493In6/p+fn374QWS17srpsjgkAlbzYsafzQ/oqPBO69iC90SqSFIz1bdRlmbZENEVzx/fFvKaflfp7lCEVPvxSPaKkvHgjmNgp/d7aJFK+0UEnkQzZ3KUScMYGnd5acsqw46Xeq5UFHSVp5dTKKvIk/sit4OHtSMCx36vasOQJ0/DirguF/3EJeMSktaNa55+gYtiP6Ao81kX077c8UvmTyj2wNgFbBsfUWYPXOULYXAK82y10kosR7i881t4uz6sQuKJzggsTfYThLadnX1+YAdoPtTwP/UjWtMkPvDhQOvRfXw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; To: devel@lists.libvirt.org Subject: [PATCH v11 6/7] qemu: Add support for HW-accelerated nested SMMUv3 Date: Wed, 5 Aug 2026 15:13:00 -0700 Message-ID: <20260805221301.3987446-7-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260805221301.3987446-1-nathanc@nvidia.com> References: <20260805221301.3987446-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR03CA0187.namprd03.prod.outlook.com (2603:10b6:a03:2ef::12) To CH0PR12MB5387.namprd12.prod.outlook.com (2603:10b6:610:d6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR12MB5387:EE_|CY8PR12MB7514:EE_ X-MS-Office365-Filtering-Correlation-Id: 5056da2c-9ac6-4f67-53ca-08def33ec214 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|23010399003|22082099003|18002099003|11063799006|3023799007|6133799003|10067099003|56012099006; X-Microsoft-Antispam-Message-Info: qLLC+FHHWN5pCPShLvG1dqa+yhW1vgJ+9AphX72jvNlDe5zX47C3DsiM/q3yllgP0aDMnJbGWl1hMEmINthhzWAcQI5CEGqtDCTtoquD79EGdk/ONzaUv2Q69V4OjjZCqSAA/ESGGizAhoYg0OHxqVApWumZRCPW5c2ONAIkbGxOZ5/Z0fpdVmfuIn3tkOYlAsUaZV+HPatgKGzzTkQXq4FubmzmBXYSILc23XdcADcyQpqr09U742nmqQRO680pb8Y/mffRlfqq4/b8Xb1Twj3hDj92Efv+lOXCVuRSsi3gPPMS7ePR+6/BCrziaAJw45yzbpqA+p6sj4Z/56d+Pt1Fh+WS2hvoue2xtJtUpELnGMXeTmhFCxq8uMP8sBfc11qT0o0kaLZJ9nE0zlz01XvMac5AQYPxme2CGqLeHYEVyKE9S2n/SRPqSf2FpK4DkI5cU8BasP4Y659mrrQxKdWRatD2eiYaY2KD+lrt6ShqvxnQJBNerf4bIxuP1yGy6LCCKimcXXb0AgcKeY86xIS+Dh2zwuGzVSjpWvRwUwK+JKM489P4L6Kecsu25hUEjqwiDSfNTXANK/EZFM8pKGGM2bER/3EELPzcBnc8iqGzaOYaG0QGYAH+tauDHxp9XYsJLJ8Jxuvlvwrl6t0VcviKBujb4llipILculuV/RQ= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR12MB5387.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(23010399003)(22082099003)(18002099003)(11063799006)(3023799007)(6133799003)(10067099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?vXfZpbfTogRWLd9k6HJ6pwrgfnXo59rfV81Llx+QRWVwX+GFpE+A37golJRX?= =?us-ascii?Q?K5CXEOfWs9xjCem3JJlEQt4XZFQ0vVs3+w0v4+rDCdkg2kyVQu9IoXqsjULl?= =?us-ascii?Q?m42abA7arQhfbAH6tPDWIivos/TT5Tb+Sk9C4KtJ85Vnu6k5aoaj/nAddLDq?= =?us-ascii?Q?Xy+MA20cfcF7RknNQj37qDLS1yLjm76Ndn6O2zPBtqsw8dbfuhPSNVd6xWl5?= =?us-ascii?Q?wDmy7scmoRcUy5qVO91iLZct/WtL8t89fjl/GeJywB1R45c6V/znriQJEdtA?= =?us-ascii?Q?V//2uDqtF5YesefBvakSZCl421oLZP5OQ+TkMIBJrbjJv7yLAEmPXysa3SIQ?= =?us-ascii?Q?vF7DCquJu9zzMDc8Xqc9jrlDUoibzwGwwr16uSibF7qlknM93F++gEWq3rfn?= =?us-ascii?Q?wz/p9PJZMj3EO7r5+ZlMAfQPOlxQzrJi5W0kZsohGLOgldH4+BsGUaEw+XD8?= =?us-ascii?Q?6VBiAXXKuJDO58dvMr5yWDzGDBLy5N6dFQ5QvoMRDX3S90T6yZooCxrhqJWR?= =?us-ascii?Q?jSOp4Y1rJ1nU8utb3bvDeT5wbIzd3af4T8C/2E3SCMlkUnBUQ2sNBjYHXsyz?= =?us-ascii?Q?n0S0g670rW0/Lq6zhV+rcqv6iIUDtZK6D4nB95gkQiFMxHE4NTixUMXAvc+8?= =?us-ascii?Q?mUsDGdsHQvJAK/qKi1iD3wqfXc02pOKD4tmggfLcVMu4NeKMYK22I3kltmO4?= =?us-ascii?Q?PHGnFUZToIY0FHQ4gzWvIwMW5r2kMPUtCm3sAn8bY0OjYBWgxgz/OxZBSC2v?= =?us-ascii?Q?N9vl0Ko35HGDMilyLsg4axmfioyz/FHZ9tsm80fiHxXx9A7py4ENniviJuWn?= =?us-ascii?Q?BrAbMxvOfBr3+TbKeKn9QipATY11R7NtfUJMtgDjbGGyTp6UeQIQtp7kD5B0?= =?us-ascii?Q?+h7sVZBmetqRmhEohVTgW6FknIRCkHuuhUIMFIfY2/NmBylSyU3ecBrjfxMn?= =?us-ascii?Q?6shcMFHZVJv5apWDTR909Zg5iMFWEtALq0H/Bgwmgp1kR6zmelKUg90ok5ej?= =?us-ascii?Q?8bvrNOb2bjIrZ21bik1Y+IAHfZ6GhqgsjsgpmFOXMevSVZu5R2/Fwtly+BcT?= =?us-ascii?Q?s0RpNClQj1mGPrsgpgslxooHZm623Yyvh+Nng+IVRQJIbCCitFe4BuwzCTwr?= =?us-ascii?Q?xQna7XfA+rWaLR5dkvCqRlN4DUGAH3TkxYO+AksAJAFsPRIo250VAvpFSnue?= =?us-ascii?Q?7aoAp0UqY3sV86pVLuU4jLbJnqVHv8K13hHpt6fcboAVQlU7V7XMetRFGLSq?= =?us-ascii?Q?Cow2f3vCjy5zM6RtRwCwf813r0iux4wKGt8ObvsEHE5iRHcw+q0oDacNdBEG?= =?us-ascii?Q?UZvm57Yp1+xOJIBjkwy92COIjAsl8T+pFTey3/idJzLlvauDxAzb0Izh/82U?= =?us-ascii?Q?IFlVuBLGButB9XJRNuTn5yn4rgK7+kD2YhYmEBEIC6RDBsv4hr6vGmpxVZ5s?= =?us-ascii?Q?AHIkFovW7NVH8XAy9HcSOVtVwAVjKXqrRyVOdcKh11WimsPdQC+D8eFSkKbL?= =?us-ascii?Q?jl/pbAHmg92sbkn8GazLQCHep1t2tiqUJVaj/o4tUHMFke7G/s1f1Oe+To+l?= =?us-ascii?Q?SfrnVc2qTjnLAjhSHrdH8Zjah5YwvXNj04SfH8lqxJsLBl23AtDLMNdRYToG?= =?us-ascii?Q?bncv/GAKbMNXuHms/rxnDl4D9EoJS3zwhYOtIHM8M36TZL6MEORlIULRsi5k?= =?us-ascii?Q?Zf+rE5URUYCNM1wfmbJn1iamTYRV41cm+QtKXCC66E/NH2wTYkNsANDco4I5?= =?us-ascii?Q?tG3OyEB2nQ=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5056da2c-9ac6-4f67-53ca-08def33ec214 X-MS-Exchange-CrossTenant-AuthSource: CH0PR12MB5387.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 22:13:20.4386 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4/FaISAEjHCpbJS/qeB2kbmY50Zal7f8sf0/pc0RntUhSxdxYiZGD+5JTfVweA0euRyqlNRmZukpt/BOZ+NaQw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7514 Message-ID-Hash: 5FBODDH5BJDTOIYRL3QAMQ53QVPMPRPZ X-Message-ID-Hash: 5FBODDH5BJDTOIYRL3QAMQ53QVPMPRPZ X-MailFrom: nathanc@nvidia.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Matt Ochs , Nicolin Chen , Shameer Kolothum , Nathan Chen , Pavel Hrdina X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Nathan Chen via Devel Reply-To: Nathan Chen X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1785968601497158500 Content-Type: text/plain; charset="utf-8" From: Nathan Chen Add support for enabling HW-accelerated nested SMMUv3 via attribute and its additional attributes for ATS, SSID, RIL, and OAS configuration. Validate the domain iommu accel attribute in qemu_validate.c when QEMU lacks this capability. Checking accel is sufficient because ats, ril, ssidsize, and oas were introduced in the same QEMU release, and it only makes sense to backport accel, ats, ril, ssidsize, and oas all together. Reviewed-by: Pavel Hrdina Signed-off-by: Nathan Chen --- docs/formatdomain.rst | 38 +++++++++++++++ src/conf/domain_conf.c | 79 +++++++++++++++++++++++++++++++ src/conf/domain_conf.h | 5 ++ src/conf/domain_validate.c | 27 ++++++++++- src/conf/schemas/domaincommon.rng | 25 ++++++++++ src/qemu/qemu_command.c | 15 ++++++ src/qemu/qemu_validate.c | 12 +++++ 7 files changed, 200 insertions(+), 1 deletion(-) diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst index 50618bf05b..0b346a0952 100644 --- a/docs/formatdomain.rst +++ b/docs/formatdomain.rst @@ -9430,6 +9430,44 @@ Examples: IOMMU device is attached to. :since:`Since 11.10.0` (QEMU/KVM and ``smmuv3`` model only) =20 + ``accel`` + The ``accel`` attribute with possible values ``on`` and ``off`` can + be used to enable hardware acceleration support for smmuv3 IOMMU + devices. + :since:`Since 12.7.0` (QEMU/KVM and ``smmuv3`` model only) + + ``ats`` + The ``ats`` attribute with possible values ``on`` and ``off`` can be + used to enable reporting Address Translation Services capability to + the guest for smmuv3 IOMMU devices with ``accel`` set to ``on``, if + the host SMMUv3 supports ATS and the associated passthrough device + supports ATS. If ``accel`` is enabled and ``ats`` is not configured, + the hypervisor default value is used. + :since:`Since 12.7.0` (QEMU/KVM and ``smmuv3`` model only) + + ``ril`` + The ``ril`` attribute with possible values ``on`` and ``off`` can be + used to report whether Range Invalidation for IOMMU devices with + ``accel`` set to ``on`` is compatible with host SMMUv3 support. If + ``accel`` is enabled and ``ril`` is not configured, the hypervisor + default value is used. + :since:`Since 12.7.0` (QEMU/KVM and ``smmuv3`` model only) + + ``ssidsize`` + The ``ssidsize`` attribute sets the number of bits used to + represent SubstreamIDs. A value of N allows SSIDs in the range + [0 .. 2^N - 1]. The valid range is 0-20, and a value greater than 0 + is required for enabling PASID support, as doing so advertises PASID + capability to the vIOMMU. If ``accel`` is enabled and ``ssidsize`` is + not configured, the hypervisor default value is used. + :since:`Since 12.7.0` (QEMU/KVM and ``smmuv3`` model only) + + ``oas`` + The ``oas`` attribute sets the output address size in units of bits. + If ``accel`` is enabled and ``oas`` is not configured, the hypervisor + default value is used. + :since:`Since 12.7.0` (QEMU/KVM and ``smmuv3`` model only) + In case of ``virtio`` IOMMU device, the ``driver`` element can optionally contain ``granule`` subelement that allows to choose which granule will be used by default. It is useful when running guests with different page size diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 0b48fe3010..9880339e42 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -2864,6 +2864,10 @@ virDomainIOMMUDefNew(void) =20 iommu->pci_bus =3D -1; =20 + iommu->ssid_size =3D -1; + + iommu->oas =3D -1; + return g_steal_pointer(&iommu); } =20 @@ -14750,6 +14754,26 @@ virDomainIOMMUDefParseXML(virDomainXMLOption *xmlo= pt, &iommu->pci_bus, -1) < 0) return NULL; =20 + if (virXMLPropTristateSwitch(driver, "accel", VIR_XML_PROP_NONE, + &iommu->accel) < 0) + return NULL; + + if (virXMLPropTristateSwitch(driver, "ats", VIR_XML_PROP_NONE, + &iommu->ats) < 0) + return NULL; + + if (virXMLPropTristateSwitch(driver, "ril", VIR_XML_PROP_NONE, + &iommu->ril) < 0) + return NULL; + + if (virXMLPropInt(driver, "ssidsize", 10, VIR_XML_PROP_NONE, + &iommu->ssid_size, -1) < 0) + return NULL; + + if (virXMLPropInt(driver, "oas", 10, VIR_XML_PROP_NONE, + &iommu->oas, -1) < 0) + return NULL; + if ((granule =3D virXPathNode("./driver/granule", ctxt))) { g_autofree char *mode =3D virXMLPropString(granule, "mode"); unsigned long long size; @@ -16854,6 +16878,11 @@ virDomainIOMMUDefEquals(const virDomainIOMMUDef *a, a->aw_bits !=3D b->aw_bits || a->dma_translation !=3D b->dma_translation || a->pci_bus !=3D b->pci_bus || + a->accel !=3D b->accel || + a->ats !=3D b->ats || + a->ril !=3D b->ril || + a->ssid_size !=3D b->ssid_size || + a->oas !=3D b->oas || a->xtsup !=3D b->xtsup || a->pt !=3D b->pt || a->granule !=3D b->granule) @@ -22738,6 +22767,36 @@ virDomainIOMMUDefCheckABIStability(virDomainIOMMUD= ef *src, dst->pci_bus, src->pci_bus); return false; } + if (src->accel !=3D dst->accel) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Target domain IOMMU device accel value '%1$d' do= es not match source '%2$d'"), + dst->accel, src->accel); + return false; + } + if (src->ats !=3D dst->ats) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Target domain IOMMU device ATS value '%1$d' does= not match source '%2$d'"), + dst->ats, src->ats); + return false; + } + if (src->ril !=3D dst->ril) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Target domain IOMMU device ril value '%1$d' does= not match source '%2$d'"), + dst->ril, src->ril); + return false; + } + if (src->ssid_size !=3D dst->ssid_size) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Target domain IOMMU device ssid_size value '%1$d= ' does not match source '%2$d'"), + dst->ssid_size, src->ssid_size); + return false; + } + if (src->oas !=3D dst->oas) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Target domain IOMMU device oas value '%1$d' does= not match source '%2$d'"), + dst->oas, src->oas); + return false; + } if (src->dma_translation !=3D dst->dma_translation) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Target domain IOMMU device dma translation '%1$s= ' does not match source '%2$s'"), @@ -29208,6 +29267,26 @@ virDomainIOMMUDefFormat(virBuffer *buf, virBufferAsprintf(&driverAttrBuf, " pciBus=3D'%d'", iommu->pci_bus); } + if (iommu->accel !=3D VIR_TRISTATE_SWITCH_ABSENT) { + virBufferAsprintf(&driverAttrBuf, " accel=3D'%s'", + virTristateSwitchTypeToString(iommu->accel)); + } + if (iommu->ats !=3D VIR_TRISTATE_SWITCH_ABSENT) { + virBufferAsprintf(&driverAttrBuf, " ats=3D'%s'", + virTristateSwitchTypeToString(iommu->ats)); + } + if (iommu->ril !=3D VIR_TRISTATE_SWITCH_ABSENT) { + virBufferAsprintf(&driverAttrBuf, " ril=3D'%s'", + virTristateSwitchTypeToString(iommu->ril)); + } + if (iommu->ssid_size >=3D 0) { + virBufferAsprintf(&driverAttrBuf, " ssidsize=3D'%d'", + iommu->ssid_size); + } + if (iommu->oas >=3D 0) { + virBufferAsprintf(&driverAttrBuf, " oas=3D'%d'", + iommu->oas); + } if (iommu->granule !=3D 0) { if (iommu->granule =3D=3D -1) { virBufferAddLit(&driverChildBuf, "\n"); diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 91f57de0f1..2c017738e3 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3105,6 +3105,11 @@ struct _virDomainIOMMUDef { virTristateSwitch xtsup; virTristateSwitch pt; int granule; /* -1 means 'host', 0 unset, page size in KiB otherwise */ + virTristateSwitch accel; + virTristateSwitch ats; + virTristateSwitch ril; + int ssid_size; + int oas; }; =20 typedef enum { diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c index 3946f92182..710a891904 100644 --- a/src/conf/domain_validate.c +++ b/src/conf/domain_validate.c @@ -3203,6 +3203,16 @@ virDomainIOMMUDefValidate(const virDomainIOMMUDef *i= ommu) virDomainIOMMUModelTypeToString(iommu->model)); return -1; } + if (iommu->accel !=3D VIR_TRISTATE_SWITCH_ON && + (iommu->ats !=3D VIR_TRISTATE_SWITCH_ABSENT || + iommu->ril !=3D VIR_TRISTATE_SWITCH_ABSENT || + iommu->ssid_size >=3D 0 || + iommu->oas >=3D 0)) { + virReportError(VIR_ERR_XML_ERROR, + _("accel must be enabled for iommu model '%1$s'= when setting ats, ril, ssidsize, or oas"), + virDomainIOMMUModelTypeToString(iommu->model)); + return -1; + } break; case VIR_DOMAIN_IOMMU_MODEL_VIRTIO: if (iommu->intremap !=3D VIR_TRISTATE_SWITCH_ABSENT || @@ -3210,7 +3220,12 @@ virDomainIOMMUDefValidate(const virDomainIOMMUDef *i= ommu) iommu->eim !=3D VIR_TRISTATE_SWITCH_ABSENT || iommu->iotlb !=3D VIR_TRISTATE_SWITCH_ABSENT || iommu->dma_translation !=3D VIR_TRISTATE_SWITCH_ABSENT || - iommu->pci_bus >=3D 0) { + iommu->pci_bus >=3D 0 || + iommu->accel !=3D VIR_TRISTATE_SWITCH_ABSENT || + iommu->ats !=3D VIR_TRISTATE_SWITCH_ABSENT || + iommu->ril !=3D VIR_TRISTATE_SWITCH_ABSENT || + iommu->ssid_size >=3D 0 || + iommu->oas >=3D 0) { virReportError(VIR_ERR_XML_ERROR, _("iommu model '%1$s' doesn't support some addi= tional attributes"), virDomainIOMMUModelTypeToString(iommu->model)); @@ -3233,6 +3248,11 @@ virDomainIOMMUDefValidate(const virDomainIOMMUDef *i= ommu) iommu->aw_bits !=3D 0 || iommu->dma_translation !=3D VIR_TRISTATE_SWITCH_ABSENT || iommu->pci_bus >=3D 0 || + iommu->accel !=3D VIR_TRISTATE_SWITCH_ABSENT || + iommu->ats !=3D VIR_TRISTATE_SWITCH_ABSENT || + iommu->ril !=3D VIR_TRISTATE_SWITCH_ABSENT || + iommu->ssid_size >=3D 0 || + iommu->oas >=3D 0 || iommu->granule !=3D 0) { virReportError(VIR_ERR_XML_ERROR, _("iommu model '%1$s' doesn't support some addi= tional attributes"), @@ -3245,6 +3265,11 @@ virDomainIOMMUDefValidate(const virDomainIOMMUDef *i= ommu) if (iommu->pt !=3D VIR_TRISTATE_SWITCH_ABSENT || iommu->xtsup !=3D VIR_TRISTATE_SWITCH_ABSENT || iommu->pci_bus >=3D 0 || + iommu->accel !=3D VIR_TRISTATE_SWITCH_ABSENT || + iommu->ats !=3D VIR_TRISTATE_SWITCH_ABSENT || + iommu->ril !=3D VIR_TRISTATE_SWITCH_ABSENT || + iommu->ssid_size >=3D 0 || + iommu->oas >=3D 0 || iommu->granule !=3D 0) { virReportError(VIR_ERR_XML_ERROR, _("iommu model '%1$s' doesn't support some addi= tional attributes"), diff --git a/src/conf/schemas/domaincommon.rng b/src/conf/schemas/domaincom= mon.rng index 81ffbfc2fa..c8f1fe5547 100644 --- a/src/conf/schemas/domaincommon.rng +++ b/src/conf/schemas/domaincommon.rng @@ -6456,6 +6456,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index a76a034158..980f0495b1 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6282,6 +6282,8 @@ qemuBuildPCINestedSmmuv3DevProps(const virDomainDef *= def, { g_autoptr(virJSONValue) props =3D NULL; g_autofree char *bus =3D NULL; + g_autofree char *ssidsizeStr =3D NULL; + g_autofree char *oasStr =3D NULL; virPCIDeviceAddress addr =3D { .bus =3D iommu->pci_bus }; =20 bus =3D qemuBuildDeviceAddressPCIGetBus(def, &addr); @@ -6292,10 +6294,23 @@ qemuBuildPCINestedSmmuv3DevProps(const virDomainDef= *def, return NULL; } =20 + if (iommu->ssid_size >=3D 0) { + ssidsizeStr =3D g_strdup_printf("%u", iommu->ssid_size); + } + + if (iommu->oas >=3D 0) { + oasStr =3D g_strdup_printf("%u", iommu->oas); + } + if (virJSONValueObjectAdd(&props, "s:driver", "arm-smmuv3", "s:primary-bus", bus, "s:id", iommu->info.alias, + "T:accel", iommu->accel, + "S:ats", qemuOnOffAuto(iommu->ats), + "S:ril", qemuOnOffAuto(iommu->ril), + "S:ssidsize", ssidsizeStr, + "S:oas", oasStr, NULL) < 0) return NULL; =20 diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 3d2658c929..61f3bd3278 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -5817,6 +5817,18 @@ qemuValidateDomainDeviceDefIOMMU(const virDomainIOMM= UDef *iommu, return -1; } =20 + /* While QEMU_CAPS_ARM_SMMUV3_ACCEL tracks the .accel attribute of + * arm-smmuv3 it is also a good indicator of .ats, .ril, .ssidsize, and + * .oas attributes as all of them were introduced in the same release, + * and these features are meant to be backported all together. */ + if (iommu->model =3D=3D VIR_DOMAIN_IOMMU_MODEL_SMMUV3 && + iommu->accel !=3D VIR_TRISTATE_SWITCH_ABSENT && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_ARM_SMMUV3_ACCEL)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("iommu: accel is not supported with this QEMU bin= ary")); + return -1; + } + if (iommu->granule > 0) { /* QEMU supports only 4KiB, 8KiB, 16KiB and 64KiB granule size */ if (!(iommu->granule =3D=3D 4 || --=20 2.43.0 From nobody Mon Aug 24 09:07:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (Bad Signature); dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 1785969104737714.6439314789841; Wed, 5 Aug 2026 15:31:44 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 79BED3F2FC; Wed, 5 Aug 2026 18:31:43 -0400 (EDT) Received: from [172.19.199.10] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id ED73841DDE; Wed, 5 Aug 2026 18:14:44 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id D533641D3A; Wed, 5 Aug 2026 18:14:25 -0400 (EDT) Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazlp170100001.outbound.protection.outlook.com [IPv6:2a01:111:f403:c000::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 78FB341864 for ; Wed, 5 Aug 2026 18:13:31 -0400 (EDT) Received: from CH0PR12MB5387.namprd12.prod.outlook.com (2603:10b6:610:d6::17) by CY8PR12MB7514.namprd12.prod.outlook.com (2603:10b6:930:92::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.16; Wed, 5 Aug 2026 22:13:22 +0000 Received: from CH0PR12MB5387.namprd12.prod.outlook.com ([fe80::caa2:e846:62b3:33d9]) by CH0PR12MB5387.namprd12.prod.outlook.com ([fe80::caa2:e846:62b3:33d9%6]) with mapi id 15.21.0292.018; Wed, 5 Aug 2026 22:13:22 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FORGED_SPF_HELO,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=no autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dBSWaW29OyWrV19FscAX34S7JG3Xl8k318+AlALhweNe+IwupNusMK7LbZRM15Y/kl1VuQNUe7c0iaGOmYjieel+BVXVuoJJ7VBnUMSkqqc9aLXysIz7zZ+269M+54Aj6eM0l/IIM6kYh2jQ90Utsv+TiUnZ0PU/h6Lx7bg93Kq8Yndnm490+Afdxy5h6MSrsdlxEaKtXgQuGSXDkMWPiIMPj1FFiIrJ7OnUIMBZonrR7E96KGTAazVAUBPjP4wPdCQpXA3WZNQmCfnnA+AOoHNA+Do/GNY+OPoDZxFJPUkmgr1FbMoL2aGDNxfG6dy3uea6ijC37k5+GbMqnY5yhQ== 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=jjs5EUcoUSuaapTFINusAo8b/jFDM1CABslwF/Ha1xs=; b=Vt1AIIsVOA3XjG02G6S+t6jb4ofcOIwIInC1zdnacKJ8t13PdtRJE88xWIXkEa+7Z1WExHwpO28nCFYOKqaJkOQVPGkUvfIZfiyMNjWej7tqiZrsWgTmPeatfwS3RWog7eqpXJyJlqx9AXLJa+z0tqip2mR7RXidKoOvI5z3y5oXVPqjBFgqftqhbL78xFpEH9imYeHS+XG3hYEWtHaQBQT5zIyw08yqE+juwWHqCkoe/7wXoJmN6jeUaJpoLkglkC5CV83f93zJrZaN3MFlMSX2CbVpycou2aqJVqSoeaWFFfg2hJDNBLnsM0POpzUWUG6CqOcodwwjPFaQfg6XvQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none 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=jjs5EUcoUSuaapTFINusAo8b/jFDM1CABslwF/Ha1xs=; b=BBNtulJGsCmsL8AjHlLjxRtqVBekJ0JbRpkONUFu1pOF+UMEm5GRjq5n5ASKsyRuY9Wuqu0lqiWxvtL3WqxC6UA1e8fnwA51AzTrlBGt/dQ7t7P5Q9PAqFtambGYXHMuIrgYcgJ004L6ureDEXKmzPo80y5lliMy+jlmAvKo0Os0nvkTQo3gQuVTcw9PKwUgD0BwWg/SbeG9pMIbcHgtV0GhygCnwnS3kETjv+WRSJTsNtG0J7RIJU+cPzsSQK/mTr/LHoEj8kgf3FirEJZOk4IGIYSZJ1c/TbATceijqUR97D1T8yJRVYdRStYlTpHwRUBOgk4CTLrKNxInWLug6Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; To: devel@lists.libvirt.org Subject: [PATCH v11 7/7] tests: qemuxmlconfdata: provide HW-accel smmuv3 sample XML and CLI args Date: Wed, 5 Aug 2026 15:13:01 -0700 Message-ID: <20260805221301.3987446-8-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260805221301.3987446-1-nathanc@nvidia.com> References: <20260805221301.3987446-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR13CA0007.namprd13.prod.outlook.com (2603:10b6:a03:2c0::12) To CH0PR12MB5387.namprd12.prod.outlook.com (2603:10b6:610:d6::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR12MB5387:EE_|CY8PR12MB7514:EE_ X-MS-Office365-Filtering-Correlation-Id: cb52afb4-eb96-4b13-12b3-08def33ec360 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|23010399003|22082099003|18002099003|20052099010|11063799006|3023799007|6133799003|10067099003|56012099006; X-Microsoft-Antispam-Message-Info: CGpm+em1nemzHjC0uxOv8cDYAk0mqVfXQA4znEOeuhiYvPrxEzMjX1ZgZXLHUsw65J5kDevoFWfySmXPfaydov8wMdju6MOGlnIGC+nM7c8zCRg1bwJf7VUTyW8nkckUrqfvQlsWgYxHhdNy6IM0dcKMAwSF6wRVnezVljTAJ7AkE/VLund1PXcigzNXi5Xi4UQV3TTb0bXA++AX0vNR6/s5m8RIyKM/78Pxa0Eoci/I+Ej40DnAdDf0lU+Z83hmn14ZlmUOJIV0PgVRNW2uudvzsKauX+LA/0cAxNCwBdcinXjzqX/f12Gsr0ri5/DgqcdnxD5X4Kro19plu2eSlqWBZhYBeg1oxm1kZLIZlYvKAXqHFlDpNjA4da6ftwK+vPJmicbD1WmOBl6GRs3bNuzQ1w3HLpcfe6It0de45/6/CjsDbOHF/kcW6pDL1hR4FjKMjCEdUnu+GHbZlNdFPmOivkm7TEa2hCOJMVtrCR2waP+NgBubxIP/DJaNzFbKIU3ic1MvuiBn/6HM++0TnB0+otxUeyKAtx50gmLZ3m1fAWbyLc2JzUmhTgekVIgiCWHwcBYwPVrsOgV1WHNekTb/yhfpg4C+dia1CrFxbppBlxnxyjvlnjiggPuoo1iDntYKZy3Mpfg26XLyekPqZb9HtyiDulS1O7oaCO5CyBc= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR12MB5387.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(23010399003)(22082099003)(18002099003)(20052099010)(11063799006)(3023799007)(6133799003)(10067099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?u1D/JyQicB6PDfFCKom4qnrKD/8LSqWElZ0GwIvtejLU4x9w28OZoSlpoKV4?= =?us-ascii?Q?vZEfoUNYaZO8l18ypRPMQiZ8w8FnURvZf9UwvRQ0Q4/773MJaAVV8N+hkJEe?= =?us-ascii?Q?L5qvaS/YBnZb6HeTecC3k4mXo9uKCGAr/yCTld0RytgtdV50ORESwUOgxfO2?= =?us-ascii?Q?/yCGUZng6+cazYSLwsqFOUQrVyl53oxD4NVIo8o3lp05DutopvhRUZ8l9fr/?= =?us-ascii?Q?lvFKA8sb+mpXnT7AAK/ADNfa5qWnYj/afclCyXsFtTC3WFPgTTp36TUF3gl8?= =?us-ascii?Q?utBUibc78J/fK5YPVFn/lCcrELwqVYO7DYoF1mGJCsOnXQ998nxd1rWQ8sWf?= =?us-ascii?Q?Yh64FKY5GOTOxVJImNf8kUi9k629cXZ6GstmhDFtNeFf1VVkpWaeboXH0qGG?= =?us-ascii?Q?3f9v03sB8ynbsu/1SogTCuI8P8P8IK/5p9U8/Rj+YIQTBlDfjEyXRptqukHx?= =?us-ascii?Q?kXPMzgsiTf4Ls6o2kiKXwIFd+B8wXMxv5mWSQOTEf9+VKlDFQeX6guOQcxW6?= =?us-ascii?Q?XbOoMDyMwxNp+9J81DmMpNjJIUwEauFBwrwwDj1hqab6nP/U9idi5YGtnFBG?= =?us-ascii?Q?ai22hmP5KFcoQm6WEdQDFr4A/yQyh5GCZdhzG8OI65pMN8HLygbp9F4wTDvd?= =?us-ascii?Q?ynothKF8CQ7oTlhV00TTnWFmhxUHW1QVtMK04yGNnjKB3NTMiWTlTuPXXe4a?= =?us-ascii?Q?ntmVQ7Z2yN10N4Ux78FMqCWfOYNQdKkfHDTla/BgwmfWKqMj+VB+lPnKZY+A?= =?us-ascii?Q?xbL0/7AiIjF45GuIvuuMTvm/4jBblqb7CACYIf5wg1pJ1Qurs/9CJ2gAJewD?= =?us-ascii?Q?/2C/BNy8JnJxPtmMr7HzxepRG2EcF6aPq3dPxC0KYZMQmm97X+TRfjDuuGwz?= =?us-ascii?Q?hTlJIE6Ug/Td3npo3Hvl1Re9vV6QqLghNFncoJzUS2hq/vvWD9RL4iEIh81X?= =?us-ascii?Q?BtdUi9zj5rWRXlNlp8DSkFvr41mYM2asAhH5GYOy3v/IFGvP+1lMh3VFXZVv?= =?us-ascii?Q?97TUc/Fwwb19VQho13i/9YDb+Bg/3444ETAnT6UT9CmGa1eSIDj/n8plSvVC?= =?us-ascii?Q?5sFc9ypcsn3iRYCDOcjephDSx0/1JqLluEiuz9NTlt/tL3v8rE/hgWTUrUGW?= =?us-ascii?Q?H05Mm1y+uLsi15uecO25iQNVYXX8gHYvU0/YvHL3M4b0Vmr01NbOuPeimtrS?= =?us-ascii?Q?1J3f4ZBIvaqKKk3x3AYYdz2Ne5DTQRJkz/haIK8Hz//zOxAM+ljjKqFi+VE9?= =?us-ascii?Q?uJzkMXN22J6WWUXkUoii+RzAKkqHJ103fH9FopI2SrygacQEeHDp9UBX1Qdl?= =?us-ascii?Q?S1G7kyfJFTu3c/+IqfFJC/6O7nG68PRQ3ovPvizcXrBHImcg69CE6g0cauZh?= =?us-ascii?Q?yQNoO+Up0IRmTdlouBD/Qao8lhPwHf7yFRiPa8HliwJTVAQ2zeDyHpDutdQ/?= =?us-ascii?Q?2hGi4Bl6wkBD0Ar9wEYgwfEpGYOQmHkoD/qeY25L2DXb1KKk52vVNpp1I0ed?= =?us-ascii?Q?u8Pv1kuWn8jve9ORthBdpfwTGoqwow/C3TP/iGsgb9oZ1a9tERge4UK7GqU8?= =?us-ascii?Q?t7oVL5BT6VvDXW1N3jPhhO/z6cLX0ryMyNZ4dithR3kW/Pz6UJIQ1GlOCdOu?= =?us-ascii?Q?wlLC6Y/84pPi68OOFxVKSP86W1z+zyR8sP2NPrsTXok1n2NF6HXsm+l8SoNN?= =?us-ascii?Q?3Gz0V8tIDdZqqmbRCew9Neg4WidjtoKyFoE4vpDH0NZACXm7vmtf9T4IeDTL?= =?us-ascii?Q?B9rDAD4qcA=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: cb52afb4-eb96-4b13-12b3-08def33ec360 X-MS-Exchange-CrossTenant-AuthSource: CH0PR12MB5387.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 22:13:22.6161 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bjN4qSvPpwjsKAgfbxK6dj1FOwXmfbAM45JxGtvIAT1cbf1/Ytjohk+No1wf7zkbJRuYzdQM2IESmFkFKEwT6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7514 Message-ID-Hash: 7QXZMHHM2CK4YYFLVNDIITI53J5QDIKH X-Message-ID-Hash: 7QXZMHHM2CK4YYFLVNDIITI53J5QDIKH X-MailFrom: nathanc@nvidia.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Matt Ochs , Nicolin Chen , Shameer Kolothum , Nathan Chen X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Nathan Chen via Devel Reply-To: Nathan Chen X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1785969105722158500 Content-Type: text/plain; charset="utf-8" From: Nathan Chen Provide sample XML and CLI args for the HW-accel smmuv3 XML schema for virt machine types. Signed-off-by: Nathan Chen Reviewed-by: Pavel Hrdina --- ...uv3-pci-bus-accel-auto.aarch64-latest.args | 38 +++++++++++ ...muv3-pci-bus-accel-auto.aarch64-latest.xml | 63 +++++++++++++++++++ .../iommu-smmuv3-pci-bus-accel-auto.xml | 53 ++++++++++++++++ ...u-smmuv3-pci-bus-accel.aarch64-latest.args | 38 +++++++++++ ...mu-smmuv3-pci-bus-accel.aarch64-latest.xml | 63 +++++++++++++++++++ .../iommu-smmuv3-pci-bus-accel.xml | 53 ++++++++++++++++ tests/qemuxmlconftest.c | 2 + 7 files changed, 310 insertions(+) create mode 100644 tests/qemuxmlconfdata/iommu-smmuv3-pci-bus-accel-auto.a= arch64-latest.args create mode 100644 tests/qemuxmlconfdata/iommu-smmuv3-pci-bus-accel-auto.a= arch64-latest.xml create mode 100644 tests/qemuxmlconfdata/iommu-smmuv3-pci-bus-accel-auto.x= ml create mode 100644 tests/qemuxmlconfdata/iommu-smmuv3-pci-bus-accel.aarch6= 4-latest.args create mode 100644 tests/qemuxmlconfdata/iommu-smmuv3-pci-bus-accel.aarch6= 4-latest.xml create mode 100644 tests/qemuxmlconfdata/iommu-smmuv3-pci-bus-accel.xml diff --git a/tests/qemuxmlconfdata/iommu-smmuv3-pci-bus-accel-auto.aarch64-= latest.args b/tests/qemuxmlconfdata/iommu-smmuv3-pci-bus-accel-auto.aarch64= -latest.args new file mode 100644 index 0000000000..9b0bad564e --- /dev/null +++ b/tests/qemuxmlconfdata/iommu-smmuv3-pci-bus-accel-auto.aarch64-latest.= args @@ -0,0 +1,38 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/var/lib/libvirt/qemu/domain--1-guest \ +USER=3Dtest \ +LOGNAME=3Dtest \ +XDG_DATA_HOME=3D/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=3D/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=3D/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-aarch64 \ +-name guest=3Dguest,debug-threads=3Don \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/va= r/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-machine virt,usb=3Doff,gic-version=3D2,dump-guest-core=3Doff,memory-backe= nd=3Dmach-virt.ram,acpi=3Doff \ +-accel tcg \ +-m size=3D1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"mach-virt.ram","size":1073= 741824}' \ +-overcommit mem-lock=3Doff \ +-smp 1,sockets=3D1,cores=3D1,threads=3D1 \ +-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,fd=3D@mon-fd@,server=3Don,wait=3Doff \ +-object '{"qom-type":"monitor-qmp","id":"monitor","chardev":"charmonitor"}= ' \ +-rtc base=3Dutc \ +-no-shutdown \ +-boot strict=3Don \ +-device '{"driver":"pxb-pcie","bus_nr":252,"id":"pci.1","bus":"pcie.0","ad= dr":"0x1"}' \ +-device '{"driver":"pxb-pcie","bus_nr":248,"id":"pci.2","bus":"pcie.0","ad= dr":"0x2"}' \ +-device '{"driver":"pcie-root-port","port":0,"chassis":21,"id":"pci.3","bu= s":"pci.1","addr":"0x0"}' \ +-device '{"driver":"pcie-root-port","port":168,"chassis":22,"id":"pci.4","= bus":"pci.2","addr":"0x0"}' \ +-device '{"driver":"arm-smmuv3","primary-bus":"pci.1","id":"iommu0","accel= ":true}' \ +-device '{"driver":"arm-smmuv3","primary-bus":"pci.2","id":"iommu1","accel= ":true}' \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-device '{"driver":"vfio-pci","host":"0000:06:00.0","id":"hostdev0","bus":= "pci.3","addr":"0x0"}' \ +-device '{"driver":"vfio-pci","host":"0000:06:01.0","id":"hostdev1","bus":= "pci.4","addr":"0x0"}' \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxmlconfdata/iommu-smmuv3-pci-bus-accel-auto.aarch64-= latest.xml b/tests/qemuxmlconfdata/iommu-smmuv3-pci-bus-accel-auto.aarch64-= latest.xml new file mode 100644 index 0000000000..08fb17fb6f --- /dev/null +++ b/tests/qemuxmlconfdata/iommu-smmuv3-pci-bus-accel-auto.aarch64-latest.= xml @@ -0,0 +1,63 @@ + + guest + 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 + 1048576 + 1048576 + 1 + + hvm + + + + + + + destroy + restart + destroy + + /usr/bin/qemu-system-aarch64 + + + + + +
+ + + + +
+ + + + +
+ + + + +
+ +