From nobody Tue Sep 9 19:11:27 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 1753255452279293.56430643904923; Wed, 23 Jul 2025 00:24:12 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 5908D10F2; Wed, 23 Jul 2025 03:24:11 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id E6D51C03; Wed, 23 Jul 2025 03:22:37 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id D744F11BD; Tue, 22 Jul 2025 16:26:20 -0400 (EDT) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2049.outbound.protection.outlook.com [40.107.243.49]) (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 6AD83BB3 for ; Tue, 22 Jul 2025 16:26:20 -0400 (EDT) Received: from CH0PR12MB5092.namprd12.prod.outlook.com (2603:10b6:610:bf::16) by SA3PR12MB8802.namprd12.prod.outlook.com (2603:10b6:806:314::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8943.30; Tue, 22 Jul 2025 20:26:18 +0000 Received: from CH0PR12MB5092.namprd12.prod.outlook.com ([fe80::969b:49e4:6d48:b058]) by CH0PR12MB5092.namprd12.prod.outlook.com ([fe80::969b:49e4:6d48:b058%5]) with mapi id 15.20.8943.029; Tue, 22 Jul 2025 20:26:18 +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_DNSWL_NONE, 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=nATFbK/eswzI1NiY6vhpmydf5wAx34GlExswA1UC+9fMRdD2FEHqN4qkIIxRxdvfpqNRyM6NTrwrmWfyzFkJbri8vBlhh9Enz8dcJ5VtWO4JOuetg2aig+9Z+RRJu0TzAC6G3TXTXnMsON02YdSaBIUWW59Fy3+8IY0if8WtavEml8+h2hZ0H7OXMMxgvlM1roabjQXjJgeANKtJP0Ee6+3b+AVCwBbLhQcmkx1JOHEVagfBjoVd3ObZh5Px7l7JQSGhYQbPpq3SP2Id0CzZdHxFIR4N79SKOjRmI4WBMTXvJeS5jbIrroZLhQEfTfG/NLmrFlLH4J40+OSIK4a51A== 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=XQ67CeegrNBQTxVhZQRyJBRbArT0S02dr/YAMSbaT1A=; b=Ue44dLGj91JpIJdBrftStINFqmkCc11QdjmOXtYixUNIShYMNWXvaHaUr0dw3E9hFc6RuTaS+3EvTP98bpRuIwX8BnqqJ8fg4Y3NmzkEpB4Io/d2j0LamIRhicMnyXvvb5knn/Lywuugl+1tupDiG/STpHg/LG6SBqmF8TIUBbOcBQpM8T57MZvZovzvGox2KFL+lVkV9wSS3h40tecA+MHjXdet3VruwM/Rb8oxLa1doBLTrvNK3ZLoFx3tQevpfduJswjLH7PfoUepm0Ek6xXhtXKkt8I/b9ImsD49bRNPidQHauS4B5CnZqRl0yMqz+Pkwojp4icrptjxB27mIg== 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=XQ67CeegrNBQTxVhZQRyJBRbArT0S02dr/YAMSbaT1A=; b=fKItroHIKNlMjQ4n1oaTdPFCymxbuZcOV2h2LP7YYJnYB9XfCAc3LQVeV2LiFfUmsRpzT6gMaNUi7eq+Hm4H1Vz0NQ7jx/T9xEJb0B9jEdGLRzkIqEkZ9mL+WOr3aAq+PzcbHlIa29qrxKy7hrPQPmVPRFOse6DSOoyqv20PlvbOxTbjeb5ndXBQNdetEev1ESiiRatJZcSjZBeNDUxWyiLbA+n+euJa94Evpentt4LkfI3LzguxPp2Gx0/2DAs2qTtPExmKnju1k0L7ZjCwwngcMYeNmbiodsMKq8qRMuVrxMDklp3MAZeoDgret278jMa81UDBimWyPk6zb4tFfQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; To: devel@lists.libvirt.org Subject: [RFC PATCH 3/8] qemu: Add capability detection for ACPI EGM memory device Date: Tue, 22 Jul 2025 15:26:03 -0500 Message-ID: <20250722202609.1823658-4-ianm@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250722202609.1823658-1-ianm@nvidia.com> References: <20250722202609.1823658-1-ianm@nvidia.com> X-ClientProxiedBy: SA0PR11CA0137.namprd11.prod.outlook.com (2603:10b6:806:131::22) To CH0PR12MB5092.namprd12.prod.outlook.com (2603:10b6:610:bf::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR12MB5092:EE_|SA3PR12MB8802:EE_ X-MS-Office365-Filtering-Correlation-Id: 9e741d02-d3aa-4362-098b-08ddc95e037f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?TikGoRk4S90odbtb8rqdJYNpns/270ZbAOjcqRczJ4v8sBaKrVFl1ACjwVrL?= =?us-ascii?Q?uIGSRKlUZSW7QFZ9CUyynu0iwS1khwiyQxp6JzYGn48FZ0ONAKGVcXuBL88V?= =?us-ascii?Q?z0g5nrtSyAmRPiU36qQm1XuPV/JjJsmLNgu+9MPPQOl4Ai99w3FsMZmwKmvw?= =?us-ascii?Q?mfYwSRBnk/jM1lSEj3Z81hf5DngoSo/4Yi4At/AqUM+E2K2/dWYhM4EPaZsJ?= =?us-ascii?Q?xLsnv+yiBixPn26mHG7ub9+WsdXGLYiQeqmSQpSqHrnKlTnimYyR1a0iF/Ke?= =?us-ascii?Q?sHjU5kvzxHVQqBHP0G8ib/kMzivVSPESE2w7khJ2BU9mnqDBo+340JHc+w6c?= =?us-ascii?Q?rTJ/y1L6AuqVXl08qmWBd/3rVGIM/Me0v2Q7AAv9V/BBHuOrk+H0jwnNG6MT?= =?us-ascii?Q?64dfOX8N1+AW17dK9xrjZAFcmcqh/kjDXopxef2ZrwI0Si09qEIjjr1jSQNt?= =?us-ascii?Q?coFVDTvX4P+gGLE5/S4mMgczt77ly38dq2LCtzCoioaDiQ2YXs5Z0Gvcu0UZ?= =?us-ascii?Q?emDhnJv/MyNC/uryIscZYBzaRxy5DiZccpXCvbSD7xl60UUJK5xjmMXc478X?= =?us-ascii?Q?LtNQ7WGGxjH5PaTFR301XS+WOSeeanMyAvNb8tQRFaK+/mLNNgH6sYQKol12?= =?us-ascii?Q?OxCJY3q8TNzsOFkf6Y9ToG2jUvx4E7VkC/D8ySucLQRolx/f4CsNc9Xpm5QD?= =?us-ascii?Q?8eWeJJ1Jz+YVQeBtdF6b0jF+6AzRA0521GpQW7A1bxD77bpPBDg2oB7nHuLv?= =?us-ascii?Q?UaPo5RmAU+IUzFLaabax60v+Kh+g8HSYs164XkddH/Lze8H/rCDZsXBCRDjU?= =?us-ascii?Q?SH6eie4EHiEVY+JKQwLyxGRWakFI12JwME+JFfBasNIpDIoQboj45C6mjWiz?= =?us-ascii?Q?1SbamDqbUh1fMCzigQwu/1OjDuJ5bJFhj7Qt+oAyGc8ZQmIeqCSC2GIcQ3lv?= =?us-ascii?Q?Hf7niN+V8JDS7A0ZKk6Xrt6Roo8j4EIYoZoj3mNtgLdVia1qJa+N2HuMtbaO?= =?us-ascii?Q?+i8Ra4aMFBALaJ2NFoSj+F7KgA1p7M0raExZ5E1+x/CRGAH/fY3yPgmeF3Ti?= =?us-ascii?Q?1PMZWAxKzHTCJH6HnJD7SS+RzWpmOa59L1HD3AZjkifdCCM1UHmV9XMoR3ck?= =?us-ascii?Q?6kIHGwjrhlx6P9BMeU5rg8Y+mxE1mIB8jdxMVTDQJ1FpSbknVhKcbfoWJgvV?= =?us-ascii?Q?3kcNf2kJ5dIAJRI2Jm7Bt71De3SxGRL6QhG7Gka+l8KZ7thBkQ/If3rm1HL8?= =?us-ascii?Q?qJYzUeQF6eGrnU210pqP0IFL5GOrAPHBUgG04gKshrA2nIsHVaQm6eOV1vl+?= =?us-ascii?Q?PmFnvtTAJ00KjOxTkiBqejjuhKooqVVg1MGklbacYwfN8rU55ADifuLYJDr/?= =?us-ascii?Q?PmIOyUgYhXpb0cQ1erA58Zz6l5Aso3BSOzIqrCnQor+dlltmfZG3TJ5+m9QT?= =?us-ascii?Q?t8Csm2Y3pm8=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR12MB5092.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?elIoHgsdVy4+9QDsgbVw5uYAQvpekQbe1j+M6MENVD5M0qc1dRsqbdp+G6v6?= =?us-ascii?Q?lfd04M6ab7fX5Jtkvsxk9P2F64EPb8YlVKsm0Me6jKDTE+yzN87T9ddU89MK?= =?us-ascii?Q?tlpvrF0S0xmIwWHCBr88TPPfv1qHdO1hniFfl8H6Z6iFt5CWFV5C1Ri+sil8?= =?us-ascii?Q?cLtJIe+uu9vIK6XpXxBZa8qQs40PZHzArddJdaCwfIvE98j9A6CKcSDwgvCo?= =?us-ascii?Q?O9XkZ0Ik23UTSSaU0nP2HbHh7oh7oKUG3kwgHTpui+lvUOxeK/pHkeii8YCQ?= =?us-ascii?Q?fmLqo8/zTD/ds3o/rn1L5du9UF/Ms1L53ODkqH6vNFq37zP6iOaau9eXKQHd?= =?us-ascii?Q?gzlwx8ZmQD/Iws8OL896+qn6TlrJszjytpL/mUuIHcpHr7Q37kCchoxCh5WS?= =?us-ascii?Q?G8xkJcMgQBhmU/OnxfC6Y31SKJuG5cdOAG+aouRUT0mGT680upTIAeXmoxd+?= =?us-ascii?Q?nb1RtuewJphW8rget3VbHJUJ56Ed9z+lOswRoSI3n5IKXzR1oFN+c3A9KwOM?= =?us-ascii?Q?QAH993pJ5DqhV6xQKJxOZ8o2FyRjTPDWQh6g5LG86XC+rSKi89ny0k1jiHmX?= =?us-ascii?Q?frVA0qGpnasIea4FDmIV5GWxO0E6qqLDukRGRKJlZq1UGJYujbuLWg5VVVxo?= =?us-ascii?Q?g/q2geHj30v8i7b6feksl1XiPHgJHFe+hRLEPD3o1fvqrBxT+LrJp1BBemiz?= =?us-ascii?Q?/tyv9gD2VLJBn3wJkJxxzyfwVngS1Hv9zDAqMdT97NHMOtvfLDRHQ4j4DPUU?= =?us-ascii?Q?Lfbj0VRvtOxKB4OshdJ0/lx9LkMxBdLTE2jVpgo7wEX2TDY0WOhdCFJLsJtu?= =?us-ascii?Q?1Y7FxNm/yKRrRnINaBKQGTVWpbKnkFmI1Owz8dHA6CCoG2hAIhMdqzdIxcWC?= =?us-ascii?Q?EB3Z6YBJbpKFc0Ob8g8Yal/z5bwX4nXm/97S2ftM/ShhI9JUXnqmx7w43NxQ?= =?us-ascii?Q?fNTgjOHHpw43mf67Is3ubRCl9fwzbca5bD3lLYE5GNx7xpURnCBXojPaYC86?= =?us-ascii?Q?xU51OHriNT1R9oPnGR/rjRGLRGf3sv5j2eNQ0XZ4BNf0OSrhUUriFQmokS+4?= =?us-ascii?Q?yFRFIr/VVInxsguq4TLuE1hYC8sjtEbzApPXE4q+ZuGxYjCqbnsDOKU+Uf2o?= =?us-ascii?Q?SiAHW21IEq/dauWmFukfBtmxi9O6CxkrBhxfhVMupfe9tPUgc/QN0/QVxoPc?= =?us-ascii?Q?bPYTFmzpyazloOVxtcy/QiSd9KnF4T1fVuuh199v7NMMLtfHPy1CnizQj9fl?= =?us-ascii?Q?cjW8++zHlRySOcH7fcpD3fYyi/+YBMgJY7lak3dulDtAVKAc5DbQxypnaBm4?= =?us-ascii?Q?fiAAf7ckcrs+lxSvSWRuDku6fCz5I1VoQcypwvXqgIJ7jXIplSkrj4fxC9OG?= =?us-ascii?Q?qJKbyzJGZo1zBaOK0XhDQZda6nMHn6oMI0stW/45UBH769KJUxHr5/M4VITu?= =?us-ascii?Q?5D5ioM0pkA/j+CQgklwuQUIHCpFqMs8K1CrZWIvwQ9hTtGaqHdr4IgV6XN9t?= =?us-ascii?Q?SQSuQttwcEtfoie+lOBSyE8W1ZzX5ZjpVjrAYxvLkbM8dwPF2IwnQOUdPuoO?= =?us-ascii?Q?Uqb0i1c04uYiJKdy8sZQ96T3Np1VpavL7bsbcuku?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9e741d02-d3aa-4362-098b-08ddc95e037f X-MS-Exchange-CrossTenant-AuthSource: CH0PR12MB5092.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jul 2025 20:26:18.0979 (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: dqsqBIafXp7ajW9nZ4YbTDSVV1YuOId1BRF8ly1t5uUw9uJ2zdn1gdNz6Vro+ZJI X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB8802 Content-Transfer-Encoding: quoted-printable X-MailFrom: ianm@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: EGELIH5DJO4TYRTZETX4WZCDJ32D6KR5 X-Message-ID-Hash: EGELIH5DJO4TYRTZETX4WZCDJ32D6KR5 X-Mailman-Approved-At: Wed, 23 Jul 2025 07:22:29 -0400 CC: ianm@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: Ian May via Devel Reply-To: Ian May X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1753255454167116600 Content-Type: text/plain; charset="utf-8" Add QEMU capability detection for the ACPI EGM memory device feature. This allows libvirt to determine if the QEMU binary supports the required functionality before attempting to use it. The capability is exposed through the QEMU device type 'acpi-egm-memory' and is used to validate device configuration and command line generation. Signed-off-by: Ian May --- src/qemu/qemu_capabilities.c | 2 ++ src/qemu/qemu_capabilities.h | 1 + 2 files changed, 3 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index b02f8e7a01..15b4461831 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -741,6 +741,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "amd-iommu", /* QEMU_CAPS_AMD_IOMMU */ "amd-iommu.pci-id", /* QEMU_CAPS_AMD_IOMMU_PCI_ID */ "usb-bot", /* QEMU_CAPS_DEVICE_USB_BOT */ + "acpi-egm-memory", /* QEMU_CAPS_DEVICE_ACPI_EGM_MEMORY */ ); =20 =20 @@ -1429,6 +1430,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[= ] =3D { { "nvme-ns", QEMU_CAPS_DEVICE_NVME_NS }, { "amd-iommu", QEMU_CAPS_AMD_IOMMU }, { "usb-bot", QEMU_CAPS_DEVICE_USB_BOT }, + { "acpi-egm-memory", QEMU_CAPS_DEVICE_ACPI_EGM_MEMORY }, }; =20 =20 diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 966e30fa11..36528d22f7 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -722,6 +722,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ QEMU_CAPS_AMD_IOMMU, /* -device amd-iommu */ QEMU_CAPS_AMD_IOMMU_PCI_ID, /* amd-iommu.pci-id */ QEMU_CAPS_DEVICE_USB_BOT, /* -device usb-bot */ + QEMU_CAPS_DEVICE_ACPI_EGM_MEMORY, /* For using extended memory */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; --=20 2.43.0