From nobody Fri Jan 9 09:07:00 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; 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; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1766966215; cv=none; d=zohomail.com; s=zohoarc; b=cDQnyel6mblHr1atIqciFvv41ulZ+rS0c7bz38ExnS1FIWlG6lfjSIydj/OHDml6IW6TNrAaxyizi6AsUwZyEyLN7vswOV8xd0GYJlXQu8TUy7XqZHLxd6B5wERutjZd58/AUre6l+3VCSjxY0ePhn73AHq0jbGbbc4VTBcLMjc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766966215; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=Iuu9CAFYNyMtRFwG6U/ouExkB/IrMa3mv2mtBKmuMgk=; b=XTZewTdjEfUPLw1Vh/uDaWCj/H4VvlU2XB6YJx+hddIUGB+Fuz/Pds6BEgmvUMzvZJrgrUuViKcZmEDPEuPYrJcleiX+XIndebd4bxinRHmyAY63HCGytuqv6Vt2xrz2eGD+33NGKuLK3CJr5Cov/7/uuq9lR8UGMHjsoyIz0lw= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1766966215909961.156636906281; Sun, 28 Dec 2025 15:56:55 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 094EF3F366; Sun, 28 Dec 2025 18:56:54 -0500 (EST) Received: from [172.19.199.83] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 09F1441B68; Sun, 28 Dec 2025 18:50:20 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 91BC5417F0; Sun, 28 Dec 2025 18:34:33 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id ACD35417EB for ; Sun, 28 Dec 2025 18:34:32 -0500 (EST) Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-14-syWxjmWWO-S_C9d2w3nvDg-1; Sun, 28 Dec 2025 18:34:31 -0500 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 44ECF1800378 for ; Sun, 28 Dec 2025 23:34:30 +0000 (UTC) Received: from harajuku.usersys.redhat.com.homenet.telecomitalia.it (unknown [10.45.224.19]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 8779930001A8 for ; Sun, 28 Dec 2025 23:34:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1766964872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Iuu9CAFYNyMtRFwG6U/ouExkB/IrMa3mv2mtBKmuMgk=; b=Zicnio83mdWS4IX7B8bfjuQbmtcBJLLOVSBtWDN5JOTuA5plGAYY2x8t69rca4p5QMfV21 HecAV7WErsLaFI0/dLYbBkeRxkRd3Y4//wUEwTZJ0DZpVnb29YoxVpIqzpYPdt/92s68Ya eGhyOTIzlp5dm6xESxyUQcqLtA6U//U= X-MC-Unique: syWxjmWWO-S_C9d2w3nvDg-1 X-Mimecast-MFC-AGG-ID: syWxjmWWO-S_C9d2w3nvDg_1766964870 To: devel@lists.libvirt.org Subject: [PATCH 12/36] qemu_firmware: Ignore stateless/combined when NVRAM is configured Date: Mon, 29 Dec 2025 00:33:48 +0100 Message-ID: <20251228233412.1709869-13-abologna@redhat.com> In-Reply-To: <20251228233412.1709869-1-abologna@redhat.com> References: <20251228233412.1709869-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: FERTn8IPiz0TU8LirSbnZPFZMsQwXt0P0thGuo3JCJQ_1766964870 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: JQZUPO3AAXN4M6PIYVXQDQHQFXQDXZGM X-Message-ID-Hash: JQZUPO3AAXN4M6PIYVXQDQHQFXQDXZGM X-MailFrom: abologna@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Andrea Bolognani via Devel Reply-To: Andrea Bolognani X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1766966217317158500 Content-Type: text/plain; charset="utf-8"; x-default="true" For combined firmware builds, the variable storage is part of the same image as the executable code, whereas stateless builds don't support variable storage at all. In both cases, the use of a separate NVRAM storage area is not supported, so if attributes connected to one are present in the domain XML, firmware descriptors for stateless/combined builds should be ignored. ROM firmware builds are stateless by definition, so the same handling applies to them as well. Signed-off-by: Andrea Bolognani --- src/qemu/qemu_firmware.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c index a22853361b..47a3987b64 100644 --- a/src/qemu/qemu_firmware.c +++ b/src/qemu/qemu_firmware.c @@ -1285,6 +1285,17 @@ qemuFirmwareMatchDomain(const virDomainDef *def, flash->nvram_template.format); return false; } + } else { + if (loader && loader->nvram && + (loader->nvram->path || loader->nvram->format)) { + VIR_DEBUG("Discarding non split loader (nvram configured)"= ); + return false; + } + if (loader && + (loader->nvramTemplate || loader->nvramTemplateFormat)) { + VIR_DEBUG("Discarding non split loader (nvram template con= figured)"); + return false; + } } } else if (fw->mapping.device =3D=3D QEMU_FIRMWARE_DEVICE_MEMORY) { if (loader && loader->type && @@ -1302,6 +1313,17 @@ qemuFirmwareMatchDomain(const virDomainDef *def, VIR_DEBUG("Discarding readonly loader"); return false; } + + if (loader && loader->nvram && + (loader->nvram->path || loader->nvram->format)) { + VIR_DEBUG("Discarding rom loader (nvram configured)"); + return false; + } + if (loader && + (loader->nvramTemplate || loader->nvramTemplateFormat)) { + VIR_DEBUG("Discarding rom loader (nvram template configured)"); + return false; + } } =20 if (def->sec) { --=20 2.52.0