From nobody Tue Sep 9 19:05:57 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; 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 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (BodyHash is different from the expected one); dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1749415758532102.16019797116587; Sun, 8 Jun 2025 13:49:18 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 5AA7F13A5; Sun, 8 Jun 2025 16:49:17 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id E649815B5; Sun, 8 Jun 2025 16:48:08 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 631AC1240; Sun, 8 Jun 2025 16:48:04 -0400 (EDT) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2052.outbound.protection.outlook.com [40.107.94.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 9FF9B13AF for ; Sun, 8 Jun 2025 16:48:03 -0400 (EDT) Received: from LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) by PH7PR12MB9255.namprd12.prod.outlook.com (2603:10b6:510:30c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Sun, 8 Jun 2025 20:47:58 +0000 Received: from LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::1b59:c8a2:4c00:8a2c]) by LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::1b59:c8a2:4c00:8a2c%5]) with mapi id 15.20.8792.039; Sun, 8 Jun 2025 20:47:58 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FORGED_SPF_HELO,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.4 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mujo6mRROByrOkrdekfB1eYnu2FrKu52COiFfH+MAEDSQgNgP9T7fg5lsXyQ4jZeffKpOBuHppDAMpL1CZz3bOwi26m2W/H8eKdm+x7DbwkoDdB11easF1JuHt0KDM4AIX9HB1Pr1d+PzuWJlZNh0T14gSkeHUMTVPVRx35ktk05rDMTov5OkSgedpmbDAfMVCE76sYL18EGHaNHSmdxDTxVKxi5qqm32FJc2iiYioe4mFsVg4uyebSLbcddVy5KXNod0d0Zh7SX6VtfHl1HJJj9mtFmq0dJRymMsrVnhZB+RjmwjMvnWXm2h1ylYV6T7oDKcfrJGmvMFQ9RXJL/tw== 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=7elqKcZphED4UiFe0Lb4toc/NoGbPNV36Qyh6TDEDWw=; b=hR2Ui0DrwE5Jz1vSqx1eQLnOGdI3lrpZgzzi9PSg/NCpQbs76m0NKpQryHZ51srHDcylRWzGBZn5MMSohOqe53e7lSGnR+mMNxUyEZvn/7BOSg3o3MVCK7S28T8REIN78efyVaA0g78bA6TLvLc4+8iQdAUmHfojscAb+BBSl8irFqM/ZH8Hp+PuAbA/Wm7e0l+y6ltBDJyPOCGfvyMv7CqyJnRIrSJ8k5Gq2J6zcF6+iWYKRuaTueSH8XTvh/gPVDlc1EEL85pdrxPrNwIYvuGTUxLfPpg8EkZmXF6sVgsHzNkJEkr4xkZNGmhaAvv48bF7sJ7U9ip7pq7FDp6QGQ== 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=7elqKcZphED4UiFe0Lb4toc/NoGbPNV36Qyh6TDEDWw=; b=JVS3VRUK+zrcTlTZoHKqmhpf43JmCc3TcuEzUFCvTKYhnHK7UiXwoVbxu2Z+1je90X7k3/aQwcf/PVJbmDqURHK3GLbn19oja5I4UgmrAA8nr79/SGkLq6p7vERkMh6xjOfMDNAcV6+tEEV8owbuQpBuvEbIBJbFa0+XVqa98Qky/JiMVvFcBiXHgk93j9zNKabEbDkGWKwFGMLLDMD+lZrkF2wx1sDDAgJ64eo1BdOhK0oO513Fc982cIJOCgySeZeb4L4e7MBDA0bErNKKTeMRtBWjOlv48LBv6pQLqTXFIbu+53IpfhOUlbhQQnFyLuAL/65qFesKMX9EVf1dAA== 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 1/8] schema: Introduce acpi-generic-initiator definition Date: Sun, 8 Jun 2025 22:44:09 +0200 Message-ID: <20250608204744.518118-2-arighi@nvidia.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250608204744.518118-1-arighi@nvidia.com> References: <20250608204744.518118-1-arighi@nvidia.com> X-ClientProxiedBy: MI1P293CA0018.ITAP293.PROD.OUTLOOK.COM (2603:10a6:290:3::12) To LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR12MB9620:EE_|PH7PR12MB9255:EE_ X-MS-Office365-Filtering-Correlation-Id: 7393d275-7899-416a-19e0-08dda6cdc05e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ufRMpjHwkRNs+D9zLOw7kyKGhsXNBkmuy4Ak9rpFt/QqvyHQrGd4MrarJEpG?= =?us-ascii?Q?41bqoUwy3mUxkk5ZfXMU01uiiuJuHx3wAgwtJaVjguO8e2LFkTE2NiK+4ZqR?= =?us-ascii?Q?GTxEqiGWulSsAj6tG22PYKY/O9EjXjncMAYdIH7iENmvn5XSD5ZTzfLlZ8Gt?= =?us-ascii?Q?nzYp9NrpykTYrEzJZACqEuJzsYCoooqu0ifiULSx1kR15/lv+RbFSO6F4Nwo?= =?us-ascii?Q?t+MI2GF4VKYiJ5VJ79UJvUNYI++9WVh3OZ1VFX1HhmJ+OOn/wfWhWfJv0vEc?= =?us-ascii?Q?fUBIUdOWXYuFpPdI9OIM6xOJVZJF/4D3xX/Tkovrq24A2d7kXti/4VCn7V65?= =?us-ascii?Q?nKW/hCktnDEOepGYPRlDOTpASukcWws0ZXo5xG4cTK5kyyr2mZqLhocTCz9G?= =?us-ascii?Q?BjLObOLsfZSlozGrP2Mllq4VrWZSUlJWOEXPk3IrSpPSQHrYqqo9G/jQmB4L?= =?us-ascii?Q?spw2pTG8gCva9EY00xOu00mHrRGLTDwLm9CyKdFGSmKdKE0/ZaM1FuMGXDo3?= =?us-ascii?Q?ByW8ZLpMrgQIJvVLLCnqvITO4Ge/D3zEd0wKJUV0qbGZQgZU88XBkmarEOZn?= =?us-ascii?Q?9h/0dHFhV0XVBgVHimbqKuC0qhlKYsmoXMRcBTKjqFXH6klwqee2JgmOT0La?= =?us-ascii?Q?0R79E7XSXYYzkkh/LEnVUY9t1YjUJeq7zdNWybyDmBXnKnwrMrLbzVubjj5U?= =?us-ascii?Q?TLCMRgrbc1f5Jcy+rMrxwtDIU0sXyrYz0/2wh5i9xk46+iPL7OsZvFDteZq0?= =?us-ascii?Q?xGnOuZnryGvkqvwP7vAWkYK0KIO7dQNmf0SyGtZp2U2BjgXQDeMmPJikm7p9?= =?us-ascii?Q?ptfvfgp8B9IXYqSPKGU4RPOQq6dSZEVgCfE390L896/WDu1jv8cEDjp0BwrP?= =?us-ascii?Q?XVk9pP3b5szRt1rWGfPHa3sov+rmhSOoPEuIDWor5oM9eRHoWsibanNxyKi3?= =?us-ascii?Q?cCFv19JFJU6afIhWL5G3W9AQwxs+Og6177BEN6UumZyUYz8XqxpzDIgn7Qhl?= =?us-ascii?Q?8j2iCC0kUKXG6l6ey0HOIuD4nX9nlbp4GL+N08eA2DkeW9S8FbIbIgaTD3sX?= =?us-ascii?Q?5JbNs87iai93FWt3vfHOMUbAV+5qCBhzulPt90nnC7STpy2lma2u3FxQye9M?= =?us-ascii?Q?wRfn2IYvukKQtX48cPx1U8Wx3UXYSWfjHdcRnlgK3W/hPRYOHLmtnSCmzgaE?= =?us-ascii?Q?QKwDseJDWsmXXdMJ8soMzPaDDeXHO1Ko9fR7kz4GflY+rgjOkT/UPW+KP+4d?= =?us-ascii?Q?vgdjhRjHH0UtiotKiBz3tVLqs38XTnwfuTKBaUV5peuZXMsdI1WDVuxBqbEZ?= =?us-ascii?Q?K+MsbmoTMnhtDiGM2Hh2OP446WFhZvm211wx9DIjjPYWkHnR/ACYq4ZbKKZf?= =?us-ascii?Q?ztqxTfqKzZBIM9UeG31sHNQhqaWoQ/XpELsURdhisQlJCXBcYA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR12MB9620.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uX8Akows5hjPDoPayHrJjdf7gy1ly9D9ParE1ZzQYHc7RO/GxWJg0V+80qtw?= =?us-ascii?Q?14Yhm0MptAxgVnvbOdCmn3AbRtUW+1QfT0k/OGCM8WyWRk59rk+SfSDDVPfA?= =?us-ascii?Q?51AXV9cZOY5Jb8gmSXgFAODsRXmcjg5dP6r88RhWuDrQluxcoF9vfdRsyCqT?= =?us-ascii?Q?a0xgjiB7PjjcStZs8jWr8j7cTG+4rilw/1L+/4/nmh9RRHtLSlf7WufjTO5q?= =?us-ascii?Q?5U/n1WgmenfbIgdpYi2WmpMAOTMyMTS8s8+xXfZ8oWo8bHrHsjEeoSyoK3go?= =?us-ascii?Q?EQTl9TPWfEPnUhQdE4ALSHivvUinHFTX1QltDj3df058JYGOkUbEf59Vpp2t?= =?us-ascii?Q?GzXYigC1ptvMRQdov2/kvFu9GN3IRlWcSoFKuT2TnweLwR9OeUCii5VKXXyQ?= =?us-ascii?Q?9Q24B/R+ttZDeu/8LieFGgnvXGhSkCbaBzZZ5XIv2QdL9MhtlpHRCnVhZzgR?= =?us-ascii?Q?/MVYs71BsvvL68PsQZL13eie8xXlCix9A3Y1WGAEFXRYQqlRzM4AO4m5qcrp?= =?us-ascii?Q?wNjndR9Vq7gfwR9DPWCUw3CQ1QoPAjU3GMGfhs6o+rkczMwhxFfYxU6DmqW2?= =?us-ascii?Q?N8xoT24JaghfBikm15O4rP/c4Rdfs5TZiL6kBoXDdZQQHFSBoUiR59o8sI+r?= =?us-ascii?Q?y0lt6C3WZ26qrIjTH8SwvNkYi5YJKTybWT9o0FJFzeEJifEvsCpmBn1LYMVs?= =?us-ascii?Q?AzwH2rmdJ7+IHAWzPpXmcKBh1AuWCeoS3mPpASA/DL+wxMkRn7A0k5FbNBES?= =?us-ascii?Q?cQIg6UNMar094FyEInpQnNVYCCTpVl8XiFTkywgVQ18a2YT7TrMZHhpDRXch?= =?us-ascii?Q?gJYf/8gp1MeQ2FIUvhpPFg4sTp8nqMxG/IACysllIphMRcPH4wzZrtV4M7cj?= =?us-ascii?Q?MZJdhewk7ko7/mlB+hALByO7Do49WY3OyPQeu4tcIfw/lrTa91weH/NTksez?= =?us-ascii?Q?QbHmhBXaFDScXwtCKJ8B2o0ecubtjeZguLvz8uBpe3zSflTg0ZAlEeEan28h?= =?us-ascii?Q?wAuoo6d1yZKQUxEkZsH8f/NOaSGrQMDm+hFVOvpI52YgpWdEFo8bCaHO68Le?= =?us-ascii?Q?O0Y1ED+j44YFeTszci8YjTmr9MRapv9O/QSqQGHh/PLtu0yoObKXwNLBK5i5?= =?us-ascii?Q?SE7QwKYcmU7AD/BwqauEg7oehEeIPmMfS3yMAt+ZYDd1JAllL7luXl37Y55J?= =?us-ascii?Q?hLdPsruCvnJrrtvAhlw2GjcOswdTGjGqt+JGErSfoMEy7lnVyAkFrrr14pSh?= =?us-ascii?Q?smZY8w03tf88da8vo/b3AmmkB86EnOocqOhhOjzUHtKOGBopgNQBgKv4REpB?= =?us-ascii?Q?J8ROP4GU8af36dVCZeBv7HWdn1X0OLz9ZCA5fgDIoxt7GIwn8hQ6JFoXHHW0?= =?us-ascii?Q?JQ57qw2afN/jBjuNooEzDAQ6xDTIzo5SD2vVMU87qnw/EsLvyAJcm8sjFUjm?= =?us-ascii?Q?I0puluO019I/EpRh+Zq5QUbSqjDihrEJ989ieSf1Df7SVvqng/B7lrKqWbp4?= =?us-ascii?Q?kObANzLsCSUJmdd8cK0CRT3nJ2ql921qV7KgcpnEsUzrkDeZFzXsTX+4mp6p?= =?us-ascii?Q?lQcWtC+/9OxstC8tgZ3EtrI3cTuugH3aUwWKewMb?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7393d275-7899-416a-19e0-08dda6cdc05e X-MS-Exchange-CrossTenant-AuthSource: LV8PR12MB9620.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2025 20:47:58.4255 (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: pNiv/ITJguFF1Eu9Kvgzm0Il//YPhTK9tgG4pJtLSQWHe7mr4yGO9lFykUWUktKCcWHOIu3QzmPeKtQqwPJRXw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9255 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: GULW4F5CWVJPE5MGFYCOG6QE7UCSGTC5 X-Message-ID-Hash: GULW4F5CWVJPE5MGFYCOG6QE7UCSGTC5 X-MailFrom: arighi@nvidia.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Andrea Righi via Devel Reply-To: Andrea Righi X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1749415760910116600 Content-Type: text/plain; charset="utf-8" Introduce the definition of a new acpi-generic-initiator object that can be used to link a PCI device with multiple NUMA nodes. Link: https://mail.gnu.org/archive/html/qemu-arm/2024-03/msg00358.html Signed-off-by: Andrea Righi --- src/conf/domain_conf.c | 26 ++++++++++++++++++++++++++ src/conf/domain_conf.h | 13 +++++++++++++ src/conf/schemas/domaincommon.rng | 19 +++++++++++++++++++ src/conf/virconftypes.h | 2 ++ 4 files changed, 60 insertions(+) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index be70ec3b96..bfa3a46941 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -3479,6 +3479,19 @@ virDomainHostdevDefNew(void) } =20 =20 +virDomainAcpiInitiatorDef * +virDomainAcpiInitiatorDefNew(void) +{ + virDomainAcpiInitiatorDef *def; + + def =3D g_new0(virDomainAcpiInitiatorDef, 1); + + def->info =3D g_new0(virDomainDeviceInfo, 1); + + return def; +} + + static virDomainTPMDef * virDomainTPMDefNew(virDomainXMLOption *xmlopt) { @@ -3539,6 +3552,19 @@ void virDomainHostdevDefFree(virDomainHostdevDef *de= f) g_free(def); } =20 +void +virDomainAcpiInitiatorDefFree(virDomainAcpiInitiatorDef *def) +{ + if (!def) + return; + + g_free(def->name); + g_free(def->pciDev); + + virDomainDeviceInfoFree(def->info); + g_free(def); +} + void virDomainHubDefFree(virDomainHubDef *def) { if (!def) diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 5e02c15ed5..6aa76f7ff0 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -122,6 +122,7 @@ struct _virDomainDeviceDef { virDomainAudioDef *audio; virDomainCryptoDef *crypto; virDomainPstoreDef *pstore; + virDomainAcpiInitiatorDef *acpiinitiator; } data; }; =20 @@ -353,6 +354,13 @@ typedef enum { VIR_DOMAIN_STARTUP_POLICY_LAST } virDomainStartupPolicy; =20 +struct _virDomainAcpiInitiatorDef { + char *name; + char *pciDev; + int numaNode; + virDomainDeviceInfo *info; /* Guest address */ +}; + /* basic device for direct passthrough */ struct _virDomainHostdevDef { /* If 'parentnet' is non-NULL it means this host dev was @@ -3261,6 +3269,9 @@ struct _virDomainDef { size_t ntpms; virDomainTPMDef **tpms; =20 + size_t nacpiinitiator; + virDomainAcpiInitiatorDef **acpiinitiator; + /* Only 1 */ virDomainMemballoonDef *memballoon; virDomainNVRAMDef *nvram; @@ -3743,6 +3754,8 @@ virDomainVideoDef *virDomainVideoDefNew(virDomainXMLO= ption *xmlopt); void virDomainVideoDefFree(virDomainVideoDef *def); G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainVideoDef, virDomainVideoDefFree); void virDomainVideoDefClear(virDomainVideoDef *def); +virDomainAcpiInitiatorDef *virDomainAcpiInitiatorDefNew(void); +void virDomainAcpiInitiatorDefFree(virDomainAcpiInitiatorDef *def); virDomainHostdevDef *virDomainHostdevDefNew(void); void virDomainHostdevDefFree(virDomainHostdevDef *def); void virDomainHubDefFree(virDomainHubDef *def); diff --git a/src/conf/schemas/domaincommon.rng b/src/conf/schemas/domaincom= mon.rng index 81afa10083..2e307e4559 100644 --- a/src/conf/schemas/domaincommon.rng +++ b/src/conf/schemas/domaincommon.rng @@ -6848,6 +6848,7 @@ + @@ -7703,6 +7704,24 @@ =20 + + + + + + + + + + + + + + + + + + diff --git a/src/conf/virconftypes.h b/src/conf/virconftypes.h index c70437bc05..776a804cd3 100644 --- a/src/conf/virconftypes.h +++ b/src/conf/virconftypes.h @@ -122,6 +122,8 @@ typedef struct _virDomainHostdevCaps virDomainHostdevCa= ps; =20 typedef struct _virDomainHostdevDef virDomainHostdevDef; =20 +typedef struct _virDomainAcpiInitiatorDef virDomainAcpiInitiatorDef; + typedef struct _virDomainHostdevSubsys virDomainHostdevSubsys; =20 typedef struct _virDomainHostdevSubsysMediatedDev virDomainHostdevSubsysMe= diatedDev; --=20 2.49.0 From nobody Tue Sep 9 19:05:57 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; 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 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (BodyHash is different from the expected one); dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1749415856526783.824184444093; Sun, 8 Jun 2025 13:50:56 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 4E9639B6; Sun, 8 Jun 2025 16:50:55 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id BC50C156C; Sun, 8 Jun 2025 16:48:27 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id E63B7156E; Sun, 8 Jun 2025 16:48:19 -0400 (EDT) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2051.outbound.protection.outlook.com [40.107.92.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 4E5D1156E for ; Sun, 8 Jun 2025 16:48:07 -0400 (EDT) Received: from LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) by PH7PR12MB9255.namprd12.prod.outlook.com (2603:10b6:510:30c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Sun, 8 Jun 2025 20:48:01 +0000 Received: from LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::1b59:c8a2:4c00:8a2c]) by LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::1b59:c8a2:4c00:8a2c%5]) with mapi id 15.20.8792.039; Sun, 8 Jun 2025 20:48:01 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FORGED_SPF_HELO,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.4 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=il3KK5ETYQMmS3dSPeYoY2jh/fzT00sRXGyok+rBHXBvV6x4+D1Aw8KDVHS6PGvf3Lujh6J8co4eba96ZxIevDkVOOyQ7Ukd0GTF7HIOrqH9WxVi0/cWBWNDlBRBQ9IDhTmTHODFDZz1iDLcHzz8x2/YgmNz4vwaWPrERLDsTrOFx4QLUaalddY6B1JFG7eQQNl6+e8jS98WMOy7c+y8cgOyD9dPqDtPIh0ywjqab0BRkmrhGrXaXJuvNPybjMLChpDw7o3aeHR9yrThDj8BiEug7dc+bbFcLcsMN7Bza9nZaaZemrrUmEDP+E6HBx+zXnhsUpz+EWi3Chp2/qEEXw== 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=+uNTTN9llLH+d0lb+WLkVYpjXSK0dRRsxcaOeIUX31s=; b=m2U20HZ0xQ8Af+dD8D46MfSPsvJxVB2IgRM1yLzPKvdghrkEHYTlnJQI3kGobHkbZsZN9kPIUQUbMwff6j9oWsPXUoZg1hHIYr1u5OsTYBjim65yEvmcN5eX8ZzcoImarcOspVHQ6oAW+Fe4XUVhW+G9AM3gTXx28e+HR1oW58JpeG5Y0w/nhRUNf5pXonq2gHa/uk38ohQV4MPNdPvkX6h3AfdhGURl2UQ/dY5GS5fHzGlRG42ZNfWdXl+ecKcppk27pmJaWlcl0TfVUZ2jmEXznYChHqe3dtgtbK5kOdSexTEqa12lNO2zPhCrCx0knlS+FnOwdfuKt1LmkPppag== 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=+uNTTN9llLH+d0lb+WLkVYpjXSK0dRRsxcaOeIUX31s=; b=NRR4yZza9liN1cVbaJoV8OtYqjCFmZq5GAQW8boCR8M4A/KdE3MersMLes0ZI6+gTjcM7yUF+6zTdzPkrX93Skae0egTor/nKObocGFeCirKuUWXLe/ekoj8CkZKjrJsFV4PRFwygU3sf1kdgreCQ4wZf4TxNCyrFQWVIMgCsmZw65nZB+dT0u1bJUGCbPdc2LoT3PLfmTqYfdpDBEzO8kooFADwdC/yDnK+eAkICF33YhaPSo5gWqTtPSxE+8jQNgKhxbfyvMqqelP2DvdvzD8s0drfT0VDMJ7iG7Q1MGfweQd0CUlsAFPYlZLlOEDFxUYGsN5+xa5nsEhHyzp/jA== 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 2/8] conf: Introduce acpi-generic-initiator device Date: Sun, 8 Jun 2025 22:44:10 +0200 Message-ID: <20250608204744.518118-3-arighi@nvidia.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250608204744.518118-1-arighi@nvidia.com> References: <20250608204744.518118-1-arighi@nvidia.com> X-ClientProxiedBy: MI2P293CA0013.ITAP293.PROD.OUTLOOK.COM (2603:10a6:290:45::8) To LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR12MB9620:EE_|PH7PR12MB9255:EE_ X-MS-Office365-Filtering-Correlation-Id: 5cdfc199-3fb1-4b5b-d1c7-08dda6cdc20a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?kXokB6u9tV6WoK/GwSvNJ4zI++3rSMjPeeTl2LFjYkM2w8H5AD2hZKNtpXGN?= =?us-ascii?Q?+XcLMPgLzUAcuYEfUpDgbhUO3G2XY0Y7FpYpExpb46Cd6dhfxTLSQbasUdYt?= =?us-ascii?Q?tXuCH0CjypZVhiJUEsAXxPXS5K2eosBRs/oh0DhXgP4tHadNyONQ9dmUj8S3?= =?us-ascii?Q?1lk7aXpXfX1HEyMUr1YXx7DkrHdN//RsrJaxXZXrtmPhAmZ8grmrKtjA7xd1?= =?us-ascii?Q?kWDwp1KFyXf+g3JXY+toe9h0gZNb6bO7amA+IEj3NZrrTCK3FYS1d9EEUdMv?= =?us-ascii?Q?2X13jDewp6IhiwUxVViDnvdG/bLG5Vl+CGtpFxJYVGU/LhNIJGpalbrhlHia?= =?us-ascii?Q?dbjd/1Af15upiHy0lynxtd56BCxUxS6EB8tzJKmSWAHIt38gc5o7zD3V/nOg?= =?us-ascii?Q?tpZA+vdMSEVskPAb1yPR8RYKlVtnXKhoSJiDVqPl6O6dVU9tsmwGNvGK4Yj9?= =?us-ascii?Q?DnUlDmdTUo2iiKnXf+EfOnxdXGV6MUD/wLySGKkmeyi8BjcKfJpWU/1HeW0j?= =?us-ascii?Q?KD6NWweObbF+X3eLv1NBtf5QO5j2OT1LehHbhFkUkQImMrwGwKS9Po11QZmF?= =?us-ascii?Q?Ml8qEzThaTsrE02FtjRqevjJMAkoU3/56bt5BPL43lPU2D6WwZh6y3X6N83T?= =?us-ascii?Q?Se/aToNvoqjiBLfL1gcenLoum4YLxuwcXQMHgGEHP4t2iFCeG1sJIUIILKux?= =?us-ascii?Q?RxlQvgLz/JDY2VRHaWMX/6q8uIZAbS6rYuv+HOA+ItYzN5MXtDUj0atI1qvM?= =?us-ascii?Q?ZPR7r0NF4KOgmgnfvZOQyefYaAbHnFIjkDUzpdES4VnOcxXWZnW0V3uQtAkR?= =?us-ascii?Q?gdcItpChOmOyId5Yk40rpW5tdQoX4tf7LBj5iHx+VRXY2VkbkMzCOE7mYDM6?= =?us-ascii?Q?lTWyXHZTgB0wHkzEeRJBVFgps81vF9mheEIJIhDP6ClwpOFpQIHJeoGB3cwY?= =?us-ascii?Q?agOalshk3Szf9GzBv90aKcWwJM2rPilRMkLeQv9/TrAy5aSzVxyYsSnX3n8v?= =?us-ascii?Q?YIHbDuAkuriOkXcBkrDU5HWrUeo/72igUnA6nO0oZZvHMOYy/JvPaKb8pWgy?= =?us-ascii?Q?A7TsJpLdu69cZ+btYv7aBKLLkvANYxiRAujVFen7XBZECvuzZMvuR0cdLcP/?= =?us-ascii?Q?Hlu5jtt/o3UMz3g2InDw/tAxxVV57NB8+Mx8bzZU2JrQaGgtkovHUm9QgBNZ?= =?us-ascii?Q?2W6L3EUwlSP/sXn0736vYHtN++pAY81Xt10VQhlUw0euIgowAnKg5GpBgCNZ?= =?us-ascii?Q?eh/jvryGAeH3f0qpZXHdkzjWtexEa0qzrVsULvzKoi8Rxxt2K1TsDa7ZwNPm?= =?us-ascii?Q?oD7Oq2jc9cg3Fn3JLmSjfPKjNB2UhtZJ4xzWKQT6E3YovU1gPGMOjExQ7ADj?= =?us-ascii?Q?qsCqeY0y+4hJY4vT4c+mRKYM0ZCJtoG6Va74Kn2vF5nHonw+zxN/l+hGMtUu?= =?us-ascii?Q?Fqppd+goZac=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR12MB9620.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?lluPR8wI8uVGvmGIvR40Y18AP39CrxozrajfmUbXvg8y/3XZ2CTqlm+yajNr?= =?us-ascii?Q?fMLK5gLxcKxCQZhe+8EWmQgYvj+j5ttdfTYgQKDUHtaJ4+DQQg31an0jqcPe?= =?us-ascii?Q?V38PHRcPgnfpnts/63G819XvRYgNjMld+Bg18ajl4vhiLock1luEIGA+gzCo?= =?us-ascii?Q?d2ZLkY7dNcpNgR/Z5J3KUwDYtm4/ddM3nBE1ieGqAlxN7w1LFQM+vGki1i0D?= =?us-ascii?Q?dKl6xpG5K2oQJycF2HHGOxpohue6vSgmwLLk1LQ+Op/U3kqhui1ULQrW+7pW?= =?us-ascii?Q?1lkFpo4xYuaLDsJm9TWM1OWsWrbmT5N+hIHc2mDbwITwSxRNajJ0euYgs56m?= =?us-ascii?Q?KLv3XIHo3cNoUn73BCO1ozpytsswj0EHueReoAxEjbhltWCPaJfku6npNVBh?= =?us-ascii?Q?wQXIBCQSdONvAVh/9+753A7rjRzGi3kHfcNkTMWR9NnZmGHndRIHfHzuqnbb?= =?us-ascii?Q?e3Jvu37LusyWvF1Rrid9kcs4Zs1Fr9onozEmD7YJKc/uIuFolBsiXuLKLrR2?= =?us-ascii?Q?YLWPQYIj4sEO8coH7iFbphArBw3YB/U6QnDk60EsWLRKKmIuJ2p3w5RprVWy?= =?us-ascii?Q?JOJHGVZJ8KuEt0Odvlr7PoeNUS0jsSnLcTECiE7ZTmbOwN9kASgGE2/sgg3u?= =?us-ascii?Q?VeypfsswJvUz3PsssnVwS4JSJ+8App1/OaQ0/4gaPeWzouvbTvuT1mKUPKNS?= =?us-ascii?Q?8DQ5V2oMwcd3f3h29Y8LN88ZekmTfTuCg/lha7HryzhFSpnDDa5V7Xpqptgy?= =?us-ascii?Q?TgyfQcGrNp7n0J34804bo7nuB/SKjBS5UeqB33JIrWxpKbA7X4peQXS7q94+?= =?us-ascii?Q?WUEnBGUH8xuuP7vPF7VqCjnuaZfXlqQnqvqimp9lAyfcvLgAeaWlAGvtIF56?= =?us-ascii?Q?tM6o1/9U5LIotrH3tV30RB0OH+xoDcTGy8fndNzfurTXAuBOr2ic7ZiPs7T2?= =?us-ascii?Q?T1NOeqlLoaXQAhX5kJYLbw193LmLCEy3lz9fJpwxw5K9Itd+2E23l8dsXBBo?= =?us-ascii?Q?JkUfa6Lz7ubKusGVgHK2vZFSsk+jfClGT/utqC3VYdDApaBbg8J40wbIg0jU?= =?us-ascii?Q?ro556D+r0DFIXSyoHJIMWyc0gG6RC72dlVsWX6F9usMhKyHoiPz/p6a7hFRh?= =?us-ascii?Q?VYGCfsOPF3neApWLUdeV7y8qt/ICseOSu0r3aaoaGba7YXRiSWsGomvnVhtR?= =?us-ascii?Q?lBi2BttSvvDgDm8YPuAjQRn+EdzgVjd59wIStT0XMrHh29YVP7KirbBuPeV1?= =?us-ascii?Q?ZT08ULhQjEn9TwC1J4EF942Qzs0PlxlUHHkSYyMlmoVwCcJPYqZ/VxZ3gyhs?= =?us-ascii?Q?nOd+L023KJwAk4Hoqds+OoFx33FkaT+Qhk4u/mr8JWlNtuyzttXz2w03jc/k?= =?us-ascii?Q?n2SBLUfoDoljH7Jn2CuDPBkneSC16NVPLQBR/8XM3uNhGaHDFNhp0ccV/iwt?= =?us-ascii?Q?g3b2jDh5HmqXgcSWWELkrd/iNS9JMgXfui2gXSFXh4G2ZRLq6P6ARPom8WdR?= =?us-ascii?Q?JyGoeNaAq/xudPwZmUXH0dwi6/6Kegjx4OU7gtHlcdcdvbPXjoYSIT/T7oQW?= =?us-ascii?Q?AuDz+vQxX55QvsDofe6IOuAgzHxBVS8MxTUJaxJs?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5cdfc199-3fb1-4b5b-d1c7-08dda6cdc20a X-MS-Exchange-CrossTenant-AuthSource: LV8PR12MB9620.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2025 20:48:01.2614 (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: zz/jAID3FrFdBRwy/ImZvBzgCQgFCQloD2+8e8m058hDuNWTvrgxDdYq+L/rC8uD6XJru+t4tpmLo5zEVdgNNg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9255 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: HSUNIHBFNYH2JBZLPQ2DPLYZ76FJDAXM X-Message-ID-Hash: HSUNIHBFNYH2JBZLPQ2DPLYZ76FJDAXM X-MailFrom: arighi@nvidia.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Andrea Righi via Devel Reply-To: Andrea Righi X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1749415857741116600 Content-Type: text/plain; charset="utf-8" Introduce apci-generic-initiator device to the domain XML. Example definition: dev0 1 This enables partitioning of PCI resources into multiple isolated instances, each requiring a dedicated NUMA node definition, that can be represented by the acpi-generic-initiator object. Signed-off-by: Andrea Righi --- src/ch/ch_domain.c | 1 + src/conf/domain_conf.c | 122 ++++++++++++++++++++++++++++-- src/conf/domain_conf.h | 5 +- src/conf/domain_postparse.c | 1 + src/conf/domain_validate.c | 37 +++++++++ src/conf/schemas/domaincommon.rng | 7 +- src/hyperv/hyperv_driver.c | 1 + src/libxl/libxl_driver.c | 6 ++ src/lxc/lxc_driver.c | 6 ++ src/qemu/qemu_alias.c | 11 +++ src/qemu/qemu_command.c | 1 + src/qemu/qemu_domain.c | 2 + src/qemu/qemu_domain_address.c | 4 + src/qemu/qemu_driver.c | 3 + src/qemu/qemu_hotplug.c | 5 ++ src/qemu/qemu_postparse.c | 1 + src/qemu/qemu_validate.c | 1 + src/test/test_driver.c | 4 + 18 files changed, 205 insertions(+), 13 deletions(-) diff --git a/src/ch/ch_domain.c b/src/ch/ch_domain.c index 7231fdc49f..95d835f07f 100644 --- a/src/ch/ch_domain.c +++ b/src/ch/ch_domain.c @@ -164,6 +164,7 @@ chValidateDomainDeviceDef(const virDomainDeviceDef *dev, case VIR_DOMAIN_DEVICE_CHR: case VIR_DOMAIN_DEVICE_HOSTDEV: case VIR_DOMAIN_DEVICE_RNG: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: break; =20 case VIR_DOMAIN_DEVICE_LEASE: diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index bfa3a46941..5558e6387f 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -342,6 +342,7 @@ VIR_ENUM_IMPL(virDomainDevice, "audio", "crypto", "pstore", + "acpiinitiator", ); =20 VIR_ENUM_IMPL(virDomainDiskDevice, @@ -3486,8 +3487,6 @@ virDomainAcpiInitiatorDefNew(void) =20 def =3D g_new0(virDomainAcpiInitiatorDef, 1); =20 - def->info =3D g_new0(virDomainDeviceInfo, 1); - return def; } =20 @@ -3558,10 +3557,7 @@ virDomainAcpiInitiatorDefFree(virDomainAcpiInitiator= Def *def) if (!def) return; =20 - g_free(def->name); g_free(def->pciDev); - - virDomainDeviceInfoFree(def->info); g_free(def); } =20 @@ -3727,6 +3723,9 @@ void virDomainDeviceDefFree(virDomainDeviceDef *def) case VIR_DOMAIN_DEVICE_PSTORE: virDomainPstoreDefFree(def->data.pstore); break; + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: + virDomainAcpiInitiatorDefFree(def->data.acpiinitiator); + break; case VIR_DOMAIN_DEVICE_LAST: case VIR_DOMAIN_DEVICE_NONE: break; @@ -4705,6 +4704,8 @@ virDomainDeviceGetInfo(const virDomainDeviceDef *devi= ce) return &device->data.crypto->info; case VIR_DOMAIN_DEVICE_PSTORE: return &device->data.pstore->info; + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: + return &device->data.acpiinitiator->info; =20 /* The following devices do not contain virDomainDeviceInfo */ case VIR_DOMAIN_DEVICE_LEASE: @@ -4813,6 +4814,9 @@ virDomainDeviceSetData(virDomainDeviceDef *device, case VIR_DOMAIN_DEVICE_PSTORE: device->data.pstore =3D devicedata; break; + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: + device->data.acpiinitiator =3D devicedata; + break; case VIR_DOMAIN_DEVICE_NONE: case VIR_DOMAIN_DEVICE_LAST: break; @@ -5038,6 +5042,13 @@ virDomainDeviceInfoIterateFlags(virDomainDef *def, return rc; } =20 + device.type =3D VIR_DOMAIN_DEVICE_ACPI_INITIATOR; + for (i =3D 0; i < def->nacpiinitiator; i++) { + device.data.acpiinitiator =3D def->acpiinitiator[i]; + if ((rc =3D cb(def, &device, &def->acpiinitiator[i]->info, opaque)= ) !=3D 0) + return rc; + } + /* If the flag below is set, make sure @cb can handle @info being NULL= */ if (iteratorFlags & DOMAIN_DEVICE_ITERATE_MISSING_INFO) { device.type =3D VIR_DOMAIN_DEVICE_GRAPHICS; @@ -5098,6 +5109,7 @@ virDomainDeviceInfoIterateFlags(virDomainDef *def, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: break; } #endif @@ -13674,6 +13686,49 @@ virDomainHostdevDefParseXML(virDomainXMLOption *xm= lopt, } =20 =20 +static virDomainAcpiInitiatorDef * +virDomainAcpiInitiatorDefParseXML(virDomainXMLOption *xmlopt, + xmlNodePtr node, + xmlXPathContextPtr ctxt, + unsigned int flags) +{ + g_autoptr(virDomainAcpiInitiatorDef) def =3D virDomainAcpiInitiatorDef= New(); + g_autofree char *tmp =3D NULL; + + VIR_XPATH_NODE_AUTORESTORE(ctxt) + + ctxt->node =3D node; + + if (virDomainDeviceInfoParseXML(xmlopt, node, ctxt, &def->info, flags)= < 0) { + virReportError(VIR_ERR_XML_ERROR, "%s", + _("failed to parse device information")); + return NULL; + } + + def->pciDev =3D virXPathString("string(./pci-dev)", ctxt); + if (!def->pciDev) { + virReportError(VIR_ERR_XML_ERROR, "%s", + _("missing initiator pci-dev")); + return NULL; + } + + tmp =3D virXPathString("string(./numa-node)", ctxt); + if (tmp) { + if (virStrToLong_i(tmp, NULL, 10, &def->numaNode) < 0) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("invalid value for numa-node: '%1$s'"), tmp); + return NULL; + } + } else { + virReportError(VIR_ERR_XML_ERROR, "%s", + _("missing initiator numa-node")); + return NULL; + } + + return g_steal_pointer(&def); +} + + static virDomainRedirdevDef * virDomainRedirdevDefParseXML(virDomainXMLOption *xmlopt, xmlNodePtr node, @@ -14675,6 +14730,12 @@ virDomainDeviceDefParse(const char *xmlStr, return NULL; } break; + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: + if (!(dev->data.acpiinitiator =3D virDomainAcpiInitiatorDefParseXM= L(xmlopt, node, + = ctxt, flags))) { + return NULL; + } + break; case VIR_DOMAIN_DEVICE_NONE: case VIR_DOMAIN_DEVICE_LAST: break; @@ -20084,6 +20145,24 @@ virDomainDefParseXML(xmlXPathContextPtr ctxt, } VIR_FREE(nodes); =20 + /* analysis of the acpi generic initiator */ + if ((n =3D virXPathNodeSet("./devices/acpi-generic-initiator", ctxt, &= nodes)) < 0) + return NULL; + + if (n) + def->acpiinitiator =3D g_new0(virDomainAcpiInitiatorDef *, n); + + for (i =3D 0; i < n; i++) { + virDomainAcpiInitiatorDef *acpiinitiator; + + acpiinitiator =3D virDomainAcpiInitiatorDefParseXML(xmlopt, nodes[= i], ctxt, flags); + if (!acpiinitiator) + return NULL; + + def->acpiinitiator[def->nacpiinitiator++] =3D acpiinitiator; + } + VIR_FREE(nodes); + /* analysis of the user namespace mapping */ if ((n =3D virXPathNodeSet("./idmap/uid", ctxt, &nodes)) < 0) return NULL; @@ -21024,6 +21103,17 @@ virDomainHostdevDefCheckABIStability(virDomainHost= devDef *src, } =20 =20 +static bool +virDomainAcpiInitiatorDefCheckABIStability(virDomainAcpiInitiatorDef *src, + virDomainAcpiInitiatorDef *dst) +{ + if (!virDomainDeviceInfoCheckABIStability(&src->info, &dst->info)) + return false; + + return true; +} + + static bool virDomainSmartcardDefCheckABIStability(virDomainSmartcardDef *src, virDomainSmartcardDef *dst) @@ -22372,6 +22462,12 @@ virDomainDefCheckABIStabilityFlags(virDomainDef *s= rc, goto error; } =20 + for (i =3D 0; i < src->nacpiinitiator; i++) { + if (!virDomainAcpiInitiatorDefCheckABIStability(src->acpiinitiator= [i], + dst->acpiinitiator= [i])) + goto error; + } + if ((!src->redirfilter && dst->redirfilter) || (src->redirfilter && !dst->redirfilter)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, @@ -22542,6 +22638,7 @@ virDomainDefCheckABIStabilityFlags(virDomainDef *sr= c, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: break; } #endif @@ -28762,6 +28859,17 @@ virDomainPstoreDefFormat(virBuffer *buf, return 0; } =20 +static void +virDomainAcpiInitiatorDefFormat(virBuffer *buf, + virDomainAcpiInitiatorDef *acpiinitiator) +{ + g_auto(virBuffer) childBuf =3D VIR_BUFFER_INIT_CHILD(buf); + + virBufferEscapeString(&childBuf, "%s\n", acpiinitia= tor->pciDev); + virBufferAsprintf(&childBuf, "%d\n", acpiinitia= tor->numaNode); + + virXMLFormatElement(buf, "acpi-generic-initiator", NULL, &childBuf); +} =20 int virDomainDefFormatInternal(virDomainDef *def, @@ -29246,6 +29354,9 @@ virDomainDefFormatInternalSetRootName(virDomainDef = *def, if (def->pstore) virDomainPstoreDefFormat(buf, def->pstore, flags); =20 + for (n =3D 0; n < def->nacpiinitiator; n++) + virDomainAcpiInitiatorDefFormat(buf, def->acpiinitiator[n]); + virBufferAdjustIndent(buf, -2); virBufferAddLit(buf, "\n"); =20 @@ -29406,6 +29517,7 @@ virDomainDeviceIsUSB(virDomainDeviceDef *dev, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: break; } =20 diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 6aa76f7ff0..e843e2b87a 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -88,6 +88,7 @@ typedef enum { VIR_DOMAIN_DEVICE_AUDIO, VIR_DOMAIN_DEVICE_CRYPTO, VIR_DOMAIN_DEVICE_PSTORE, + VIR_DOMAIN_DEVICE_ACPI_INITIATOR, =20 VIR_DOMAIN_DEVICE_LAST } virDomainDeviceType; @@ -355,10 +356,9 @@ typedef enum { } virDomainStartupPolicy; =20 struct _virDomainAcpiInitiatorDef { - char *name; char *pciDev; int numaNode; - virDomainDeviceInfo *info; /* Guest address */ + virDomainDeviceInfo info; }; =20 /* basic device for direct passthrough */ @@ -3756,6 +3756,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainVideoDef, virD= omainVideoDefFree); void virDomainVideoDefClear(virDomainVideoDef *def); virDomainAcpiInitiatorDef *virDomainAcpiInitiatorDefNew(void); void virDomainAcpiInitiatorDefFree(virDomainAcpiInitiatorDef *def); +G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainAcpiInitiatorDef, virDomainAcpiInit= iatorDefFree); virDomainHostdevDef *virDomainHostdevDefNew(void); void virDomainHostdevDefFree(virDomainHostdevDef *def); void virDomainHubDefFree(virDomainHubDef *def); diff --git a/src/conf/domain_postparse.c b/src/conf/domain_postparse.c index bf33f29638..acdfbdc679 100644 --- a/src/conf/domain_postparse.c +++ b/src/conf/domain_postparse.c @@ -757,6 +757,7 @@ virDomainDeviceDefPostParseCommon(virDomainDeviceDef *d= ev, case VIR_DOMAIN_DEVICE_IOMMU: case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: case VIR_DOMAIN_DEVICE_PSTORE: ret =3D 0; break; diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c index d0d4bc0bf4..d7397e2a2f 100644 --- a/src/conf/domain_validate.c +++ b/src/conf/domain_validate.c @@ -2375,6 +2375,40 @@ virDomainHostdevDefValidate(const virDomainHostdevDe= f *hostdev) } =20 =20 +static int +virDomainAcpiInitiatorDefValidate(const virDomainDef *def, + const virDomainAcpiInitiatorDef *acpiini= tiator) +{ + const size_t nodeCount =3D virDomainNumaGetNodeCount(def->numa); + + if (!nodeCount) { + virReportError(VIR_ERR_XML_DETAIL, "%s", + _("No NUMA node defined")); + return -1; + } + + if (acpiinitiator->numaNode >=3D nodeCount) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("invalid acpi-generic-initiator NUMA node %1$u"), + acpiinitiator->numaNode); + return -1; + } + + if (acpiinitiator->pciDev[0] =3D=3D '\0') { + virReportError(VIR_ERR_XML_DETAIL, "%s", + _("acpi-generic-initiator must have a PCI device as= signed")); + return -1; + } + + if (acpiinitiator->info.type !=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE)= { + virReportError(VIR_ERR_XML_DETAIL, "%s", + _("acpi-generic-initiator must have a device addres= s type None")); + return -1; + } + + return 0; +} + /** * virDomainMemoryGetMappedSize: * @mem: memory device definition @@ -3293,6 +3327,9 @@ virDomainDeviceDefValidateInternal(const virDomainDev= iceDef *dev, case VIR_DOMAIN_DEVICE_PSTORE: return virDomainPstoreDefValidate(dev->data.pstore); =20 + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: + return virDomainAcpiInitiatorDefValidate(def, dev->data.acpiinitia= tor); + case VIR_DOMAIN_DEVICE_LEASE: case VIR_DOMAIN_DEVICE_WATCHDOG: case VIR_DOMAIN_DEVICE_HUB: diff --git a/src/conf/schemas/domaincommon.rng b/src/conf/schemas/domaincom= mon.rng index 2e307e4559..0909aa26a6 100644 --- a/src/conf/schemas/domaincommon.rng +++ b/src/conf/schemas/domaincommon.rng @@ -7707,13 +7707,8 @@ - - - - - - + diff --git a/src/hyperv/hyperv_driver.c b/src/hyperv/hyperv_driver.c index 0d1e388c08..068d5db115 100644 --- a/src/hyperv/hyperv_driver.c +++ b/src/hyperv/hyperv_driver.c @@ -3122,6 +3122,7 @@ hypervDomainAttachDeviceFlags(virDomainPtr domain, co= nst char *xml, unsigned int case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: virReportError(VIR_ERR_INTERNAL_ERROR, _("Attaching devices of type %1$d is not implemente= d"), dev->type); return -1; diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index 0fb256e5c0..bc3f25b3cb 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -3492,6 +3492,7 @@ libxlDomainAttachDeviceLive(libxlDriverPrivate *drive= r, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("device type '%1$s' cannot be attached"), virDomainDeviceTypeToString(dev->type)); @@ -3596,6 +3597,7 @@ libxlDomainAttachDeviceConfig(virDomainDef *vmdef, vi= rDomainDeviceDef *dev) case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("persistent attach of device is not supported= ")); return -1; @@ -3965,6 +3967,7 @@ libxlDomainDetachDeviceLive(libxlDriverPrivate *drive= r, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("device type '%1$s' cannot be detached"), virDomainDeviceTypeToString(dev->type)); @@ -4056,6 +4059,7 @@ libxlDomainDetachDeviceConfig(virDomainDef *vmdef, vi= rDomainDeviceDef *dev) case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("persistent detach of device is not supported= ")); return -1; @@ -4119,6 +4123,7 @@ libxlDomainUpdateDeviceLive(virDomainObj *vm, virDoma= inDeviceDef *dev) case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("device type '%1$s' cannot be updated"), virDomainDeviceTypeToString(dev->type)); @@ -4182,6 +4187,7 @@ libxlDomainUpdateDeviceConfig(virDomainDef *vmdef, vi= rDomainDeviceDef *dev) case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("persistent update of device is not supported= ")); return -1; diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 80cf07d2e5..51071958e8 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -3020,6 +3020,7 @@ lxcDomainAttachDeviceConfig(virDomainDef *vmdef, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("persistent attach of device is not supported")); break; @@ -3086,6 +3087,7 @@ lxcDomainUpdateDeviceConfig(virDomainDef *vmdef, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("persistent update of device is not supported")); break; @@ -3168,6 +3170,7 @@ lxcDomainDetachDeviceConfig(virDomainDef *vmdef, case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("persistent detach of device is not supported")); break; @@ -3270,6 +3273,7 @@ lxcDomainAttachDeviceMknodHelper(pid_t pid G_GNUC_UNU= SED, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: virReportError(VIR_ERR_INTERNAL_ERROR, _("Unexpected device type %1$d"), data->def->type); @@ -3946,6 +3950,7 @@ lxcDomainAttachDeviceLive(virLXCDriver *driver, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("device type '%1$s' cannot be attached"), virDomainDeviceTypeToString(dev->type)); @@ -4364,6 +4369,7 @@ lxcDomainDetachDeviceLive(virLXCDriver *driver, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("device type '%1$s' cannot be detached"), virDomainDeviceTypeToString(dev->type)); diff --git a/src/qemu/qemu_alias.c b/src/qemu/qemu_alias.c index 3e6bced4a8..0d1cb8afd7 100644 --- a/src/qemu/qemu_alias.c +++ b/src/qemu/qemu_alias.c @@ -665,6 +665,14 @@ qemuAssignDevicePstoreAlias(virDomainPstoreDef *pstore) pstore->info.alias =3D g_strdup("pstore0"); } =20 +static void +qemuAssignDeviceAcpiInitiatorAlias(virDomainAcpiInitiatorDef *acpiinitiato= r, + int idx) +{ + if (!acpiinitiator->info.alias) + acpiinitiator->info.alias =3D g_strdup_printf("gi%d", idx); +} + =20 int qemuAssignDeviceAliases(virDomainDef *def) @@ -757,6 +765,9 @@ qemuAssignDeviceAliases(virDomainDef *def) } if (def->pstore) qemuAssignDevicePstoreAlias(def->pstore); + for (i =3D 0; i < def->nacpiinitiator; i++) { + qemuAssignDeviceAcpiInitiatorAlias(def->acpiinitiator[i], i); + } =20 return 0; } diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 77e7ea1299..7ddadb37d7 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -985,6 +985,7 @@ qemuBuildVirtioDevGetConfigDev(const virDomainDeviceDef= *device, case VIR_DOMAIN_DEVICE_IOMMU: case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: case VIR_DOMAIN_DEVICE_LAST: default: break; diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index ace42b516a..b76bd2e5ed 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -8791,6 +8791,7 @@ qemuDomainPrepareChardevSourceOne(virDomainDeviceDef = *dev, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: break; } =20 @@ -10680,6 +10681,7 @@ qemuDomainDeviceBackendChardevForeachOne(virDomainD= eviceDef *dev, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: /* no chardev backend */ break; } diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index e89cdee487..573bbc282c 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -471,6 +471,7 @@ qemuDomainDeviceSupportZPCI(virDomainDeviceDef *device) case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: break; =20 case VIR_DOMAIN_DEVICE_NONE: @@ -819,6 +820,9 @@ qemuDomainDeviceCalculatePCIConnectFlags(virDomainDevic= eDef *dev, return pciFlags; } =20 + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: + return pciFlags; + case VIR_DOMAIN_DEVICE_MEMBALLOON: switch (dev->data.memballoon->model) { case VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO_TRANSITIONAL: diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index b3b0ee66f8..779395ed5a 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -6908,6 +6908,7 @@ qemuDomainAttachDeviceConfig(virDomainDef *vmdef, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: case VIR_DOMAIN_DEVICE_LAST: virReportError(VIR_ERR_OPERATION_UNSUPPORTED, _("persistent attach of device '%1$s' is not suppo= rted"), @@ -7127,6 +7128,7 @@ qemuDomainDetachDeviceConfig(virDomainDef *vmdef, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: case VIR_DOMAIN_DEVICE_LAST: virReportError(VIR_ERR_OPERATION_UNSUPPORTED, _("persistent detach of device '%1$s' is not suppor= ted"), @@ -7253,6 +7255,7 @@ qemuDomainUpdateDeviceConfig(virDomainDef *vmdef, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: case VIR_DOMAIN_DEVICE_LAST: virReportError(VIR_ERR_OPERATION_UNSUPPORTED, _("persistent update of device '%1$s' is not suppor= ted"), diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index e84ad816a0..c3b3851c1a 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -3538,6 +3538,7 @@ qemuDomainAttachDeviceLive(virDomainObj *vm, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: case VIR_DOMAIN_DEVICE_LAST: virReportError(VIR_ERR_OPERATION_UNSUPPORTED, _("live attach of device '%1$s' is not supported"), @@ -5508,6 +5509,7 @@ qemuDomainRemoveAuditDevice(virDomainObj *vm, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: case VIR_DOMAIN_DEVICE_LAST: /* libvirt doesn't yet support detaching these devices */ break; @@ -5613,6 +5615,7 @@ qemuDomainRemoveDevice(virQEMUDriver *driver, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: case VIR_DOMAIN_DEVICE_LAST: virReportError(VIR_ERR_OPERATION_UNSUPPORTED, _("don't know how to remove a %1$s device"), @@ -6508,6 +6511,7 @@ qemuDomainDetachDeviceLive(virDomainObj *vm, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: case VIR_DOMAIN_DEVICE_LAST: virReportError(VIR_ERR_OPERATION_UNSUPPORTED, _("live detach of device '%1$s' is not supported"), @@ -7499,6 +7503,7 @@ qemuDomainUpdateDeviceLive(virDomainObj *vm, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: case VIR_DOMAIN_DEVICE_LAST: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("live update of device '%1$s' is not supported"), diff --git a/src/qemu/qemu_postparse.c b/src/qemu/qemu_postparse.c index ed4af9ca8e..a6f610265e 100644 --- a/src/qemu/qemu_postparse.c +++ b/src/qemu/qemu_postparse.c @@ -906,6 +906,7 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDef *dev, case VIR_DOMAIN_DEVICE_RNG: case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: ret =3D 0; break; =20 diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 2cc52ff3bc..c1bd3da293 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -5655,6 +5655,7 @@ qemuValidateDomainDeviceDef(const virDomainDeviceDef = *dev, case VIR_DOMAIN_DEVICE_PSTORE: return qemuValidateDomainDeviceDefPstore(dev->data.pstore, def, qe= muCaps); =20 + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: case VIR_DOMAIN_DEVICE_LEASE: case VIR_DOMAIN_DEVICE_PANIC: case VIR_DOMAIN_DEVICE_NONE: diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 6f18b2b2c8..5c706a1035 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -10459,6 +10459,7 @@ testDomainAttachDeviceLive(virDomainObj *vm, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: case VIR_DOMAIN_DEVICE_LAST: virReportError(VIR_ERR_OPERATION_UNSUPPORTED, _("live attach of device '%1$s' is not supported"), @@ -10602,6 +10603,7 @@ testDomainUpdateDevice(virDomainDef *vmdef, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: case VIR_DOMAIN_DEVICE_LAST: virReportError(VIR_ERR_OPERATION_UNSUPPORTED, _("persistent update of device '%1$s' is not suppor= ted"), @@ -10973,6 +10975,7 @@ testDomainRemoveDevice(testDriver *driver, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: case VIR_DOMAIN_DEVICE_LAST: virReportError(VIR_ERR_OPERATION_UNSUPPORTED, _("live detach of device '%1$s' is not supported"), @@ -11044,6 +11047,7 @@ testDomainDetachDeviceLive(testDriver *driver, case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_CRYPTO: case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_ACPI_INITIATOR: case VIR_DOMAIN_DEVICE_LAST: virReportError(VIR_ERR_OPERATION_UNSUPPORTED, _("live detach of device '%1$s' is not supported"), --=20 2.49.0 From nobody Tue Sep 9 19:05:57 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; 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 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (BodyHash is different from the expected one); dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1749415791587690.6612192318064; Sun, 8 Jun 2025 13:49:51 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 4D80A15C1; Sun, 8 Jun 2025 16:49:50 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id EB43215B2; Sun, 8 Jun 2025 16:48:24 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 4D6E01572; Sun, 8 Jun 2025 16:48:19 -0400 (EDT) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2051.outbound.protection.outlook.com [40.107.92.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 8A08D1569 for ; Sun, 8 Jun 2025 16:48:07 -0400 (EDT) Received: from LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) by PH7PR12MB9255.namprd12.prod.outlook.com (2603:10b6:510:30c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Sun, 8 Jun 2025 20:48:04 +0000 Received: from LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::1b59:c8a2:4c00:8a2c]) by LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::1b59:c8a2:4c00:8a2c%5]) with mapi id 15.20.8792.039; Sun, 8 Jun 2025 20:48:04 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FORGED_SPF_HELO,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.4 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tHwoI85+4fcSRe2BXLYqAeubOKucfgNLPJwYnF0HsJ16JFfJ6nFGgLs1upCMGDc0Knh/E7T1GKt85ehdivMtMmqUkITjRMiagnbamc4fQkfwzR+I+0xd91H2K1WLpi+Yex22uJCKQus9p8U2gmTFfjvQm8pLlSILtHL8q2cmjE+kbk8xzk+yi5bxrCtY9dPfItV5LmH0LI5NuTvdWPaPVCnHj/v77zsOMIDpVfUBRxHjQWpgMJm4/7pfFN6q1PSJILUV/oa6EzN1jzR5oVYkYaKSuounb6qiZ2C5QBcP23Hn7h2UoaDlFBbhHZ/Y7Vf/SG6u6pjSRrSC0miH2/FVTg== 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=7zxbQCrixrE5kK70jxRRCVlQwax7OMrKT/z6elB8ifY=; b=D3TH4IkxmiLVPz+nLSHDiW9R96SRNN2tDXkZnlo2xHle1F8gPhxsgLDdKytZTIyUTaVUOQndGgbaaXbxHrIU6hHEOHJ0K4HzWtNrrWFXfz3NX4tSRU8o56J7iJO4s0H8cB393Xu6paY5gMPbiMEBoy7Ien1CedamejPAh6t7DsKVgEcti9t46F0AAGisPm1HwWI7POEyEZ/7xof+s5bHD57qDxAh1A5D/zvNKL6MwRNNLP/7OIWfa42ZgxXDjIv8APYnbDnyVXnWngT87UyJqSAW5gNImt7o2QAynpWBdGrb1nVcyETpD8i3p7bqMWjuDvEGM+MPMtJcxCIi6ob45g== 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=7zxbQCrixrE5kK70jxRRCVlQwax7OMrKT/z6elB8ifY=; b=i3TpqwHKgfrZh3wgqQlE0lbCBOHr8J0FWrDTWaNpjI3HcaLfOk9r3QIjvh3AONJCru4D50D62Tm4Rejz6DMLqtjLnNYRVrubkIfrubTbdIV31wxdldUSvAoAd7wQOU5vbao+8hwsiqG18o1j96B7ieWu5Y+rnrzJoFIwArIzD1IwmXKDoDjbQfb0rFXvUjmXeKjXFQWwHN65mUIZfJQ2lef4Lm5n4hbumNRDd5t4qD2ZOsGtqM+fWD86kGwpZbbjZ+AvZM+grt5bHpjfxijBYGIuCM672rR8d1hxHVhFdg4dcm+he9nwMhqg6zAjegj/kuLWjUBN1sYlUUqE8qu/cg== 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 3/8] qemu: Allow to define NUMA nodes without memory or CPUs assigned Date: Sun, 8 Jun 2025 22:44:11 +0200 Message-ID: <20250608204744.518118-4-arighi@nvidia.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250608204744.518118-1-arighi@nvidia.com> References: <20250608204744.518118-1-arighi@nvidia.com> X-ClientProxiedBy: MI0P293CA0013.ITAP293.PROD.OUTLOOK.COM (2603:10a6:290:44::18) To LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR12MB9620:EE_|PH7PR12MB9255:EE_ X-MS-Office365-Filtering-Correlation-Id: d28879a7-8110-4daf-ec39-08dda6cdc3d6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?hup+or29tJ4DavvXdndnBsGmpr0lEN2yIQgvWqk0VxWTTMyxfcuU7LG5PJoS?= =?us-ascii?Q?vVbxZ6si39ZOAvul2EfdNa7bvLo7A5OM0PJqzkOIYZSPODLhaC3E8XepPzRT?= =?us-ascii?Q?O+HRurEYbIyPpf3NV35UClBSNqCg1XOm8b1i4OBf7v/6oI/VCjzgzpwZ8UrC?= =?us-ascii?Q?9dr44p2eiMZ3kMwwq4Of+P3Jr3qnVsx7vilLWVWFCpboH5onfe6eFhE7Illv?= =?us-ascii?Q?nNitRmIaupnCi+wFBBejrhdo9IgDaTXMlGNam23D4fVGPA8cKQwL1NxEoX3b?= =?us-ascii?Q?hjFWudJAC6m7aOPu1NFbAGoOn1JiRSyrx9IZUzRXIt3AkMK6AExTSQt/8TSu?= =?us-ascii?Q?yX5SpAf7137990zmTSyxopdqFnqzWqQIbPjVteZgbeiYc3biANw0hcKktG7x?= =?us-ascii?Q?QagyXhZIQHbn9qdqmUjVzD2gfJiVxEtmCyfbNBA71twS5GxSw+CO8bVLLzTr?= =?us-ascii?Q?kuNab2NUy7Rh8R4IrI7gVVfgK/E+Hg9wzPsKNPnObdnJaJy/IlKBB5YN+okz?= =?us-ascii?Q?xiJXD2WnXpZVbhytZmTuH4rNVJ0gQETZfR3wew35bpUKb/o/IMiekkQ9yKi5?= =?us-ascii?Q?ZkGz3wKWoeSrMMQSeA0HlvEaiZWNrazAILNEXTWwww1o9ZnPrHDxV5Q5Lhha?= =?us-ascii?Q?G3gHqJ+yUPK3R8xdE6nuIhkqpYKyvCpKr91CfEpAxFYYB/lk8PGshRsyBTTq?= =?us-ascii?Q?sCOaTRzx0dZapKRDzZ8MNQOHRdp/Fs2k0h1IlooifDgz2HG/pBADtnI+X1F+?= =?us-ascii?Q?nFYyY1FpHqfyWi+3UapGK+nxNuZSLMrQbxw/HQqKlyBrDrWq3s7OwT90o5tn?= =?us-ascii?Q?4DEMp/m0Qh6WuxH7vCnGqe0nbRkHv7IQCmWX4fpjhOto2SLXmdRQaRrpFZ9n?= =?us-ascii?Q?wUfMjvT/ktkXuM5iGcK3RzrYde1NmWa63Ra7Ol82X2uUP9hKpK15WRnTeuQ+?= =?us-ascii?Q?udA2MA/MecdSEMo8EPJ9pWH7xcvFoC8KMazGlK9+zYOq+i7igUOxm5+9sDjF?= =?us-ascii?Q?19Ys80lPqbMShukR0D+pcU7VQzdv3tfEdE4cZCKXhd3NuGV1VKfMzfZfWHZT?= =?us-ascii?Q?ho3Tz9Vg4HqR5TC4y3Y+Ppj+ayqJDsfV5S3uVTKYkD/KH8fOK1nb+vnxgfzA?= =?us-ascii?Q?274lZSaSavJw4FBbqpvOyNBDH/qs5Le5c8wJB+NudBBiaLsN1hjNGRaS1xSm?= =?us-ascii?Q?ZXOl4Fayvb7xJqXXl3tMhwsEOQlY7b1NDXwYz5ecvZUC7TSpD1OHKDF9PGmH?= =?us-ascii?Q?v8Dh6hsG8v56dikMAxm472vRpgDYdqGyIHZWeOV42zIDBW4bWpcbAzGhnRwp?= =?us-ascii?Q?332DvJsz+41Odz6iyems0G0+Wa4AKu7w+sKbpSMn0NGrkTQYWzCn8xs50FKy?= =?us-ascii?Q?qBFD6ornNorJr9JWi2tcgId0wN4OxVAfvd1BMIutxblcOUvdew=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR12MB9620.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?dhozdFdqJSEtgieAj0ycPt1UM+Xn3EL3u6J4OReyLpDeW9LsCeO7UhSxP/c8?= =?us-ascii?Q?0otXtB9+CsABR3g1rpbmnNHGvIEse73v6PUty5tLXCtA84IrGYdlkvakA6v2?= =?us-ascii?Q?yWW1eaQfHVNvnfP18mffQSmix5TQVoB84BBlsMOzuhphMbzWyPdf6TDNHVUi?= =?us-ascii?Q?Z6R6qtio/TYzU7j8PEhLcBVTVbZ+4llqkgyjJ1uzTBkO5kVZm33r23PUwbu7?= =?us-ascii?Q?mMhY69g3E8EiMhZhCyjtquessGePI8Jimgc7NVb9kq2yXZb8/DrlwxR0vpX/?= =?us-ascii?Q?2IU1O/+Lnz7d61KcbXYoR+yZ2Te728h1ZxiagKLIEoJXs7FAvX6TwwSbrP2b?= =?us-ascii?Q?f7of944FsK+DyNzgqBMvvxxdnQTlxotOaXLPx/BXIw+UEHy5pJV42S9mfLSJ?= =?us-ascii?Q?tN/Rge5GeT3cOy135uTveeiv5nWb6CUv+20kWvqx6sh9EeZsQZCUjo+Gme/h?= =?us-ascii?Q?8nhP+eX31TrYJqn+nE0bwdywlN23V584GE6R8Dhmo2JM4EkEYO1sA98eD2gn?= =?us-ascii?Q?JHnFNQ9G5v9rqe8yZZaTNcl6M7LsstLlrv8LCfgLsL9lhRviRQD2z0VWmCtH?= =?us-ascii?Q?ykvjpcbSWetRtRojrtb8cnlQQYQcwdO7jKRnNBmQ2GGlKnNqcLHwole3koXL?= =?us-ascii?Q?eHRrc7txLkAaiL1h8LxGC9jfl2wcYgHXNZcKjfVveiiEI+/vuRcPe+jSM7hp?= =?us-ascii?Q?cSnA2wEV10KkcalP56MnvsV5TtYEBiKHyC6IC/6L5pkF1ay4ZrlZULRNfhxp?= =?us-ascii?Q?n6R3FIdobEuvdZ2/cekGgl6oIZWfO2UZW25ouVmp6zPJZgbLdvivle/zovJs?= =?us-ascii?Q?ZTrqMP4DwRsAl3E82oTMgBG/33Zzlc/PRkoLaWFVLh5rXIgytb5WtCEeIOh/?= =?us-ascii?Q?HyJQtnDc0z2EAaVdS9Ut8OkT7COPSHg8sHwfahoOdal8xwF4G+vnnLPirfgU?= =?us-ascii?Q?CWR8U9OJaIgSgtNjvwp/rAy4XDVS+7318oWLG7KbsY/6sNjUFXhj5hG13at1?= =?us-ascii?Q?hYZTdU8sRcbWk0tArsgxoRuB7MZMHvEhHKd+k25MYHJjss7aab2J01quPdHQ?= =?us-ascii?Q?TOIENzP/dTNjHKHPfiOR8rVyP/D6yrFhYNmIaV0wa0LnyqjoXDNnqROM2P2Y?= =?us-ascii?Q?LMFEGcXU+dHT/Dny/suvVKgP2Ttl8tLIIP3unHyjiKyt1ev8PzbLcUddZyBV?= =?us-ascii?Q?PFhpJ8Ce+uCU0/04P57PDySBvF3C4S7pQQ9WbT0EarQDiDsuUdz6acnqPNPE?= =?us-ascii?Q?IKByoQK5TC9/+EJ3UVBgnxmGlvntmDR1mc3jsbYzRBsWTl4qo2AvGmIgnlnm?= =?us-ascii?Q?fFji1ItdT2//fcakwpfYX2HUrPBr+0h2dB0Me+q5Me2HRFA6V6rZz6TCT+YI?= =?us-ascii?Q?6N7/S1FVGZuyO31AZzFVBeasCUt0aJAfNLUYf8722GKJZal2glLmX1U3tmKP?= =?us-ascii?Q?fV0CwRbKGbz12lgqhtOvvhxuqDjiTvySWmT4uDJ4DrsScjch6o8EA2+FCeOA?= =?us-ascii?Q?McWHJudhDlh6ZcHjOVa6pXQaQ2leACwiQpd2MD4NxSP5vUVKqbjCQHrkS5R+?= =?us-ascii?Q?SX2IbuMtuC0DvV1JkAEynP6HzISXZAaB+RC2pVjN?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: d28879a7-8110-4daf-ec39-08dda6cdc3d6 X-MS-Exchange-CrossTenant-AuthSource: LV8PR12MB9620.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2025 20:48:04.1620 (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: DGWSLbyIEVew/FDjt9XKxM5dRD9VmPO4W0oC7YqI5RApfUnOrFjfqXWAfyHT60Eg1sbCdecrwZsjuxzbZZONsQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9255 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: PZFR2UPWEOV7N47M7LAXQKUMM3VVZKB5 X-Message-ID-Hash: PZFR2UPWEOV7N47M7LAXQKUMM3VVZKB5 X-MailFrom: arighi@nvidia.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Andrea Righi via Devel Reply-To: Andrea Righi X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1749415792964116600 Content-Type: text/plain; charset="utf-8" Allow to define NUMA nodes without memory or CPUs assigned to properly support the new acpi-generic-initiator device. This is required because the NUMA nodes passed to the acpi-generic-initiator object must be independent and not be shared with other resources, such as CPU or memory. Signed-off-by: Andrea Righi --- src/conf/numa_conf.c | 3 +++ src/qemu/qemu_command.c | 20 +++++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/conf/numa_conf.c b/src/conf/numa_conf.c index 00f0c605ee..5b50f3e3f5 100644 --- a/src/conf/numa_conf.c +++ b/src/conf/numa_conf.c @@ -1492,6 +1492,9 @@ virDomainNumaFillCPUsInNode(virDomainNuma *numa, if (node >=3D virDomainNumaGetNodeCount(numa)) return -1; =20 + if (virDomainNumaGetNodeMemorySize(numa, node) =3D=3D 0) + return 0; + virBitmapSetAll(maxCPUsBitmap); =20 for (i =3D 0; i < numa->nmem_nodes; i++) { diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 7ddadb37d7..79cfe60b09 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7665,7 +7665,10 @@ qemuBuildNumaCommandLine(virQEMUDriverConfig *cfg, } } =20 - if (masterInitiator < 0) { + /* HMAT requires a master initiator, so when it's enabled, ensure that + * at least one NUMA node has CPUs assigned. + */ + if (hmat && masterInitiator < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("At least one NUMA node has to have CPUs")); goto cleanup; @@ -7673,8 +7676,9 @@ qemuBuildNumaCommandLine(virQEMUDriverConfig *cfg, =20 for (i =3D 0; i < ncells; i++) { ssize_t initiator =3D virDomainNumaGetNodeInitiator(def->numa, i); + unsigned long long memSize =3D virDomainNumaGetNodeMemorySize(def-= >numa, i); =20 - if (needBackend) { + if (needBackend && memSize > 0) { g_autoptr(virJSONValue) tcProps =3D NULL; =20 if (qemuBuildThreadContextProps(&tcProps, &nodeBackends[i], @@ -7702,11 +7706,13 @@ qemuBuildNumaCommandLine(virQEMUDriverConfig *cfg, virBufferAsprintf(&buf, ",initiator=3D%zd", initiator); } =20 - if (needBackend) - virBufferAsprintf(&buf, ",memdev=3Dram-node%zu", i); - else - virBufferAsprintf(&buf, ",mem=3D%llu", - virDomainNumaGetNodeMemorySize(def->numa, i)= / 1024); + if (memSize > 0) { + if (needBackend) { + virBufferAsprintf(&buf, ",memdev=3Dram-node%zu", i); + } else { + virBufferAsprintf(&buf, ",mem=3D%llu", memSize / 1024); + } + } =20 virCommandAddArgBuffer(cmd, &buf); } --=20 2.49.0 From nobody Tue Sep 9 19:05:57 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; 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 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (BodyHash is different from the expected one); dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1749415904946798.7026102876188; Sun, 8 Jun 2025 13:51:44 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id A030A163B; Sun, 8 Jun 2025 16:51:43 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 69D11149B; Sun, 8 Jun 2025 16:48:32 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 9EED315A6; Sun, 8 Jun 2025 16:48:26 -0400 (EDT) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2081.outbound.protection.outlook.com [40.107.92.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 3141715BE for ; Sun, 8 Jun 2025 16:48:09 -0400 (EDT) Received: from LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) by PH7PR12MB9255.namprd12.prod.outlook.com (2603:10b6:510:30c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Sun, 8 Jun 2025 20:48:07 +0000 Received: from LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::1b59:c8a2:4c00:8a2c]) by LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::1b59:c8a2:4c00:8a2c%5]) with mapi id 15.20.8792.039; Sun, 8 Jun 2025 20:48:07 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FORGED_SPF_HELO,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.4 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VJRzymaWRfK90nHTGFJS5iq+C4UXQLeocxAn68D9sEaT+vYxRDEjl+8s04xITR/95BMgXNCnCNRhc9XW23KIq79EFJVDBwYI3w72D+VcXXqcHdFSsh/iMPfTfJ+z0qC+aratlh8ooatu/x59jy+4p5g21s7rK6kqPHE6eRA4zbe0lHe2FYw4tb6UaHstus9qClBtMNlMY0vbMJadBsvAoukQKcDvbjTRZuhYhWXJdNvY6uCdvXaEOJ+ZEXCFV+92SfTqviANfssdWxThKPgYBqEEhU2Q00xb0Z6GNfqmiAvCKWL23BzfqWqF7Ar6TYIuKLUl65XZh6QoY2Vfw+hZXA== 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=Cjt3vXeqLcYNk2BXTvG0bNpbsghjLs4bKc7HUQm651w=; b=Waz7yXmlE6zJ0IU2h1obk0oQ9ObDlbMUlhveujrSbP2+hOO4HgdKBiaQlfV22pe9mmsHNgZwh7PArRvz+PEuOI+Ra7ydrgyn4ZmMU5EFEGiKUd8URtvBj+iaxJ5DY7ClAAglrnDWmKb0VQl+1SqpkFruDdakXrU75i3rdSHiTP88H0rcLSdptI3Or5/ZpEEpLELdQZE5QLrVSs2cO+oEtNdoBPV6US5GpVZMXv60EhxwnJARNtSj15QCJmPvSJv7g7ody+bN7MVWrRrflPDe5NXTe6A3J1HucWUCDsTiCkf0+6rTaqI3shkh0GDAEe1NhBQ6VDggvQjR3H7pzTFu5A== 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=Cjt3vXeqLcYNk2BXTvG0bNpbsghjLs4bKc7HUQm651w=; b=rTN03UH5piC0OmfpClo509cRa+nVLl/k/S8Rna08ljLw6rCearRJbSGZqcuctF8KNAMeR//1nFo3FPmNwhatMSo7U/5go9c8l7X9IQzk9B/KAIKvRMALduh5kN0H2vsXx+B4t6jNjo2Lu/J/V++kykn1T3i3WIaSez4EzjIiHbqzHb2O0gtQJF5oET9U1SRL7PTcA0AwmA8IlrfnqMEgLmw+veeRITKIFwQuKA2SX/y5XRy9NpIRkCbq6BslGmtkpLPjUtJzxn0XWdZaMgHykz4PcFRfEGDISdxikU8SGTftJEqLaTwEGUC5txiCWBQZQAP790/hy9Llv2hQtcFzBQ== 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 4/8] qemu: capabilies: Introduce QEMU_CAPS_ACPI_GENERIC_INITIATOR Date: Sun, 8 Jun 2025 22:44:12 +0200 Message-ID: <20250608204744.518118-5-arighi@nvidia.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250608204744.518118-1-arighi@nvidia.com> References: <20250608204744.518118-1-arighi@nvidia.com> X-ClientProxiedBy: MI1P293CA0027.ITAP293.PROD.OUTLOOK.COM (2603:10a6:290:3::7) To LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR12MB9620:EE_|PH7PR12MB9255:EE_ X-MS-Office365-Filtering-Correlation-Id: 74f9de36-8e51-44fc-d5f0-08dda6cdc590 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?tTsI4UBZtDtCeVP2VbKasuECLPMxW2uXn6Tk4E+mpNEvHKRTlnzcMGWqgu99?= =?us-ascii?Q?GD11iPP6ZKXHh/BR50BoW7Bdfl0FWhrjXCRG9WyypUgWYWmr9YDi3WwOjMN+?= =?us-ascii?Q?1GZijKLd83KT/R9BVpl46iljBSyM746/XsuQmFYFnA+y0wgwsuIzqkQdrjqT?= =?us-ascii?Q?wJWEpAlFma7A2V66YDLGLhKGNTcEMNVDxUIljURyiBamlYu+bUh8uQtkZzzA?= =?us-ascii?Q?WzOi09ug2UhWkXOJxxLNkiIBUk12fONQa8WK7UlxlCDmOwtrDNjDu+mtzlKG?= =?us-ascii?Q?NHpfCroTJFiKjLU2gl3BW0iThb+8xfUaqMQCUE1xMjihCWfU+vms/rRXOp1q?= =?us-ascii?Q?H0yXLOf0OD4aIWa5A9lWYDlJXqe3B02pQaDOw1odjr7cKD7n5ZVfdepyrmqU?= =?us-ascii?Q?prq0P6h66RbbMxenha5WXogiGjtp3liABamEgtaeplESVSVIPrR+tOtpobBm?= =?us-ascii?Q?6CjFuqycV11AsX0lVcvDdomdKCXYrBlDWHntzueE7z/3ZTRS9zgznxkHkWQf?= =?us-ascii?Q?atOxrydtPRxataH1KU0H1LEcyvWBOYmyR/WB1b0Rgi1k3g9ZVl3eXVFgFNkJ?= =?us-ascii?Q?B9R643+K8UgTsjXhVpxpZSo+gafWZqlBI4ETZX2sqDoo8hDMQ8LTlyOaLBFf?= =?us-ascii?Q?HZFSjHI7lQZjRKUUie1/AA+itqcldVfK2jmp5gBIKUobFKSp/ipqtv/rfola?= =?us-ascii?Q?VfFzLqZakpPMawRuWC0UzRKRgbGSvxUsGpLYDAqe4PWfDxSjFozmdOxbd91O?= =?us-ascii?Q?bcf5iCizUnlvXF/Hu9lq35EXfAOS6QYBJhemrVPPehil8k3dM4cJHU5Dac0Y?= =?us-ascii?Q?TgyWA86qt2Cr1mM9f/hbIo/l9e0ILBbyh8bV0XQcVWTjF8GehylmS7EpSytc?= =?us-ascii?Q?zbGS6bAet4a6hqXeiHYGPsQ/3FMBH/FLqPOQFO7GtR5MkUq7BGMuwZHbPMbp?= =?us-ascii?Q?lbMfBhokvHl7vK4QmIsaW4Kpq3ZDmnXjOrkNFh1ZPpTlPH5YBv894iF0kFJY?= =?us-ascii?Q?fPOCP/+2te1B8s8IwsLrphWIshmBC+v3NtvJt8FnZnTIHmr5dCAVScsUzzVV?= =?us-ascii?Q?JRF/SLmzv1GhWr9V2WjA5IP890zXFlxk/0qmdJUenJpuOqZ7rA/i0VvamiSX?= =?us-ascii?Q?SJoZdajxGNCZ6MG0QWdvcoWCzpqvg0POLuDMJvRmxAhGLvwJBp54ShQQmxeT?= =?us-ascii?Q?wroBhfMrt0SAE5PhjTghGTPBDGsvOJiwTdIDreTU3JDbP+fhWiMpEIWmxFOd?= =?us-ascii?Q?5EeoWMJ1Nte8ezSzRaHRZ0uXamho+YGtv7segodUgNqOK/r8rV2g2IZIFP88?= =?us-ascii?Q?KOvCxWEAi8Gl6W1acCgsu9SEYEmmbMHWZSIWbveu0LRMLl1IZ5pAUWdO728Y?= =?us-ascii?Q?abggI4U6mBCb7uI5JQXv524CWFcX5vuWOcsbWoN9lzI8hubqRViS8mhDXXoT?= =?us-ascii?Q?iOPjrIXFuy4=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR12MB9620.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?p5SC/B70zZCB3/bmPvotW39eZm9TKBa7WbiZtNDJiCzyYqtjSDRhzr2O6ePO?= =?us-ascii?Q?AymQQPQCn7WvCiWg6TobwbUy5ZqQQgiPlA42OkbGV1JGMzX5IXDh0j5heFMQ?= =?us-ascii?Q?khntuWzH1z+BYWxem9ZEn9TaEKFxmph/lP+mV6wSydFoWAL4gjEaCnvSZCnY?= =?us-ascii?Q?driq5IcOGq+nrxQrzMcEceQG2JsN8hQ4BTZMw+w/FROOtgqgFWX/vtaaZnSV?= =?us-ascii?Q?huxyxWHXNLOAAfaSiFldiXxjBP+6W1h9aoIblJ+E6Txkz+03uf5O+sAj5+cK?= =?us-ascii?Q?bFl2l4YnLj71yPIK0/I1zbms7eDOH9cHhLOifMuhKsEY23+v4geT1UzDaoXM?= =?us-ascii?Q?8jHygtEJ5MeSt8OiUeewyOjoM2W187R+0pfZV3Z3iqTTZc1G9i/nfgejYT+u?= =?us-ascii?Q?24OwMCvbwhPt/kXIasxOWaIIYD76OyOiAthu5K62STXX7n4ZHdJam5YkjSvH?= =?us-ascii?Q?iSB7bexBAcAKXf4G9owVgvL0VTXfglkuUczIwsdsn5FsW12HaEP8DbnPRp9f?= =?us-ascii?Q?kp124rqM5zkYbaREWdLbfDFOMYnOKoqFx+pLk4dUoHnDAkl2s//yrhItjEzo?= =?us-ascii?Q?ni+3ecYS30+jJnP5J1IrDICn6mwxHYGU+llsM0y27YbQFEjCjkWQ23Y75F5b?= =?us-ascii?Q?ppb7aJsADjVOTWbp1+KoS8SpYMKvsrmxRPDLpBC+iFEC70r3ggMbm3rlKqEz?= =?us-ascii?Q?/TqJR1fz8BIMz2A/nly0Uw8V+o5tWONGym0/1/gAaPvuv2EimIq4n8zUfhwK?= =?us-ascii?Q?yZmvu0XhVA49c7LluuwEFBlBaD2cYcuMap+fOuxHC1q4LxnczHF+X4Keo7ha?= =?us-ascii?Q?m7Lt5zTuKOKJPaPDRI2GK4qvXxIBg7AWLbxjy2hPT7sdxyDHogDvLzJZXdXy?= =?us-ascii?Q?6o/Jse5okedNLGKxQwGfw7rOlMVxNh7zTEo44mufG5miXp5q7oauzUQMJA75?= =?us-ascii?Q?TO0xYzc4ZeclsqQiQi8C1ARiSTF0D6mM44uVzhwPscMiqnIs3Hg4VXzgXujN?= =?us-ascii?Q?gBLtLxmIQy2vKjiiu9WKx2sCJEiwnBS+Cu7Zw5dK+t7+fdnu5wa9VCElv1Ip?= =?us-ascii?Q?skUZ5LwX+XdCuoHqUi0d1VM0X0AcKzkMrcqV4s0L2y09j8pW7+095zVvTgGQ?= =?us-ascii?Q?QD1qMMgbEr87xClKNp7iOUdraV/oqIKhDtjxrRqQ0tAkax6KdRvCTzSGHQgF?= =?us-ascii?Q?5wmVTAlnPAdPoeLfwTi9LP6qZliPNUZgLFboXTh+V0VImbKClWOdWtYUnQlw?= =?us-ascii?Q?ojgVotYUB0tLSRuFOUxRMU5Lpx6Li8GIJ64Gx9G3IUnBEAKhZCxmBW/9TtjB?= =?us-ascii?Q?I5kocn7e5xObU0CDx6/rBb9BMWqhatS571ooZpQcZ+YQCy85aUCu7QCgSCGt?= =?us-ascii?Q?cdPN5SYVM/b+i/jidrE9JwdotAou8FyigtWjTWUpG7odJeTK6XtvrWzGigKD?= =?us-ascii?Q?VU06T/LMwTm7D18MRZACP4Uzb+ydBtABjnYgSnmZx1HN5yDonTsWWac9M1Nj?= =?us-ascii?Q?Oe/7dP9cZJjd8CtR7Gvcyst73M4HDat/gCI2K1ObxAjKayGh09O/V4DjrUdc?= =?us-ascii?Q?7f9jF2Qd9+xdmW5JnrlOolTvoF31rQqRIoS/s8mb?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74f9de36-8e51-44fc-d5f0-08dda6cdc590 X-MS-Exchange-CrossTenant-AuthSource: LV8PR12MB9620.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2025 20:48:07.1461 (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: ZMp6OEtcNtDfg+VWzBlHiU3XOnsstSLvlcULEbnqbl2pGvhhEmLPcPxzzTlQjTX0KfqaflCegWQPqvgVdnmRIg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9255 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: OTFAGIDHYPM2FFAIEUWTWXZSDL3Y4XLH X-Message-ID-Hash: OTFAGIDHYPM2FFAIEUWTWXZSDL3Y4XLH X-MailFrom: arighi@nvidia.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Andrea Righi via Devel Reply-To: Andrea Righi X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1749415906140116600 Content-Type: text/plain; charset="utf-8" This capability tracks whether QEMU supports the acpi-generic-initiator object type. This object has been introduced in QEMU with the commit: b64b7ed8bb ("qom: new object to associate device to NUMA node"). Signed-off-by: Andrea Righi --- 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.0.0_x86_64+amdsev.xml | 1 + tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml | 1 + tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml | 1 + tests/qemucapabilitiesdata/caps_9.2.0_x86_64+amdsev.xml | 1 + tests/qemucapabilitiesdata/caps_9.2.0_x86_64.xml | 1 + 11 files changed, 12 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 8ba528fc07..a8a15c56f8 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -734,6 +734,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "virtio-scsi.iothread-mapping", /* QEMU_CAPS_VIRTIO_SCSI_IOT= HREAD_MAPPING */ "machine.virt.highmem-mmio-size", /* QEMU_CAPS_MACHINE_VIRT_= HIGHMEM_MMIO_SIZE */ "bus-floppy", /* QEMU_CAPS_BUS_FLOPPY */ + "acpi-generic-initiator", /* QEMU_CAPS_ACPI_GENERIC_INITIATO= R */ ); =20 =20 @@ -1423,6 +1424,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[= ] =3D { { "sev-snp-guest", QEMU_CAPS_SEV_SNP_GUEST }, { "acpi-erst", QEMU_CAPS_DEVICE_ACPI_ERST }, { "virtio-mem-ccw", QEMU_CAPS_DEVICE_VIRTIO_MEM_CCW }, + { "acpi-generic-initiator", QEMU_CAPS_ACPI_GENERIC_INITIATOR }, }; =20 =20 diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 1e7e4faa9b..fb6a0751f7 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -715,6 +715,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ QEMU_CAPS_VIRTIO_SCSI_IOTHREAD_MAPPING, /* virtio-scsi supports per-vi= rtqueue iothread mapping */ QEMU_CAPS_MACHINE_VIRT_HIGHMEM_MMIO_SIZE, /* -machine virt,highmem-mmi= o-size=3D */ QEMU_CAPS_BUS_FLOPPY, /* floppy bus supported (isa-fdc/sysbus-fdc) */ + QEMU_CAPS_ACPI_GENERIC_INITIATOR, /* -object acpi-generic-initiator co= mmand supported */ =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 7fd5018557..da5469e1a0 100644 --- a/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml @@ -161,6 +161,7 @@ + 10000000 61700285 v10.0.0 diff --git a/tests/qemucapabilitiesdata/caps_10.0.0_x86_64+amdsev.xml b/tes= ts/qemucapabilitiesdata/caps_10.0.0_x86_64+amdsev.xml index 8da17978fb..8909796883 100644 --- a/tests/qemucapabilitiesdata/caps_10.0.0_x86_64+amdsev.xml +++ b/tests/qemucapabilitiesdata/caps_10.0.0_x86_64+amdsev.xml @@ -206,6 +206,7 @@ + 10000000 43100285 v10.0.0 diff --git a/tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml b/tests/qemu= capabilitiesdata/caps_10.0.0_x86_64.xml index 09332805f2..b581bd7c16 100644 --- a/tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml @@ -205,6 +205,7 @@ + 10000000 43100285 v10.0.0 diff --git a/tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_9.0.0_x86_64.xml index b7bd10271a..d036fb8e32 100644 --- a/tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml @@ -201,6 +201,7 @@ + 9000000 43100245 v9.0.0 diff --git a/tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml b/tests/qemu= capabilitiesdata/caps_9.1.0_riscv64.xml index 3b1445718a..a0eb988378 100644 --- a/tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml @@ -160,6 +160,7 @@ + 9001000 0 v9.1.0 diff --git a/tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_9.1.0_x86_64.xml index aed9ba6564..e19a0daf14 100644 --- a/tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml @@ -200,6 +200,7 @@ + 9001000 43100246 v9.1.0 diff --git a/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml b/tests/= qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml index ac25159eff..19d29bbc20 100644 --- a/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml +++ b/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml @@ -133,6 +133,7 @@ + 9002002 61700247 diff --git a/tests/qemucapabilitiesdata/caps_9.2.0_x86_64+amdsev.xml b/test= s/qemucapabilitiesdata/caps_9.2.0_x86_64+amdsev.xml index 96426a28a7..9dbfc8edcf 100644 --- a/tests/qemucapabilitiesdata/caps_9.2.0_x86_64+amdsev.xml +++ b/tests/qemucapabilitiesdata/caps_9.2.0_x86_64+amdsev.xml @@ -204,6 +204,7 @@ + 9002000 43100247 v9.2.0 diff --git a/tests/qemucapabilitiesdata/caps_9.2.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_9.2.0_x86_64.xml index adb9202ff2..baf4f6a70f 100644 --- a/tests/qemucapabilitiesdata/caps_9.2.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_9.2.0_x86_64.xml @@ -202,6 +202,7 @@ + 9002000 43100247 v9.2.0 --=20 2.49.0 From nobody Tue Sep 9 19:05:57 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; 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 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (BodyHash is different from the expected one); dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1749415924901101.6306356577486; Sun, 8 Jun 2025 13:52:04 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 9275E1640; Sun, 8 Jun 2025 16:52:03 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 2F1D71626; Sun, 8 Jun 2025 16:48:35 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 6696214BE; Sun, 8 Jun 2025 16:48:30 -0400 (EDT) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2074.outbound.protection.outlook.com [40.107.92.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id DBAA214BE for ; Sun, 8 Jun 2025 16:48:11 -0400 (EDT) Received: from LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) by PH7PR12MB9255.namprd12.prod.outlook.com (2603:10b6:510:30c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Sun, 8 Jun 2025 20:48:10 +0000 Received: from LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::1b59:c8a2:4c00:8a2c]) by LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::1b59:c8a2:4c00:8a2c%5]) with mapi id 15.20.8792.039; Sun, 8 Jun 2025 20:48:10 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FORGED_SPF_HELO,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.4 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lMDUeQLcZMW3rZh4BctcGL7P5pold5Z9ASdPOJp2CshncTTycD28sKiImdu6snJaRT11YZPh80Mj0dySnw6hSkQ/VH4uHbJuNqeSOx3fbaDO8rjKEHtKTrnU5NzZSLKKp7vaZe8PxGD2VAFFgPPGPnkO7/pJkyLcfTXmeuy6NhdBGqNFcSlhh54AIEJL5XUczKtx3jaPwrxVtIygGywavzgXnYRB+FmgOeBMlRIsnY2TiOHooNEW4MKsdynCUMocs4naHvktS6IPaVZDOLVqmip+wN4BW87IKzZGN/OS5dsmKy12LRZ4WTXzigAr5+9Vj4tDtq6wRpqzp6R/FGXZnA== 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=jpfMCsJfCwS7g5H+SShpPfkVzSKcNpv5Sg/xF6YlHrI=; b=TxcQMRs2FUCXLGbCA1w2zxC+OQR/oNUr7q66sUXKUA7j/WPOHNikiZiE7HjBnnEHioRFvM06GUuMwA/XDDXEYUDcvaJDIzJlQyHYfIIfDG1w14FyE4PFa0y8oV0BhY6Ufv7BQ7934E4WBR5gpd1ySA7lE0dIt1AlleHppbkt/e07w3ta18FddktFZSQF8gGXW3yw9wk9ZYMoOrzi0ulSnT9s5/nnab8qPoPyzQtCWwdWRBOCd5T6y4O0eReXQv4owYJzBjBngBTRae8qjDoEUn2wCFLXaGpq4NJUrbzzM8u+Zkg4Qr2bWswZHsg1+VeU0Xx6+hPQA+HCsWF62sw7tw== 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=jpfMCsJfCwS7g5H+SShpPfkVzSKcNpv5Sg/xF6YlHrI=; b=jTyNGP/E6OxOLhO8yQOVhTm7htHsjiBcl1Dq0D6aKQ3y1RFgp4aknJOndHTquf+75xKHphQzH1WmLp0aj7ff39PDXs6W3rQh/THl1ZfjJ5xlbQRnm6Bb/+Tn0yCTfpld1twVKO6As+4S4WY7vWkbEf21+Z+HGLJ7tT456BKYZM2wki4dSoelAiKooFzd/HZWPc+9iIF86yuSo52JKFADSirD5NBYsczt5nawgS7/UeZrgTAax9Ih7P5NpJMXYX8ujOqBKS/04jBXrlvmPQalUbOp8pVodc8hofwEptIk7MutQURjejNDgfLFi+Ko63TQkRGxOsw9pZzrR9a8ZupN4A== 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 5/8] qemu: Support acpi-generic-initiator Date: Sun, 8 Jun 2025 22:44:13 +0200 Message-ID: <20250608204744.518118-6-arighi@nvidia.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250608204744.518118-1-arighi@nvidia.com> References: <20250608204744.518118-1-arighi@nvidia.com> X-ClientProxiedBy: MI2P293CA0006.ITAP293.PROD.OUTLOOK.COM (2603:10a6:290:45::18) To LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR12MB9620:EE_|PH7PR12MB9255:EE_ X-MS-Office365-Filtering-Correlation-Id: 1cfbfe85-f4d5-4c7d-7153-08dda6cdc761 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?aOzzGcSM9B02g3InL1IN7JbW/t1aN8a9X7JnoGpxh9lTD/Vw3CpeJaSL+oRm?= =?us-ascii?Q?WlcG3ef4OaN0RL7lgFYvuQvdOB5fnMBDyDbaaWG6T1uK/wEjXuAS7fqlzfQr?= =?us-ascii?Q?mp1ymlDrg3k7btaMIWaz71LyqNedR0g2LkXlmov8rV4V/qvp697Eh59I1q1m?= =?us-ascii?Q?p7/E9OKEN6rkfN5JdEzgg7QYu8OkWM7tfSNHIoPARJpEyz09TKjqrolAuy3I?= =?us-ascii?Q?WsiJfjACszxuVk+I2dZMkc6OVBoyE1nOjc0Ojjh7vE6uFhkio0zmMuD0eIs9?= =?us-ascii?Q?A9Vj6eXe4frRbkVmNjhes/tbHKCdghl+KaTMsE3oZaLltrhAidlmTXwnp4HR?= =?us-ascii?Q?amPoLHErFhNYXqqBJFP8AkBVzhFdQGD6BmLjsGcLGB2b3dJQKPeDBtIKle3c?= =?us-ascii?Q?eZeH9haFmNIy+vwc2r92twqySNF8iee3rk19J1TN90X+voNhnqAJGljutosK?= =?us-ascii?Q?B8IRGfeehdLO91kqAOCSL7XQpzW2dqgmuJkfFmzsPX7lBmTs4TtiMdBovrK6?= =?us-ascii?Q?ascamYdfodZsSqmZnOHjqH+0lZbh6KW107JNBdqwXBJ++5y8UuCeISwDG2uU?= =?us-ascii?Q?NMHoqxO7rsAtc6I7mW9+XA5Yz/GfjfCfHFOhYYij7N3Q8RDn1otVL1TiU8XH?= =?us-ascii?Q?vDSJAL/PvxmNIyQ2+V4tIgWKPjT/0tCMGEbbjG6DnwhxpWWtTZZ5vupiGkAG?= =?us-ascii?Q?XDAoKPE2XG66zg7KvLqQoJTKnl59gQ4hK7jOIbNjxnJ8fcvKUKErYCrQsrZj?= =?us-ascii?Q?eIUyCadsq/YK8ukv4ZaPIoQ/2vlP+FMEQjh8RD8drB5t6JvdehiHHMOvVVqw?= =?us-ascii?Q?xKE62EwCkYJtq+8362p9X1jycNlopTSPlSBRmNrG4Qem8z03LG3KeZjawPS6?= =?us-ascii?Q?jw8aX6pg7p7NpD0ypCNATjQxy2HYNqXP7y6NsoOPHFpTr2noKVkvgX2k7LAi?= =?us-ascii?Q?lKz6qd6Jfh8TuxZkPS1pQoDelorAHCyg1PL904lkm9iIcytF+oFwu5MGQdoM?= =?us-ascii?Q?YORvT3o3AHHoSJdPL4TwwjEJyt4uJT20O9PnnxA6BAEsRhKMQwM6vrWl+tTF?= =?us-ascii?Q?HIWMdlvEgFPxhZPY1aEMn5FawzsNKgQ4eaMEoM9JC+bwBuWqSbe4d1jXP/EL?= =?us-ascii?Q?J3HZw9OHbofBnOdcWyN0xJfwR6GP9/ywQwvuo8PbJKzJXYZJATY8+r0V5sYo?= =?us-ascii?Q?7Hktb9Kbxh8mDKd/jNXGeDYJWRHaGvGyKkjG+dnH7xVce+iomIcIYOEpBqZf?= =?us-ascii?Q?AaPZ/8TJTyyWZWPKb+CJT+KR2jD5bRHA7Bjeqmsf5D9ygO6jcR88bMRLDbG+?= =?us-ascii?Q?kLyruuIDXRRI8I4oF1/MwljmjElr7teq+skLo/1d1m3VeKn6a3SS0TR1PkT8?= =?us-ascii?Q?DSsQWqb+QgcY/2CAHOrcwsxa3QJs656VCW4M1vv0+5QymEMzfR6QOVzDz5ro?= =?us-ascii?Q?SwmTKjYa36g=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR12MB9620.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jGUiIrFnajBQLjvUPxvRqNhKBQrRA78KfbUy3eG178kZjgNvH2UyKqfHpIsN?= =?us-ascii?Q?CklEjaMdiyk8H5g3H0k7OiZu22UTNughmB97nY20BirgavjuhbCycrSYnGp5?= =?us-ascii?Q?npxyv0ney71UhAevgrfxETOlKvPqq8IswjwFWM0t/5kBoxAhIvVeefljoeEU?= =?us-ascii?Q?A8H+oDKOzpj69n96kgSYBtiPORHu870i/QMhnKrqnqqfDD179sVWF6BSzg1x?= =?us-ascii?Q?iDl/H1GIqswit/zj/fa1DnrWn9wyz8wVus2LmeWKWEvHm1L9JW4bzsMXOY0b?= =?us-ascii?Q?1O3K9jPxkHS32DMi63N8QaHTacvY/LCj4jlDK8H7fOXy2QNNij2FuaE+Kff7?= =?us-ascii?Q?rTvsHLDgNP7a7pZooPEqvo3zcxt5pipc9tnLYmq8/8mtqtTHlfOr/tf0MXrq?= =?us-ascii?Q?zBM/HoRh0qFDly6n9GRH/mUgsiunng0W/VxURnf9ZC4tXmPdMv0oaN7I65iN?= =?us-ascii?Q?nxVUDhWkDpnp8+g1hFqrhupDBP2JUjbLOog0tBCLffcCKchO9GCTAKv5hnKL?= =?us-ascii?Q?R2hhm8vULe8raLNWc0kl2DyVEsSAo75bVtlaGL5Zt3R9LqnqYI1PSe2zPpR9?= =?us-ascii?Q?PDlcciDVX5VEKHAPfQU5MGnUiqOCQAQmorKuD5mZt62VLrpGUFZodg+9PJYp?= =?us-ascii?Q?3Ev6zfrMkjcwEIgmXwaESPv3Yc43yz8AGL8KRB3ANYqhmUHSVBUgAkcVkceq?= =?us-ascii?Q?6hiQnLo5sWL0l7i+34+OpUKYsvud18cBJPFY46WwqlTAle01+mJPG+STrN/s?= =?us-ascii?Q?nus9YVZ99AOIPFFna0X2rX1F/gm0NQ1cEu4d2GUtLxxqotDqUTUYMADb+8TQ?= =?us-ascii?Q?3OCb5/FZd36xsGFtc4WwtJ6ZDFCxGX42SlUy1SS7ETygRt0kIKZECM+5GL4u?= =?us-ascii?Q?HmD8YEZyhsu/nbIExE0bDfHZ+vR5zjNeAWOM6AE/qTTIAGnaaz7mjdVxt5g0?= =?us-ascii?Q?/OXHWzvob0FgbAHjsiQ7FswZJfkJEcnEtQRnxh4aQd9MnePFZ9Ptboe3Rn5F?= =?us-ascii?Q?6kBvTKSDolrrI+K2MrusgFFWYifEhRiHoxgoAuFD9HGTXg+0qdRljCtcx+Pr?= =?us-ascii?Q?CiqngqQwJVKlD5giARa2Pn2CVL9OAne2wcaOqK31r7+74NR+5b/H56p0IN7p?= =?us-ascii?Q?/9uP7ySgL8SUZ7i+7u9IuTMyibxprUE+tL9/3QqCDDnn+0eww6UCP2jfIQGs?= =?us-ascii?Q?8rPK4juwWH/EQaWPZsMYzCV1TeaYcpQXMtD7rFPVtODO7ZWOPYBIPqJd/v+1?= =?us-ascii?Q?RORS2VkhsSL7lWWud7fq8pHhd9nlItRDbMZUcFuLvg/rAKziMT4KTWw/+SNq?= =?us-ascii?Q?y0QBk3nm6y0Aftet8sPQcj11XgTySXi46zByWyCTcAl0AscnMaIEHeL+VCnF?= =?us-ascii?Q?fhjxvEeNjtHVlxsTXPj6wdwGSDLCfUrr448gtnLaGZPOgJpgnsVSuvsLkOTT?= =?us-ascii?Q?UqBTMdhAv/lXV9ShcecBa75jchsN6QQ+8PuqbmQ/2kBtaQrH913mXgHzyT6f?= =?us-ascii?Q?eAaxYzzf5Tscz79Oa/kWL2YD+WMpwgVPhzbVJSzPXzb1F9NWXC4l9ZMlidVR?= =?us-ascii?Q?z7UNlO43xaUK1Yk2zaA8mnkngLXvZ2S0RzLYiiC5?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1cfbfe85-f4d5-4c7d-7153-08dda6cdc761 X-MS-Exchange-CrossTenant-AuthSource: LV8PR12MB9620.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2025 20:48:10.0897 (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: 4V0NNf8joYp8vVtZue20exxfXVxv6ZKBidFPeEwnGKJmYVLQsU9YOd8MYk0BhZ6bBMkQvdCMkkh4AnKoBulhiA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9255 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: VJO5IJINGWIYKCNWC5ZPLMIORBFJA4ZM X-Message-ID-Hash: VJO5IJINGWIYKCNWC5ZPLMIORBFJA4ZM X-MailFrom: arighi@nvidia.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Andrea Righi via Devel Reply-To: Andrea Righi X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1749415926413116600 Content-Type: text/plain; charset="utf-8" Add support to the qemu driver to generate the proper command line for the acpi-generic-initiator definitions. Signed-off-by: Andrea Righi --- src/qemu/qemu_command.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 79cfe60b09..cedcb7e5a5 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -10387,6 +10387,29 @@ qemuBuildPstoreCommandLine(virCommand *cmd, return 0; } =20 +static int +qemuBuildAcpiInitiatorCommandLine(virCommand *cmd, + const virDomainAcpiInitiatorDef *acpiini= tiator, + virQEMUCaps *qemuCaps) +{ + g_autoptr(virJSONValue) props =3D NULL; + + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_ACPI_GENERIC_INITIATOR)) + return -1; + + if (virJSONValueObjectAdd(&props, + "s:qom-type", "acpi-generic-initiator", + "s:id", acpiinitiator->info.alias, + "s:pci-dev", acpiinitiator->pciDev, + "i:node", acpiinitiator->numaNode, + NULL) < 0) + return -1; + + if (qemuBuildObjectCommandlineFromJSON(cmd, props) < 0) + return -1; + + return 0; +} =20 static int qemuBuildAsyncTeardownCommandLine(virCommand *cmd, @@ -10741,6 +10764,11 @@ qemuBuildCommandLine(virDomainObj *vm, qemuBuildPstoreCommandLine(cmd, def, def->pstore, qemuCaps) < 0) return NULL; =20 + for (i =3D 0; i < def->nacpiinitiator; i++) { + if (qemuBuildAcpiInitiatorCommandLine(cmd, def->acpiinitiator[i], = qemuCaps) < 0) + return NULL; + } + if (qemuBuildAsyncTeardownCommandLine(cmd, def, qemuCaps) < 0) return NULL; =20 --=20 2.49.0 From nobody Tue Sep 9 19:05:57 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; 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 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (BodyHash is different from the expected one); dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1749415964071287.1205654596546; Sun, 8 Jun 2025 13:52:44 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id EABFE14E5; Sun, 8 Jun 2025 16:52:42 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 6EC30152B; Sun, 8 Jun 2025 16:48:43 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 2BD4A1599; Sun, 8 Jun 2025 16:48:38 -0400 (EDT) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2087.outbound.protection.outlook.com [40.107.94.87]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 791CB15F5 for ; Sun, 8 Jun 2025 16:48:17 -0400 (EDT) Received: from LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) by PH7PR12MB9255.namprd12.prod.outlook.com (2603:10b6:510:30c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Sun, 8 Jun 2025 20:48:13 +0000 Received: from LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::1b59:c8a2:4c00:8a2c]) by LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::1b59:c8a2:4c00:8a2c%5]) with mapi id 15.20.8792.039; Sun, 8 Jun 2025 20:48:13 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FORGED_SPF_HELO,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.4 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oVyskuJQxvAqSLedqrqSy2nhyZBgQGnGc+gPkA5sYWMV8ON1JQtsUeYSlD4vq3LCIIi2HzTjXW7B59/aFSbV6f5cjVvtjL2UBl+fQr28cAYxOK8uXyZvHt/394iozZGu0umJc/t4BHZlh095+9mEuq9WEyBZ6jbk0Apukf8CfntMsqTbq0liz0SPP7VNP/jAWCxR2llfV2IrZHMYvV4xdsqGumE4Ksuz9jmMYUCjw2OxZDCi5jQSpK8rro/PhI8D1/siq+JbIj0xj7G4kEoDP+lpCoNbEbIdUKF12hQ/5dWMl8utN8bTMk6+tPv9XMAHDaD6+/dcKFHq44B5CA2yWQ== 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=a/pxnrEZub6MvQA6rdyHGnKyS9tBBO6YkO6BcJ29bZ0=; b=VFGn0YO+Ar++F362BKqsz5W6V7xciF12Uc1x/Tac2HLlO6XstvsTujRThhQEy3lh1aT8tqeBvbc3GzaxagsHlxvTFm1rHBsf9WmmKlrRc6dCwASZMgNKLZOgcThZ4+W6NLzMxaOwiHBd7DjhZn0C/PXD5G1eFgXmsUZeD3fimxq9Avizoc9ktQ+H5vaMc5HR0luPJZyd/12r0nTEs+/Abv4v7B+huuU2WcKyIMXTHUkQIJj7st7yBFeCUKApygJ82IxEV5UmchEXhC6MGfU2sA/B5jrUk55fyWPo+WpcIUNNlDKJfYcCOuSIXkUzeh+3QmIJm/tF7s7sArypkywFMg== 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=a/pxnrEZub6MvQA6rdyHGnKyS9tBBO6YkO6BcJ29bZ0=; b=tHzrW5xCSa7lh+jowCISykAoyE3Y1V6j3MCmN+mY7lVCvDzOOqwbFoe3UwZAaIe71TG6U5AIQilRsFZhSgNLAVOT20SJdNqm7ho1F21B77sHli9AkkMHq4FZBHTWOJeX6pXbiKn/Vrb0wjBGhrDDkLfZjuU74DP6b1OhEh7Z1JSQM6vT8BY7B2ONP2NWkAUrRSEpK8T+4BjjInkCT1rlxEySMQWMsJtlQLQXyYWbbCYzZmjI5CqU9gOHMaf5/FUBgq2vGk4UGaOPK8y7P50RfrW3lgxoI9cOlA2kjZOm0qwgdPwg+W956uZT/gkJ0905iUlg3M85cwvNZJPS7ynOvQ== 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 6/8] qemu: Add test case for acpi-generic-initiator Date: Sun, 8 Jun 2025 22:44:14 +0200 Message-ID: <20250608204744.518118-7-arighi@nvidia.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250608204744.518118-1-arighi@nvidia.com> References: <20250608204744.518118-1-arighi@nvidia.com> X-ClientProxiedBy: MI0P293CA0004.ITAP293.PROD.OUTLOOK.COM (2603:10a6:290:44::15) To LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR12MB9620:EE_|PH7PR12MB9255:EE_ X-MS-Office365-Filtering-Correlation-Id: f0496d32-2ebe-497e-6b46-08dda6cdc923 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?AMMVvBDJ70V9iH0dZB8m61xNh0W0tf0OCdCibtl8uwVP6fWBPiu11uQsXz32?= =?us-ascii?Q?CcFmRZ5m6b1enV/0o/C2h4Ek1ssp6pvN4Ygld4RdC/VeSolZjdGjs6oLve8C?= =?us-ascii?Q?dAFTCe4ob+poMXknXwI8ZshkjILJB9GKQi6K3ebfAl6icKGxuDjEIeKVXLNT?= =?us-ascii?Q?duC2yylSbArvpP90NAxPDY/Mf+/wasZDN5uaj/1ylhkTS+npTGyTeIZ6GU2G?= =?us-ascii?Q?I3Uc8i37iwhaOMg6AjKumblXuyg7za3O/8lXoSykr27gdD2Z+Vf1hkhoDjZh?= =?us-ascii?Q?tBKHAg892zCV/Y2OQagGjwtmizWyzg7zMcF3gXF71IzjrZ7lkYGbldH7rCJO?= =?us-ascii?Q?TqaoO3kZWvl7tVkF98GdtIpEemj4N23x9QUhSjrVpFeFG/LIKv6XPfVDrDVH?= =?us-ascii?Q?uxpPtd4woPVoNMabfAApxZi8b/5pnPQCCV3aiX2JXpRRO0gwJXsl6Gt980Fn?= =?us-ascii?Q?GJKVzPBg7DCDwLlTZo8WkmX1sn3dXBbBZoy2KTuVlIjQb5WYvOK7Fw4LSO8R?= =?us-ascii?Q?eJLdup7ZRALPKzOh4aI1Ds2l59OTyRyibTPM0ET1nO4thqMwJS5LLi0BdC3l?= =?us-ascii?Q?En1I7ab0xOJ/HP1Y6EFzZ8HppUTAcHcb3vxQaXh8PcMoncLf3j6vG6O0BRX3?= =?us-ascii?Q?jXilDW+glBIni4G0mGDAwd0hgwn166rLllk/I9jziKnx1Z0lNMfTqcsfbxhw?= =?us-ascii?Q?WvhK3xWfL8PopY45JZzXBZZ5X9ENgmgrsN2ei8Vvfyuz7eUNdf0kGidrJbQt?= =?us-ascii?Q?NxRpiRybrwGqG4VksOFNQXT7seK+BmX4pcNwPFWEbezN8XTweuK8QtkZDkrw?= =?us-ascii?Q?2SyR2xcIiwZG01NTm5J1pJDtzHGuJ55Eqo+5Lz2zE3ZYHPVckrOZbKC3Fryt?= =?us-ascii?Q?dvbjXHV+9p15FltyszD6QpDI1uy3Z++Yj3pdHo2ufeSo+jVVi7IHlrnKL0Ik?= =?us-ascii?Q?6R5oQ7FA4gpk8CQsD40oLOfBn8zkocBz6C29DsyF6Cvp85L1NE0Ab5IcN76A?= =?us-ascii?Q?Jqoz+eco6j2wYG1zf5sVztCzXEWO5VvJRjmXD+q1ezK7J1C69F3lEA73gyFs?= =?us-ascii?Q?9AM7jRghuz9xjGBDaN7Qdwxv1KhJuaXr1d1JTMzV0XENRSXM8ffeZh7tfVGl?= =?us-ascii?Q?LU6F2sq8/XkhmTuBKG00Y7M3hvJ9Bhu3vynAE3iTJkz53Yi38ZCX7D3+EouM?= =?us-ascii?Q?It/fHzdWlPSL197r4AE+lJmHvAIooDN0t68qwUe1g4rAgANRlamCPHqTpHG6?= =?us-ascii?Q?kGO+7N6TvfxR5Mxto3wqg5Smq8WvCpvXfOugwGtQrXVRXvqESHobrfRNKuvK?= =?us-ascii?Q?0AJHXROPhs8yQes9/JA4rAfUDRP0u+ryWF3CF51CW0VSw5Gq+JPlZ317bIlt?= =?us-ascii?Q?38QDDiFiB4naa2RXUQjcxqfNxECBnq6qLaNire+6QhvxKDchYU6RqIyUShuw?= =?us-ascii?Q?nPwRhrG6FYA=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR12MB9620.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?S2nyr5bttX5vUYfOpXzzhDTD613CSAlX8eNfxr29+OyIKMYzHXA9M3BnZAZz?= =?us-ascii?Q?N+NjXqFn1lL63NpPgy5Fl6MdHtasDY5vDfPG+0s6CawAfmFK59xHdMAb7DVU?= =?us-ascii?Q?NoSN7mngzKPl9+jgdjX06eRJrG18JBmyb1pInp54S8H0GYV2dTF88rfm2o99?= =?us-ascii?Q?FenqKnBYiX/ZrmS1tZgKAdXALYpty6uaHOlhS1LoTEA3qKDQ5SFsbuI4a73z?= =?us-ascii?Q?oHHESk/Z4AOdklgDYUQYRZUKK7mYhIj3WBXjDs6hoRUBk0tE3YAtNDyloC9h?= =?us-ascii?Q?ZEQh18ZmXVk1KceU5lFD3UY3zMuDXdChy9ETQ6iwJ3Xs7A9Crz4vTio/0FrB?= =?us-ascii?Q?+O7V3Qz4t9CuMfl3nyS/EL2MsFQlUYo3jw7JNMUY86+Hiwz3N3RuMv2KlTPh?= =?us-ascii?Q?45RSO5j2oTFC4rQPw8sD9WPA1dH/NGBiZyuRrmYZDHyxAjNkxPoqQXV4r2kS?= =?us-ascii?Q?HHgREHRN8XcB5SN/r+iTShItbKRe4GBGlqAbLG9/HxrMkRUCr6f11VEi4k/m?= =?us-ascii?Q?jXtjIDGyl3coG94hF0ro3T3BTBaiYe1YuYD+XNN+n9ZmtOkt++HlpyqBVY0K?= =?us-ascii?Q?u7KyU9v6bXewsAIOqk323jJNQRWF+3h2t1XFWfEf2W8ml06RXZGsxY30Wlka?= =?us-ascii?Q?X0AgKVgf8V2hi5uDzF/e0BoKpAmPvpXE3d4ETC8Pm/bA/8I5t4ybnqbJXMg6?= =?us-ascii?Q?lmbwyPTu93Kr6xemxGM0+nNCGW6BlJJgf/yYxyUrLmRUj+AW2AMg3kStKZMU?= =?us-ascii?Q?uKT9xsRFd3eeXRJ7HYxVdBaKWZG5SvM1xdE4Imi6QiUHCEgwQK8kDk5V6368?= =?us-ascii?Q?motlEz5dlY7H+6NyoLbYMtrjydB7P9emr8y4/g0MQAFNXa73+h8HjQdIpOwr?= =?us-ascii?Q?IWT8NFwrNsOdRJ06+Vk3TeiCaby87yaqZ8iwBUvKe9w08SL7IFdoH6Z1Dmn2?= =?us-ascii?Q?Gg4lmzNJUhG5GnTeiBEV6dM6L2aqKa/9a2ffvbsE493Kt0Su0eLF03qGXMVq?= =?us-ascii?Q?bEWn/mpwQh6/soYuYJ+//f9EI5vOyKPHOWXjd3TTz5fmc/7lcbZHgDvJsj2u?= =?us-ascii?Q?6v74+OSgsh+W12qnN5eu3/my8NcPs8Jp57HjNO9TwZkH60oAOr7kHwpx6moX?= =?us-ascii?Q?+eSMwG+dUN8owLrwPEiKfLD4ceCLhmOT4XIJKnezVczRTgNWRntNuiDBip4O?= =?us-ascii?Q?9v6viYe8j26Jfr4l2ZwhwuMcJK1VFqVxNA1kwNXqMNcTfxvZarqLiLMGoThZ?= =?us-ascii?Q?MpLONGYITQ1n53M9yQaUmjP0vl7ZdLgJUZ8XNZ14vBiN43AHIhBzHXtr63/e?= =?us-ascii?Q?wamI0OTk+qO2VPS5ZDljEltka+e5iqSv+Q4zY2NcVkVtyE8d3RffVqnm3hKF?= =?us-ascii?Q?+WLlJ8nAxxD50HnE+9zE2ZNUWMdrP3jgcL7oaAY9qxIi5Z9oRl4mshVGPtbO?= =?us-ascii?Q?++7CxvDP1Fx9hrRfeUlGJaBoxlmr/dQr98Y4axNxswNZgbLeYU64IggRmwkh?= =?us-ascii?Q?Gw9ta6hVjAXC4DyaTMKrZPbVoWbVoHEpiTc0amZs5sgy6HOo9YzDyvMzSzZK?= =?us-ascii?Q?k+VbGRzCGB0H7vi5NjnLRQ9rpo9OwrNIqniIvxau?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: f0496d32-2ebe-497e-6b46-08dda6cdc923 X-MS-Exchange-CrossTenant-AuthSource: LV8PR12MB9620.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2025 20:48:13.2013 (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: xSNt1Y9Sz35IoA5poM2IVJc88CqmA1SXj06hanrkhUB5UipI4UWcrzhwpD9qxmH6eJunqA8PdMqPnM2duM10MA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9255 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: GIF6RGMNVZTWWISMIU5X4NNXFAE5KY2H X-Message-ID-Hash: GIF6RGMNVZTWWISMIU5X4NNXFAE5KY2H X-MailFrom: arighi@nvidia.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Andrea Righi via Devel Reply-To: Andrea Righi X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1749415964928116600 Content-Type: text/plain; charset="utf-8" Implement a sub-test in qemuxmlconftest that uses acpi-generic-initiator to link a PCI device with multiple NUMA node definitions (without any memory/cpu resource assigned). Then translate the VM definition to the corresponding qemu command line that associates the hostdev with the NUMA nodes. Signed-off-by: Andrea Righi --- .../acpi-generic-initiator.x86_64-latest.args | 55 +++++++++++ .../acpi-generic-initiator.x86_64-latest.xml | 94 +++++++++++++++++++ .../acpi-generic-initiator.xml | 94 +++++++++++++++++++ tests/qemuxmlconftest.c | 1 + 4 files changed, 244 insertions(+) create mode 100644 tests/qemuxmlconfdata/acpi-generic-initiator.x86_64-lat= est.args create mode 100644 tests/qemuxmlconfdata/acpi-generic-initiator.x86_64-lat= est.xml create mode 100644 tests/qemuxmlconfdata/acpi-generic-initiator.xml diff --git a/tests/qemuxmlconfdata/acpi-generic-initiator.x86_64-latest.arg= s b/tests/qemuxmlconfdata/acpi-generic-initiator.x86_64-latest.args new file mode 100644 index 0000000000..366b696435 --- /dev/null +++ b/tests/qemuxmlconfdata/acpi-generic-initiator.x86_64-latest.args @@ -0,0 +1,55 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/var/lib/libvirt/qemu/domain--1-QEMUGuest2 \ +USER=3Dtest \ +LOGNAME=3Dtest \ +XDG_DATA_HOME=3D/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.local/share \ +XDG_CACHE_HOME=3D/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.cache \ +XDG_CONFIG_HOME=3D/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=3DQEMUGuest2,debug-threads=3Don \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/va= r/lib/libvirt/qemu/domain--1-QEMUGuest2/master-key.aes"}' \ +-machine q35,usb=3Doff,dump-guest-core=3Doff,acpi=3Doff \ +-accel tcg \ +-cpu qemu64 \ +-m size=3D8388608k \ +-overcommit mem-lock=3Doff \ +-smp 16,sockets=3D16,cores=3D1,threads=3D1 \ +-object '{"qom-type":"memory-backend-ram","id":"ram-node0","size":85899345= 92}' \ +-numa node,nodeid=3D0,cpus=3D0-15,memdev=3Dram-node0 \ +-numa node,nodeid=3D1 \ +-numa node,nodeid=3D2 \ +-numa node,nodeid=3D3 \ +-numa node,nodeid=3D4 \ +-numa node,nodeid=3D5 \ +-numa node,nodeid=3D6 \ +-numa node,nodeid=3D7 \ +-numa node,nodeid=3D8 \ +-uuid c7a5fdbd-edaf-9466-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,fd=3D1729,server=3Don,wait=3Doff \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \ +-rtc base=3Dutc \ +-no-shutdown \ +-boot strict=3Don \ +-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus= ":"pcie.0","multifunction":true,"addr":"0x1"}' \ +-device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus= ":"pcie.0","addr":"0x1.0x1"}' \ +-device '{"driver":"qemu-xhci","id":"usb","bus":"pci.1","addr":"0x0"}' \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-global ICH9-LPC.noreboot=3Doff \ +-watchdog-action reset \ +-device '{"driver":"vfio-pci","host":"0000:06:12.1","id":"hostdev0","bus":= "pcie.0","addr":"0x2"}' \ +-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pcie.0","ad= dr":"0x6"}' \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-object '{"qom-type":"acpi-generic-initiator","id":"gi0","pci-dev":"hostde= v0","node":1}' \ +-object '{"qom-type":"acpi-generic-initiator","id":"gi1","pci-dev":"hostde= v0","node":2}' \ +-object '{"qom-type":"acpi-generic-initiator","id":"gi2","pci-dev":"hostde= v0","node":3}' \ +-object '{"qom-type":"acpi-generic-initiator","id":"gi3","pci-dev":"hostde= v0","node":4}' \ +-object '{"qom-type":"acpi-generic-initiator","id":"gi4","pci-dev":"hostde= v0","node":5}' \ +-object '{"qom-type":"acpi-generic-initiator","id":"gi5","pci-dev":"hostde= v0","node":6}' \ +-object '{"qom-type":"acpi-generic-initiator","id":"gi6","pci-dev":"hostde= v0","node":7}' \ +-object '{"qom-type":"acpi-generic-initiator","id":"gi7","pci-dev":"hostde= v0","node":8}' \ +-msg timestamp=3Don diff --git a/tests/qemuxmlconfdata/acpi-generic-initiator.x86_64-latest.xml= b/tests/qemuxmlconfdata/acpi-generic-initiator.x86_64-latest.xml new file mode 100644 index 0000000000..6a5485f191 --- /dev/null +++ b/tests/qemuxmlconfdata/acpi-generic-initiator.x86_64-latest.xml @@ -0,0 +1,94 @@ + + QEMUGuest2 + c7a5fdbd-edaf-9466-926a-d65c16db1809 + 219100 + 219100 + 16 + + hvm + + + + qemu64 + + + + + + + + + + + + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + + + + +
+ + + + +
+ + +
+ + +
+ + + +