From nobody Wed Mar 12 17:11:56 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 174099059761855.102672737996386; Mon, 3 Mar 2025 00:29:57 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id EBB6C143C; Mon, 3 Mar 2025 03:29:56 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 68709140C; Mon, 3 Mar 2025 03:28:51 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 323FA14E8; Fri, 28 Feb 2025 18:00:41 -0500 (EST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2060.outbound.protection.outlook.com [40.107.93.60]) (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 9461E14DC for ; Fri, 28 Feb 2025 18:00:39 -0500 (EST) Received: from MW6PR12MB8897.namprd12.prod.outlook.com (2603:10b6:303:24a::19) by PH7PR12MB6936.namprd12.prod.outlook.com (2603:10b6:510:1ba::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.23; Fri, 28 Feb 2025 23:00:34 +0000 Received: from MW6PR12MB8897.namprd12.prod.outlook.com ([fe80::7c55:5a45:be80:e971]) by MW6PR12MB8897.namprd12.prod.outlook.com ([fe80::7c55:5a45:be80:e971%4]) with mapi id 15.20.8489.021; Fri, 28 Feb 2025 23:00:34 +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.7 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FORGED_SPF_HELO,MAILING_LIST_MULTI,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=xcBM3XxsDJpba3weB+lL9MBndezteioUF0PLlaqIquiKupvRfdYZPHsXX9rF3c10649OycPLgeIzDHr9+CQtPIkPTT80jqBxaxJyNIgCr72uWYDPDYgJ/48t5xoExtIIQSuEMImoF3eY7neraBK6BvwwTb7vVK3yyxbqresCrZBLvRDzQAx60wyIWDcXl2D3A7T5JhdMhXBtD7XIfXcyLzoSQT6a+nZ79iBNrYrO/NS+Md02BYJJe/x1SZRnsK/7wRAqZbvQEm1XpBnbc5lGmGbKBATpLpuSAQ2dVK+70qIbpmMh304VbbinyJM3cZ4+oH53/o/j7o3Bql75j/dyEQ== 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=wC0pntShTf0YBtDB1hllFbIOkd+mOXsoUohWR7htDzM=; b=JHvo3JzUGkzhm20I8rQc9Cb92ep2TpNnuFNs2Wf3SMw8NtfmwuRASmE2Cx/2kBzvGHzZ/toKh4GZTNLEQUS2G40vusk/ZEm3Bcegn1xtolG9YMBZdHIhrio8YfXRfc9ZbDtnDY386e7x0SFLF6gQXeRJfNKRAb4qMV3b0dft4SOOmUMIAGGHMGBqbRjtMEi5gjLwVUSojq/TJuH5gYhkl9rYONRW3Wf8oxXUrmSMt2rRNxw1mUgG6smhHP+cHIvCVPGz66xzRXaLYcIHOQy2xOytrUlKWQpaIPzKJfXy7cBbsZQ+6XYiUTtgw3oQn6cWg2Ts5exPdCJOSZ3plf9i6g== 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=wC0pntShTf0YBtDB1hllFbIOkd+mOXsoUohWR7htDzM=; b=S6enm6I1N6dLExNWmrdR73sDFffn4Bs/aMXnQUkvvI+/o/ag2HdZhTbkyHek6gzOaMTpo+RjrlSG9nbBuo2ZaTttWdMbj1GMtMoaoMgTlep/x8pAKFQdYuhTDN49iAJOKnE9AKxPTZw61WbEDXfbUtyAw5Cb+exMh4L1g+FoV3YTgY+QsuBnAtD5WKJt4vfgc8f25qdvvSW9Yk7zsgIPcWJ++/9R3Kk75ydKx6icZsAaiV8b/25xAKwUQ5WG4gnTyLurVWLySAWKINPnNDYbVv1vJoIhv4uJmSuTyg8t5LQyQzAIf9tdBueuy7DOEhNmSzVrwIJOXXHyjnDEFYp8fw== 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/6] domain: Add PCI configuration feature infrastructure Date: Fri, 28 Feb 2025 15:00:34 -0800 Message-ID: <20250228230034.3216499-1-mochs@nvidia.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20250228225934.3213582-1-mochs@nvidia.com> References: <20250228225934.3213582-1-mochs@nvidia.com> X-NVConfidentiality: public X-ClientProxiedBy: SJ0PR05CA0041.namprd05.prod.outlook.com (2603:10b6:a03:33f::16) To MW6PR12MB8897.namprd12.prod.outlook.com (2603:10b6:303:24a::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MW6PR12MB8897:EE_|PH7PR12MB6936:EE_ X-MS-Office365-Filtering-Correlation-Id: 469b316f-cd86-460e-d3f8-08dd584bb56a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?WKQH5SQVRi1rw6MaDSHrJTMjZKu9o9aEMVr/5g5xrvGxqSV11EKPWs/QoAsu?= =?us-ascii?Q?nbT5ZbBpEDNbJ5BaQOxfqdveeLTv7wUtC6vgk5LXtXeeiLQydNwfEvMJ938I?= =?us-ascii?Q?bS0gBUgp+rjA8s/w1WG8MmyvznkzfKvhcADqLGNb5xq9lAXBvByo+Zm3utqs?= =?us-ascii?Q?9GZxbjWAEltyoQ6UDawirMYNcKJWIad73XY8LPutKWjyBxte3BuX3AAuK2mc?= =?us-ascii?Q?XcJCzdobBQpRsNRR6S7xfttD05XwX39K4J4n/nBvMAwPbAUrDUKNFvB9qAZh?= =?us-ascii?Q?oRjSOhtZdq5rY9heBjnslWGQMpz8bAhrBDZ4jlEjMrBdqcdXBXprv3M6rYbK?= =?us-ascii?Q?4uFxgR1JXQSMrI/atErMBnI/UMJTmpgtHx9lKTXW6zweYNtrIAlAL3fjKgfl?= =?us-ascii?Q?E04J+Fym/TOf0gVIyYFdwqVQVa+4HO8n3n5aHYBposP8zVojYNN0FHYtQNTq?= =?us-ascii?Q?TnevMftmtXjgizTBVWAZ+42CjDURiLAEJwV6GgxbR84pyfveYxvhutn5IufD?= =?us-ascii?Q?N4zsoippMZBFYw4STtmA+1sr1ZoJGZ3txslIleQ/0CoRlh8z6kNLgvkUqdzJ?= =?us-ascii?Q?StTSCbl5i6IEnna90EwcEQROBnkFdwzqXNyAlP6sDUFAQE1kBvQMblzTyzE9?= =?us-ascii?Q?AzWKGJYkubTE7TtB2Y7oSY2fnu9beWVOCKrIu4FOG9kTzXIIz4uE0a+6zWpB?= =?us-ascii?Q?B+VnCSeG2zTsLcEPvEqXs0lokVr6zZKYSafxCFwke0PH/A37THjfaZPE3cMb?= =?us-ascii?Q?j95wRIBYNDhiSqDPozkmVrZbZ+eURE85ZDVCA0/By/kxipAiasjwkceD6Lsc?= =?us-ascii?Q?65RGG/GfoH/7cjWeaMe/4pOz46aMdVkhCmfhO7r8Ug97wapq8AKOjLOvab0A?= =?us-ascii?Q?426QCC7kXrc0Jfm8JWqk92xFoq/MeO1qeVWq2AKuY1f0lcc6j6hX29mYL8xz?= =?us-ascii?Q?1nOHGXtWhMp0hkvg/lV/IW47ddDYJmCAqA8PwVQsq4hVg2IKrpbPFQRIAJXJ?= =?us-ascii?Q?QTGVNOs472HYbbXNmqD8xDtFUu3wgDgHJeVAce+4mlNpfaCzAwSe+vHQfbh8?= =?us-ascii?Q?6RtRa5McKGVylV9woq9Yn5JMzrbgE7PlwsIFMtcOMA2BwvqUKhPewfAh8LPo?= =?us-ascii?Q?HfBK/Su1D0AUZAGOv5UiAwCMEexZGR72UVT+xpdWCiQoULN/Y5lCeroEaQyZ?= =?us-ascii?Q?dso+0GraSKC8e3EMTifULngDIZ4rzyk2WQNhR4TAe2kUnQaN3kzhN0Oksbls?= =?us-ascii?Q?M02aPcYS9eQZ9RxPk6BSk9sxboifnkr0Z32wDEgs5CKOPmRjbK2oR0w4YCr/?= =?us-ascii?Q?V8Cr9k91yG1j0xXgdb0Z2l/QCFWcVXvVu0wox+mmHKgnrsDIx7euTX+kid4Y?= =?us-ascii?Q?xj5My2/dMc0IqqZ89SImy6LhWw13?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW6PR12MB8897.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?1SrPUGcHGGyk2kfUz0IHgmLA+IUdnjN4ZMVrQ2/dWGB3tf2C28w7pqbKRVF9?= =?us-ascii?Q?ds7CYMjVV4uAvqo8tqaWHhtSMgVeru6YOMLMnLKHif9AYlN1bQwqbhVhWYvq?= =?us-ascii?Q?Eu4cddpZmGrcxprmux6CVHOLGMKvKtzVqy4Plav/Lhvwv51pwh8KmS48idWM?= =?us-ascii?Q?7sxvm1dFkMcPwbaT/0f7AI8dt7kzkVBGPYVvGMLnhi6M0Kd6/b71JeL/6tFq?= =?us-ascii?Q?9MBTOOfQHL0zLz42ROy+nbdxbLEsFnpiidvfd4Npsjl0G5tIBiH9qU4kziGL?= =?us-ascii?Q?ooufpHnTc0xMsuybTZ64Utnp5rjdxsbbF4ncKWl0Mo81mVe8i5XSAqVGsyYZ?= =?us-ascii?Q?HCBE3MIF/BDblfNybBJ3p3FpvV2dymINoiXCJh/Jq9T6bO0iPXbT34Wq4NgL?= =?us-ascii?Q?s2Fnaxn+yvLx2XzOE1sZCo1OIrH2x1Y8F4lj/5ZKsSuvuDgFTeUEBDoSwPxi?= =?us-ascii?Q?9KJ6IR5v1j4gTRYO2Vu4KqqDbucAQUmY3G3eU1PAWDn6UA+I4EfqjJ3Qkaq0?= =?us-ascii?Q?tdnoP3WOc8tMk6YAJ2jW+FJsNYIRQimBvJFnP6/7cw9/vfeIJzxV0RRD0txV?= =?us-ascii?Q?fxBq6dbBiI2X4i2H0s79muKAuEmJY5/59dWF5/W+FcizfPCFAdNnHgyGgYq2?= =?us-ascii?Q?F5eX6SZQZx3Gu0C4JsIjGTYYyXsvNxVgutfP+EuYczu5Fd5OM06ChAvTvegX?= =?us-ascii?Q?DjdpaWpPNxd+QG7TSSkhxrPPinJgWhC8ZFkPaFlrlplyZacAIGD8jO51OJhB?= =?us-ascii?Q?ew4DHpLel75m823mEWOtig3rUv3HYuZQER2+MOoFOk9YKIPjyrtzbDo+EtN/?= =?us-ascii?Q?nZNUYWAaqwYqNvGvMQr8ZwytU0EB52DBOGqv9U3JiwD7EpDclYSb9MGlBrtf?= =?us-ascii?Q?owE0XSlEO1Q9rYhRwsIQYSv974OG6BUqDwfTAHSz0DAGPSTbLSr33iiZ/PDa?= =?us-ascii?Q?8ffv7+cXuBK/Z60NH+qYPLwYz4+HxIuXKuDNl0Lf2zOsGr9a0Sk0pwqfoJm2?= =?us-ascii?Q?eBebFIQf9G8SGZ3n1y2svSTITCT3dn8yc4NDPoo6EnAXEIMmf+zmucRi2N9K?= =?us-ascii?Q?KecOqXUsErrmmHByEEg8XcjGpzKVVQzCentyaBxqbLHSFvWqUyBzri03RgzS?= =?us-ascii?Q?k9BZHqir4MiJ15UTBKlvziR31tPf4Vx8dnVPFsxqcM9UOPC1QPQWaRZZuWg6?= =?us-ascii?Q?4iwGxYaVq7q0W+aVNbPXu8OlXEN0zfLOhjW7k1QP6td1xcN+1tJSKHX28g5b?= =?us-ascii?Q?F1DlBCzk+t/VNSo4QTfdF5n6R5zcbr7MFHrASVCS5pC7iV/sxSrxc0lGyxk/?= =?us-ascii?Q?F9aGZK1C7Zi+Dy4CenpfRDpVUpxPXrasHuy4XKYfPFv0ClKhaJ6o5Q2a/28A?= =?us-ascii?Q?HWdJkx9Ui19RARBx5KefxUwweLlS64f8vpmGa6DdMZWKyukHBgpg1o5mbJBx?= =?us-ascii?Q?+lhstp4zWhsLauOMnr48ClE+w83hxLOC3InniPjPM2Wup8ktpoQK7VooFrTm?= =?us-ascii?Q?VYXwfsbBcqtvCmXBq/ZlGFFPMZLSsf6UCis2dnnGCCHzQUwQG05p58myfeAe?= =?us-ascii?Q?DzmazTeskwKEGVQWtioo/ZrP0tRG35xx8+8CYNb7?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 469b316f-cd86-460e-d3f8-08dd584bb56a X-MS-Exchange-CrossTenant-AuthSource: MW6PR12MB8897.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2025 23:00:34.7722 (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: C/VTsJWI0Q3AiDrfcxLiKxZMCCzhGvZSJ5vR6+Xu67Egdvt3u79sp8twj94aXPCM5IQo1WGHQILhGSsZcyHpqQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6936 Content-Transfer-Encoding: quoted-printable X-MailFrom: mochs@nvidia.com X-Mailman-Rule-Hits: nonmember-moderation 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 Message-ID-Hash: INGOFXQBWU2ZBSIWOKC35LWREOCOLFW6 X-Message-ID-Hash: INGOFXQBWU2ZBSIWOKC35LWREOCOLFW6 X-Mailman-Approved-At: Mon, 03 Mar 2025 08:28:44 -0500 CC: nathanc@nvidia.com 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: "Matthew R. Ochs via Devel" Reply-To: "Matthew R. Ochs" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1740990598073019000 Content-Type: text/plain; charset="utf-8" Add basic infrastructure for PCI configuration feature including: - New PCI configuration structure in domain_conf.h - Add VIR_DOMAIN_FEATURE_PCI enum and string conversion - Add pci field to virDomainDef to store PCI configuration This will be used to support QEMU's highmem-mmio-size machine property for the aarch64 virt machine type. Signed-off-by: Matthew R. Ochs --- src/conf/domain_conf.c | 2 ++ src/conf/domain_conf.h | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 87f87bbe56b2..acc30ffca765 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -187,6 +187,7 @@ VIR_ENUM_IMPL(virDomainFeature, "ras", "ps2", "aia", + "pci", ); =20 VIR_ENUM_IMPL(virDomainCapabilitiesPolicy, @@ -4061,6 +4062,7 @@ void virDomainDefFree(virDomainDef *def) g_free(def->kvm_features); g_free(def->hyperv_vendor_id); g_free(def->tcg_features); + g_free(def->pci); =20 virBlkioDeviceArrayClear(def->blkio.devices, def->blkio.ndevices); diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index e51c74b6d18e..5dc7379655df 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -2207,6 +2207,7 @@ typedef enum { VIR_DOMAIN_FEATURE_RAS, VIR_DOMAIN_FEATURE_PS2, VIR_DOMAIN_FEATURE_AIA, + VIR_DOMAIN_FEATURE_PCI, =20 VIR_DOMAIN_FEATURE_LAST } virDomainFeature; @@ -3039,6 +3040,10 @@ struct _virDomainPstoreDef { virDomainDeviceInfo info; }; =20 +typedef struct _virDomainPCIDef { + unsigned long long highmemMMIOSize; /* in bytes */ +} virDomainPCIDef; +G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainPCIDef, virObjectUnref); =20 #define SCSI_SUPER_WIDE_BUS_MAX_CONT_UNIT 64 #define SCSI_WIDE_BUS_MAX_CONT_UNIT 16 @@ -3100,6 +3105,7 @@ struct _virDomainDef { virDomainPerfDef perf; =20 virDomainOSDef os; + virDomainPCIDef *pci; char *emulator; /* Most {caps_,hyperv_,kvm_,}feature options utilize a virTristateSwit= ch * to handle support. A few assign specific data values to the option. --=20 2.46.0