From nobody Mon Sep 8 02:20:06 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 1754987150049337.8547441780846; Tue, 12 Aug 2025 01:25:50 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 72FD9A19; Tue, 12 Aug 2025 04:25:49 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 7CE3893E; Tue, 12 Aug 2025 04:10:49 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id ED5841F4D; Wed, 6 Aug 2025 08:45:14 -0400 (EDT) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2047.outbound.protection.outlook.com [40.107.243.47]) (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 710241F4A for ; Wed, 6 Aug 2025 08:45:14 -0400 (EDT) Received: from LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) by LV8PR12MB9271.namprd12.prod.outlook.com (2603:10b6:408:1ff::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8989.21; Wed, 6 Aug 2025 12:45:06 +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.8989.018; Wed, 6 Aug 2025 12:45:06 +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=fJFC3XP5w3l8P/R9S7GHkY7BGtm867ykUECyr5eLObNhsk7mfLFfCUbWazzUZHdaD5m5NzpB2tgIqZu1+cPwqnhB1AErwpLnOMJlKfqXBGZZYi3pKk1K2g4XCMk4Y8f23Pc/lp+VVPXIWMBylw70dYhTQIHruwjYg8DprP9FfIaD2OHZWf4wpWXTYK0xPgmOs3sFFC/rMrSEEtDhDLmfSVUeZgK/R2bWXnNl6qTOEd+C6bI7B0cERnVXHNxk6/4XLW2WlpYyJIGLyw5esBUtBLeNkz5uzjC1j4K4kFX2uV5YeGvlRC2L3x9ueQ922d7Uw2oYRYE2bCjIoLLFszw7MA== 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=VNpbMD6Es0uYGe9FHJ/f4Mk2LLtP8UopxieHUQ2F21s=; b=rSVtx5QCtKw2RenqyhpRqstzqFGpvlVZgatd7L/GbFMj0deYkVSOlZVJcnRlPdyj74TsKu92ErHE3JJgSda8UIOJcPUWSxzxrQgkCVP5I4IxVdBxn1Vuc3tRNwo7iqUrts8S6oDpxUeLHnzpYKsnM+HWZr+3XJ1zbgjcDUGk67MsTnpA6nYAK9iJr5YfG0L5IxZ8cEKehu2i3Ti/xs5a0ZfuFB+PeLL57NNJngtqDN3iFIINlsceGK0td2+x4kIlMvNz9o+KmEuPf4hs23bfs5K0DgpKZd7amUO0UPZXO+jz+Ry5L0AXTaycOpFmEOIMFlVq+8qnwzdQ05UloCQ8Fw== 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=VNpbMD6Es0uYGe9FHJ/f4Mk2LLtP8UopxieHUQ2F21s=; b=OEPhoSQ9d2XuwWZGWoKpZEB3uwMHN/oMoQ3r1sSYiB/ruv3W81lnA2KP4ItZpdVubtGx+l8lfKwGUril4exAV3KIl7X/+KXpIRd6bIHnRfrOJrusrdVLVz+XFH1G6W2FTny0lE2LGSNsXAwYe16x8rzavxDgp1LwVxZxv5dfjcXkloOzG/e6ZwNPWJBouzoMm1kQ3HAgKjr6fBDnUh9Qt4PyBhI67XVyRxZegGCmUuGiOT9dE1888xkInY0ZhKLyLPSF0HpAiKx8CqPKPb4rEnbG5B4NhwWzJscHXPZ9rQ49viHlEKbTXaWhram/FFWFWXkuDkhSu9BmoxQtuYuYgQ== 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/6] qemu: Support acpi-generic-initiator Date: Wed, 6 Aug 2025 14:42:15 +0200 Message-ID: <20250806124415.107369-6-arighi@nvidia.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250806124415.107369-1-arighi@nvidia.com> References: <20250806124415.107369-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_|LV8PR12MB9271:EE_ X-MS-Office365-Filtering-Correlation-Id: 30138663-f958-4150-d791-08ddd4e71226 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?FfghTOIuPInQXIBjkJcs6Uup/YSrRVGBQAKCJ7bYMouBUE2Nv0zls616Hv9s?= =?us-ascii?Q?tmi4gwXeNSMSYFQ26rIIRtqRa+Qi3LuLx9UKXpq4xJrb2+Xfe8FFoQZ41DqA?= =?us-ascii?Q?j777iAlVDwL2hBYYeYicx/bg8je8d77fTUVg42aHqDHgPPQE21ZW6QTtOJAu?= =?us-ascii?Q?uqYR2ctxPoYlejMgL0gjJe5tzzsHtZ87wM3bgd5eKoE7juJAvyvd5vY0TbHv?= =?us-ascii?Q?8UkuMQ/zEZsSx4kmGrPbKpoE6BnuaRhxcpHIPyGVg96KFITjthIYyV/SP2tc?= =?us-ascii?Q?o/ZETBJ3RP6245PA+3Jq3apzQbrcTvpn7qZFi41urVwVMPEWTndzZLvmSWyS?= =?us-ascii?Q?7o7RDGgA+aFkQIl22RmVQJ3zstZEw26TJdvwclcHxnL2L+fjDzknjj43tK7P?= =?us-ascii?Q?9SRz0Q9xnZqqmOGeEkqlZTO4yf7jJbFmleO0nHrPd3eT5XmwMIGSKuiLbzZ/?= =?us-ascii?Q?4yfoLXVGzIfuXoA2vtgfhv67rN8cXHwTkn2+I1SH+xDO1fiwcbsHxWi05BwE?= =?us-ascii?Q?LiCpoYjNgyBJiqpOhI7EJlC88fTluJ/noYj6djDmprmShRDCf64i/OYhO+a/?= =?us-ascii?Q?IaWFnInFWys5RFOT8lr96xER8+bbvln3tNULKHHZ0YAHFewxZuTvx22SlOKg?= =?us-ascii?Q?D5IY+3WKdwsMs6Z1F/BS6Ub0wGVI5GFxee3ojCpN50+hdbrXERgvoC5ugM83?= =?us-ascii?Q?c/FFu1Ay9EApmrkXlACUfFASRxRg8HBFHL8xP6HkBY+bjApqL+vfcJodIuv4?= =?us-ascii?Q?RBZ8SoanG3jt4I3FcfRUmgNqrs6VoL1f8m7X+kVja6HUbFX8f4Aalg9BIZG7?= =?us-ascii?Q?/S82n09vmHS/2KmhVXSDzhPA9f1U5+O0FV0eDQhf9EPFtmZmk9JQ1ZSAXnIC?= =?us-ascii?Q?HsYJpH5Sz17gdTWWUXN0XIktS5Vmuxlhy+1DaxJfyBFJpM0RHqxFTiTl2DFf?= =?us-ascii?Q?H2aJCgXwUcQb9w+Ub8zTO43zX8R1VIrd7TP/HDLmZG4pt12rWGUpguxpbje7?= =?us-ascii?Q?BBrsg7OsxUJQePBDQT/+aiR95jnEUGQaoVFQ97Yx64zXprDis8Uf/HJI7uWo?= =?us-ascii?Q?rQKgwQ5pJHgg+annaOiffBziie4MT9f/WZCLAPZiboaxYynRWD65oXz71Ysv?= =?us-ascii?Q?50uuVxx6C3LeP9MVjDfTvcalXuo9dvXzJpd8vprxY75BMuajGyZxNqwp2NqR?= =?us-ascii?Q?Y46zurmd+wTOSwVTbVydob1ThLWFCBvNv4t5WweH2aPEgIsO7swgqSZRj3uw?= =?us-ascii?Q?xa3O3FBVaTnfSotJTab/Z27kQHIm+HDrI3lp+h2pn2Fy0L5H2w3dySiSurLh?= =?us-ascii?Q?4ykzpxpQmizZMC4+Nf1bFkYv6/Mr/LnNGSBzWgphpXeEViwrXz1W+/QHLSwG?= =?us-ascii?Q?ZRn/irNgbkbw4q2k+H/nFOixE7uKF1jdawuROhGG7g6iwNvf9w=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?SWl0NwSPOrZEQ6TvdUeIi6TZ3PabMwiumGezy1GFw64ssccMIPsDwWWiYfhU?= =?us-ascii?Q?GdFPhGmEDMNsl7+NgujmO8NA9tYr+zlpFbTp4Rhi1qrlZefV9z3DK+0yDU/T?= =?us-ascii?Q?5NL0Bd0dVXwWO6WPVtvnz7jnM5quNSYZCSjQxWOLHIXtHUsLeh1yQhKDB+BZ?= =?us-ascii?Q?usytl49JnBVXOcrNscxVcehAqSQuxsjNdDJdTeke6R5RTwyQgyDtZjYb2JtK?= =?us-ascii?Q?aCemWh0I0geiq9+FRjj9dZ3tTWGs07C01Vuknrcpo58TgcidcZiGrw/QlJ/n?= =?us-ascii?Q?1wWhdmsIF7xUdU4y3zaz21gjc8FHnPyhnFtL1Cb1CCUCGzruexw+pU6BR1eN?= =?us-ascii?Q?oen6T3PhU22Vd7Fo8TuGFhXvlrZtX6jQAK1FC1xyr8MJBGRtBt+SG6AGhb6y?= =?us-ascii?Q?sfRb6BzL+WSPQ5u0lJ6a0+CHZb5L5EmEoW1JIayd24b3OG9gdRF8aBlVpJgT?= =?us-ascii?Q?A76cHb6+jeGsStyxvaYwHxndXa05K1yQ2wxNYVb/kPoz27OMBGLmb81h9MKi?= =?us-ascii?Q?gytHD8xCNEi0zYdPW6pmbauQJSzz9QQ7yNYXqe0WP0/y5s9lsrweIUvsM6Q5?= =?us-ascii?Q?28AjnUOysWhqfiBjI6SYTdgi9VkK0OAPGtG9VwfQrZP13MnTHaNEyszWbcf1?= =?us-ascii?Q?Z3UG1BejKpl3sY6bRtRLbUOpDv8I1PqEp2EAbWB43VLPB/fUeXHeTYm/KiEv?= =?us-ascii?Q?IERf84eS+0gvEsZI5QVGvLyTik8jbmJBMWjA7BJqblKxuynYd9oQZg2fHj4l?= =?us-ascii?Q?Mu7VCr0JO8z92A+4rUSi8Bafs2wj09rn+B20VtkkZrX2U2ZHh8tIKwhr1rOe?= =?us-ascii?Q?qF6dZCpr3tW/9PxZIqJkwuyg08TvIj/NtDDqQ8rKaEgOOpiUE3GaUcJ0A31X?= =?us-ascii?Q?vKsvaL3zIkyJtsD8+Dz9rSYsizkIRCTafbV2gBTxXivgdMT2Dk/hTn+SjhOA?= =?us-ascii?Q?+NcOYZrXYIUdHvo66LAVpocdcueZVZMKNawVI9kCXxJ1M2OuKSDR/hmQKWI1?= =?us-ascii?Q?NWzH0q7xR9ELH2ryya62GD5j5Z1LZ4AOs+R58SDlZ5x+EGTjatPDFHMNc+jY?= =?us-ascii?Q?8czBEtr5ysvwcyRfy+W9oFI+IWTc/dVwhfSm/Zi4lKnDs+p3xq8hsMZ5DU44?= =?us-ascii?Q?hqxlVv+gGuUHI8iQyE8TsnYpnAAe+qJjjZMjK0qddz7pv2fqc3cw5TRp8LXc?= =?us-ascii?Q?icu+ngtGRP49WrtcSWQ4FZxHvvaD7mEZy9tKCRMXD1VUTOGy/J8/1LDUv71m?= =?us-ascii?Q?SgTeyICvTHx2jRAGkjKyn5HDHTJAp/Lyfj0y8QLcHGST4DegLXxpJOqqVlkb?= =?us-ascii?Q?ABA4YJYgM93SuEgY0OzrJKxxvIRITsoOy6b7jklkZmUOjeBA+PZHVVCJeaP9?= =?us-ascii?Q?EZvgeNN7u4B0jqK4y07g2b5CsUHIbBOzymb2X2lyNwwOnr82ACAzBLuEVIbq?= =?us-ascii?Q?UwdKPjfS++D3OAoewXOPmFHYsP2HXibf9HYmDSP2P6E8LY/m3+mVzJQg3v2m?= =?us-ascii?Q?Z9vbCbyDi0yCGLzgJawDJ1QFGGRKb/BuUwwhMqzvYHrP3bKcGX2jtmAV8s2g?= =?us-ascii?Q?nPFbJYBSUa5DuAImT1Eats5Bik+2nFXwYGl/KdLD?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 30138663-f958-4150-d791-08ddd4e71226 X-MS-Exchange-CrossTenant-AuthSource: LV8PR12MB9620.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Aug 2025 12:45:06.4901 (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: Raz6tXIuBjgO45stZdpc42RhmJeFZAH8RzGPPzrl1xGw6nV7tiKsOsCZoxy8e6fcSjjZwl9zk4HMiw/nYcWKDw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9271 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 43KOB3IWHFLBJVMTBAZGCW4RY227AQ7B X-Message-ID-Hash: 43KOB3IWHFLBJVMTBAZGCW4RY227AQ7B 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 CC: Michal Privoznik 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: 1754987152208124101 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 | 30 +++++++++++++++++++ .../acpi-generic-initiator.x86_64-latest.args | 8 +++++ 2 files changed, 38 insertions(+) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 46af5abd62..b40967f27a 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -10582,6 +10582,31 @@ qemuBuildPstoreCommandLine(virCommand *cmd, return 0; } =20 +static int +qemuBuildAcpiInitiatorCommandLine(virCommand *cmd, + const virDomainAcpiInitiatorDef *acpiini= tiator) +{ + g_autoptr(virJSONValue) props =3D NULL; + + 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) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("Failed to build acpi-generic-initiator propertie= s")); + return -1; + } + + if (qemuBuildObjectCommandlineFromJSON(cmd, props) < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("Failed to build QEMU command line for acpi-gener= ic-initiator")); + return -1; + } + + return 0; +} =20 static int qemuBuildAsyncTeardownCommandLine(virCommand *cmd, @@ -10940,6 +10965,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]) = < 0) + return NULL; + } + if (qemuBuildAsyncTeardownCommandLine(cmd, def, qemuCaps) < 0) return NULL; =20 diff --git a/tests/qemuxmlconfdata/acpi-generic-initiator.x86_64-latest.arg= s b/tests/qemuxmlconfdata/acpi-generic-initiator.x86_64-latest.args index 37712fb68d..366b696435 100644 --- a/tests/qemuxmlconfdata/acpi-generic-initiator.x86_64-latest.args +++ b/tests/qemuxmlconfdata/acpi-generic-initiator.x86_64-latest.args @@ -44,4 +44,12 @@ XDG_CONFIG_HOME=3D/var/lib/libvirt/qemu/domain--1-QEMUGu= est2/.config \ -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 --=20 2.50.1