From nobody Tue Sep 9 23:43:08 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