From nobody Mon Feb 9 09:57:26 2026 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 1741392887993496.51266479627566; Fri, 7 Mar 2025 16:14:47 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id F27161899; Fri, 7 Mar 2025 19:14:46 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 88AB318A3; Fri, 7 Mar 2025 19:14:29 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id CE3801809; Fri, 7 Mar 2025 19:14:26 -0500 (EST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2054.outbound.protection.outlook.com [40.107.94.54]) (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 1E67017FF for ; Fri, 7 Mar 2025 19:14:26 -0500 (EST) Received: from MW6PR12MB8897.namprd12.prod.outlook.com (2603:10b6:303:24a::19) by PH0PR12MB5607.namprd12.prod.outlook.com (2603:10b6:510:142::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Sat, 8 Mar 2025 00:14:21 +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.8511.017; Sat, 8 Mar 2025 00:14:21 +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.2 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=no autolearn_force=no version=3.4.4 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FQ57CpmWzbxBUBaapOIRK7nT7mr4Odyi6yN4tzvuzpYx5hWIlGyzbPVXUvvpOXfXYEUtEK+8xV0Wl3N+c64Opbc3o4TgFLfMhjr7gNTBTVz2FoQrfHl5FxatWmdUy29d9t6blUGXFsTV3rbjf3LH1cxACsE1XMIETGdG7VjdiV9/ReSQXf5JhxNPfbs/TKhhVlI42O+9rH7aAbz9+xQv7A9zMn8Se+siFHfa9+YLW+36U6j37eIOuMPOyuucEngwcDrErjRNWb5V3hGMWsZFfxTEHu2BZkLoDEL92+RkWBfKhMTsLu/9WMVhICmosaXoxoUPBG89R/mH6D1Gl2sSXw== 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=tmQpmvK71OQczs7NnfAkWLf1fPNkj5wosHbcYxNHqofrGlUa8K7JYeOrQS8mHov6oK0eZM633iVB5Mnef9TlWAxjmISDuNOwlne1/+OiRN1IpCc9Co4KesGbCECglvE6wqlito8UVnt2q6aIcbyJkCrck7JLw8cln/8UnYhOo1bILg+C+sazpkH9mhR140IdxwU6kSxt3EIjAJ+2y2kQMMSG7GQGqs8KQpHJUvNm6E/y+7FgJbtU3v2GFp/6aXJUOb5RA6xxvzhSQKQQzpbWL6YolA483EZLPsFBW7s8j9eyzGQMO6NKIH+nx5Zg7dyOuCx2n3TaFLzq11bto5wiTg== 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=bQBQ8vD57wrXENYF3xQxEi6A0bywgjda59uOHxZNLmvajbRSaYmm8yTc+YCSpKLoj7UdgtoHIsTS1tZEBFBv0JWGKO3hKWPvyZI6j/jTV6rusXSCBlr+7/r6H4xVPsp4pVvepX9I8bvm+DEuPlnoobJ4wiEO6lCFkoVQUyrhL2yRpt4b5+KMU4vYUMH2Oa19d8pcYRuxnJ1S+gS/eRLHhWLCqVxSllpmTyecxpdWn+Dx+yHxP0jCd8s+e3HGosqVlLahwujZI15cNMXmil1S0xVg6u2PKnHltFMUmf2Vkf94TrtVFVnmVets+d++eGl7OCuHnfNY8T8IIq9TaHJ57w== 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 RESEND 1/6] domain: Add PCI configuration feature infrastructure Date: Fri, 7 Mar 2025 16:14:20 -0800 Message-ID: <20250308001420.1311862-1-mochs@nvidia.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20250308001331.1311347-1-mochs@nvidia.com> References: <20250308001331.1311347-1-mochs@nvidia.com> X-NVConfidentiality: public X-ClientProxiedBy: SJ0PR13CA0156.namprd13.prod.outlook.com (2603:10b6:a03:2c7::11) To MW6PR12MB8897.namprd12.prod.outlook.com (2603:10b6:303:24a::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MW6PR12MB8897:EE_|PH0PR12MB5607:EE_ X-MS-Office365-Filtering-Correlation-Id: d7d29176-0d12-4023-b730-08dd5dd62cc0 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?YZXoMdkk2AYwyU2nZQtT/3CgH2tI+cbOkwwlCteOV5fTE9BLT7nm6RLgHSr3?= =?us-ascii?Q?VRVE1Uj+xfy8qcXHQX08AC7ZlSuaLlf4UlX3eSpyJSsuJvrOr8Zn53NdA/nb?= =?us-ascii?Q?pwZcGuWh8MbDOlxAi+0arLQMqBUx4iQoupl2D6tWqpV+saHlYR0EzJpctZxU?= =?us-ascii?Q?azLoSHwJSz5WDUuif0DpgXJcRcnL6ysERlXP1Pu7BakeS/lWjSrehFEb6W8x?= =?us-ascii?Q?f5dBdCw3GmIx42f+Te36+JDKAhtEU9QXxbHMwh2p6t/d64dQThmGo7C9n7Sn?= =?us-ascii?Q?wxF2l2B3OXh4C/vuxN/9S38iYbAL1EQSjuQLciny4ITsTfuHukaLz5Pit9xk?= =?us-ascii?Q?Jqo0OMWpWvf1My6fADmN6auDucSxUV/O5TvaTRDnezQ3CpONLaXWzn0fjqCd?= =?us-ascii?Q?RLb25qVEH8BVx9tfyAnppJVVGkqw8k4o2OZgywUFY9Km5SxjZzJadVBLPcJu?= =?us-ascii?Q?Oquy8+FicHFVATLXQY5mapqzcYwXrjSJ/z22lyLdqf1WbtJi/qhFVkvubbFI?= =?us-ascii?Q?7ZR9g6Yg/SXYOLIz81yRgSqrzLd0wCSj41QbXpfBY33WD6hyTG3Hg0By9qvw?= =?us-ascii?Q?fsJ44DSoS46A4pz1WQJr69ylCzdK78DNjZqxiUDqBpFtY4jvO1WUhvTZPwNT?= =?us-ascii?Q?AkYwb3HJpKz0lZp1YBWrvHA20HpoWpK7/ZbjHES2C0cts61DlMYUYg+NvTGy?= =?us-ascii?Q?zrhhcZim4QAXkzHj8LfbFT52OeTwJOvtOyXNRrYv9nZNZbY2Bmj9LuLbP4HP?= =?us-ascii?Q?Yw4ST0hYhuo+t9WPh224I3O9XDIj4pia9oyN8JYvbGLVCi1GJDqjAtESCjjs?= =?us-ascii?Q?QiLORUbMvTjMiW+SyAIxPEHxPXdG5xcysBxpQ1IbThXhzH0HDXGGMaCgFXit?= =?us-ascii?Q?P8rQsln+hEkP+udK4GhRroGdxh9o/idu3Jnm/1gBljNzh3286Egk1mZU/POg?= =?us-ascii?Q?FCpbt0JW/3KPniNhVEWO015yGgGSuMUxUpHnfdkbzgXL7fDDAH/+HmO/i/9z?= =?us-ascii?Q?nKtLHWKKs3qXseHSRMaxGwcfO8n0p+QJHFAL6ZMRfm0amsH9NcvwbXD07wly?= =?us-ascii?Q?VyudPsyetX0DsUA1lHOJI6SO5S+FGLy6LxI4fzyG++PMS/FygQn+SqR+iMX8?= =?us-ascii?Q?Q1H2ShfD9YjT5D/3X2rMRB5gYnWVYSHRdSZvNh3wTX7m9YD5HZGTC85SCUUS?= =?us-ascii?Q?KR7/dHaWIbaT2NpYqj0mPwl7l0tdokXukazxGFJyhCaBX6PKbGN2Oe8yLc44?= =?us-ascii?Q?QnAUElGf/DbwnJ+LTfzu6Pn4nIlQYn0c4JWd1hLdJnTB+TTNOnqddL2yqpv6?= =?us-ascii?Q?hKbZ5nnp7Pts/YAvZTE7sf/IhVbYM3QXUhOJecCOuAarwyMp97CWjN4JV4eH?= =?us-ascii?Q?vHJJX8aD6IvhsNY9zUBsA/HMHMzJ?= 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?u/jwkKmqhJ052cvxtKtCiJOn3bb/WKfRMDz++zuT1N/jCTpSDpvhfFQ414Km?= =?us-ascii?Q?icxTpy4+bwkG3SHoVt2DicL6lB81v7wGjM/QEvT5rhQouM5EGaXkP/eW6KI+?= =?us-ascii?Q?rVWOs0KRRRueLV8BKA1aL6Xrpa0IaFjCZZhD7dhMZP2j870gwCeZ4wTwko+A?= =?us-ascii?Q?QTy9S8GqB8V6VmSbTCpPpjus9V7Ba1ch3Mej/HPZ6tNsotG4EJ8HyTZo2Rso?= =?us-ascii?Q?WiSGmVmv7/ukdq1cM44mAl27sZ+Aul6Uxt8bfzU3r+tL9Bm2PSI6KxRL/tbo?= =?us-ascii?Q?nvDO8AWLy9EvaizGKrFH+bGndD/dikT6myzq5hAoj2xGwrU7L3LNn16etHvp?= =?us-ascii?Q?U46xRElJr66seR717ZDIfyvL6G18fd/JRBO37sPpoIh0ttgYC3Ft4ZYGZnv7?= =?us-ascii?Q?1XVQoBzflzyYCwItkld2qMBxcHNACLSMqeBshG2UzetoQ80GpOrLFcrY4MLo?= =?us-ascii?Q?IRbTZBw0nmvWHvYDQe/EfIJJb93DmRYUgYDqNO2JYGhdSX4tY3kEqxIrQO+R?= =?us-ascii?Q?cGrkZx6zLNdiDIU+mHYb6LN9mGSKp8KrRkWrAsu2+lnvjmIH+wiXZa6NlwJF?= =?us-ascii?Q?Npga/TRnPzRjh+3OVUw+FC6/TRtiXfVxDRE8/Xbtbei3JYCkGtCv8jOLYapQ?= =?us-ascii?Q?LKxecCDKYBENyfoca0Yf2xUelL+oL8wWUlztmbwm4DX+7F98rDYkcw53ffr+?= =?us-ascii?Q?JidH+rfDysdfOipyM04v9Dh5lxqCIps11aIo34Ofd6gsvVCjSc0m1FPfvgOG?= =?us-ascii?Q?ha7w6GU3Whdr4KO7RJNbNZQvjh3xHv7ikEEedHubFpUjfEOaCHhvqpUKtAWL?= =?us-ascii?Q?xwimkuTFuZcRT4rfXFm3SA5ntTwioq9w3qli+uR9KMYT2y2yLiN5+ebEFA/I?= =?us-ascii?Q?NhO0U+V1ashbaRGnnqV9UE1rOX8P6xcvGXv4/TtHJe2h6ebWidO4x2PEGUpi?= =?us-ascii?Q?bbgs4M+fmZZiM/4c4Av3AFvkIXapExfachvb0HEkrzA2wYMsKDYfBOSULmvI?= =?us-ascii?Q?IFsGRFJ+1cJoonbVeDFMvQS0FJTSuwYUfn5kxbC2CllkVj3yVu4zQNm0tORA?= =?us-ascii?Q?R0/o21vvIzzP+z9qiucGrYxr67Ma2+0pXI3jenixMI3+kJFPgjWQp7QEW3CQ?= =?us-ascii?Q?ajEh3iqSxpiG9wX2Ykmll6yF4qQnUMTC70rI6Zt9y7eVY6QRTIGFJi1iGQKn?= =?us-ascii?Q?dLLN+UJRLXDU5BRU/C3w95rIYUFNeX28VsFxarHTKCR9BOpr1upivPBGR2jx?= =?us-ascii?Q?xPf3Ut7b+P6f8vtI2Zju5iYN1nBgwJjoybEgB7/rrkRKemiiWOjnwflE2P+v?= =?us-ascii?Q?4JrlhVVe1BGEgktaHzewYFeQg5rKx1OenEnoEnm5y8cqVYWty3pU7hMSmizN?= =?us-ascii?Q?juSEdXT1lKDTXrx8wM2ab5v0NcZBLxml4D6OJ2poViC0m4OKEFG5KKA+4KFW?= =?us-ascii?Q?F/2wj4jatzCc7EmWP5Z8A86T1acUC22mi5pMPvHXh8I0zElsqXYeXGdQ/HlU?= =?us-ascii?Q?OuHBKY1F+w3urtOutNVz43nN5fcjwH5c3ltydJ6wL06IROC29muzg2wxvbKQ?= =?us-ascii?Q?L4OiEtG/LtUKTAYdUmGnGRGnMlwTU2wdoXOrzaBr?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: d7d29176-0d12-4023-b730-08dd5dd62cc0 X-MS-Exchange-CrossTenant-AuthSource: MW6PR12MB8897.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2025 00:14:21.2529 (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: /DKPcdHuLlezELoIPXVGhPEsJLy/knJ7+cjIiFqpEgkvHGbJES8jtdellIJjd/UEsas1zn5SBVO766Lk+jwOTw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB5607 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: QO7UBJITKZQHVZ5A7CQFVJG256NVDAQH X-Message-ID-Hash: QO7UBJITKZQHVZ5A7CQFVJG256NVDAQH X-MailFrom: mochs@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: "Matthew R. Ochs via Devel" Reply-To: "Matthew R. Ochs" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1741392892169019100 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