From nobody Tue Feb 10 15:01:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1679947971; cv=none; d=zohomail.com; s=zohoarc; b=jvMuhmPIhGTMduenJHsDDYIAN1aoAxjNtZPJHeu6j78JMHDzLxToxTF4LdA7jSH16ZJqrwy4VLSlPbHmuxNwt0iBinYL0aFF188SpyiKzu97X17YT5959mRVB9OExWAJ7nl+zFhKyjUbAWOKJyzxDERHYkdeVs9/qpE0Dn9dCok= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1679947971; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=aYC/9eSRY17kqhl9wChw/oFYsKRxR8Dkv7Wn6omLRLQ=; b=JPVGkUcmDo75cKhvzN/DCDSv7M6ws1U0FBUxsJT2Xby6fk3aVoHjZPmOOCtaGUWTwpJgfFM78Xllcz4KgpTq2ErK3lRMXttgGl64i7/esasdV/Ge8SCHBIkddzh5PoNNqavGXvftdrNm6uUUCFv08U0b/3w/NZL5kWVzN/PnYSg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1679947971288395.1613198318523; Mon, 27 Mar 2023 13:12:51 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-563-Crv-YJLTMeaSviDOgHtvqw-1; Mon, 27 Mar 2023 16:12:46 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 341778828C3; Mon, 27 Mar 2023 20:12:43 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4063F140E949; Mon, 27 Mar 2023 20:12:41 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 0980919465A2; Mon, 27 Mar 2023 20:12:41 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 54263194658F for ; Mon, 27 Mar 2023 20:12:39 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 4456C202701F; Mon, 27 Mar 2023 20:12:39 +0000 (UTC) Received: from harajuku.usersys.redhat.com.homenet.telecomitalia.it (unknown [10.45.225.170]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A3F2C2027042 for ; Mon, 27 Mar 2023 20:12:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1679947970; h=from:from:sender:sender: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:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=aYC/9eSRY17kqhl9wChw/oFYsKRxR8Dkv7Wn6omLRLQ=; b=Hr3SFntYC8c3hWzf3LPwDurvrrKdt51ENEBABSg2Hg00rjCEWvi+243YQM62UN313zxjbN ugJU8mRRe1ooHG0BLUrP5j1oD66cgjei/wNmQr54pPhPPtpjGGlVzHR0lM6JFU+jAz0fbV OKCS2nwPt59Zs3RLhcbi2L28O55ey8g= X-MC-Unique: Crv-YJLTMeaSviDOgHtvqw-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Andrea Bolognani To: libvir-list@redhat.com Subject: [libvirt PATCH 1/3] tests: Introduce DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE() Date: Mon, 27 Mar 2023 22:12:33 +0200 Message-Id: <20230327201235.137127-2-abologna@redhat.com> In-Reply-To: <20230327201235.137127-1-abologna@redhat.com> References: <20230327201235.137127-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1679947972324100001 Content-Type: text/plain; charset="utf-8"; x-default="true" Signed-off-by: Andrea Bolognani Reviewed-by: Martin Kletzander --- tests/qemuxml2argvtest.c | 5 +++++ tests/qemuxml2xmltest.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index bd3f46fbe0..cc85790017 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -890,6 +890,11 @@ mymain(void) # define DO_TEST_CAPS_ARCH_LATEST(name, arch) \ DO_TEST_CAPS_ARCH_LATEST_FULL(name, arch, ARG_END) =20 +# define DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE(name, arch) \ + DO_TEST_CAPS_ARCH_LATEST_FULL(name, arch, \ + ARG_PARSEFLAGS, VIR_DOMAIN_DEF_PARSE_ABI= _UPDATE, \ + ARG_END) + # define DO_TEST_CAPS_ARCH_VER(name, arch, ver) \ DO_TEST_CAPS_ARCH_VER_FULL(name, arch, ver, ARG_END) =20 diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 6cdead532d..fc8fdaad07 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -193,6 +193,11 @@ mymain(void) #define DO_TEST_CAPS_ARCH_LATEST(name, arch) \ DO_TEST_CAPS_ARCH_LATEST_FULL(name, arch, ARG_END) =20 +#define DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE(name, arch) \ + DO_TEST_CAPS_ARCH_LATEST_FULL(name, arch, \ + ARG_PARSEFLAGS, VIR_DOMAIN_DEF_PARSE_ABI= _UPDATE, \ + ARG_END) + #define DO_TEST_CAPS_ARCH_VER(name, arch, ver) \ DO_TEST_CAPS_ARCH_VER_FULL(name, arch, ver, ARG_END) =20 --=20 2.39.2 From nobody Tue Feb 10 15:01:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1679948044; cv=none; d=zohomail.com; s=zohoarc; b=D6k671nLRfrDKwzvn7VY16+Qa9D6cguA/SiTRJp2Vvwtz21TzTrBCW53lveQW8pW/bwNYfbzlnv4qYe4Fb1wr/8UtPk9eQH/pI+J08+5OM/cCgBUZZug3o1bIIfrGGJzF5yCeyoL8c7+4A0K8qfzGJkD4qoeEQVN6sHgsyU1OkA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1679948044; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=A2PT2f/+icYwOrnrqRkQm3/bVCf1BQNIZlswLcGvDe8=; b=CpxjvG07RRlHDLPCp7bbbKXG4/dMg6ExkMr4khGy6vBJEGCEyFf9Yl4UCLRuejlZjjv6NMh7io96xQKT+ahbMAjYqROxnx5ITvXUyYE4tolQO1JsslRspWji6C001SMwBSLhqX469ByJ/JdGUHvo4xkPirUXDqQ3Krwl7a3dy08= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1679948044812967.7639636566875; Mon, 27 Mar 2023 13:14:04 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-403-ShDyuOmjMdaSFhsixzbx_w-1; Mon, 27 Mar 2023 16:12:59 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4B3BB8828C8; Mon, 27 Mar 2023 20:12:56 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 363484020C82; Mon, 27 Mar 2023 20:12:56 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 515AF19472C2; Mon, 27 Mar 2023 20:12:47 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 55C79194658F for ; Mon, 27 Mar 2023 20:12:40 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 37011202701E; Mon, 27 Mar 2023 20:12:40 +0000 (UTC) Received: from harajuku.usersys.redhat.com.homenet.telecomitalia.it (unknown [10.45.225.170]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A190A2027042 for ; Mon, 27 Mar 2023 20:12:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1679948043; h=from:from:sender:sender: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:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=A2PT2f/+icYwOrnrqRkQm3/bVCf1BQNIZlswLcGvDe8=; b=flBCy71Tbp9vaBz1yvSdM7zY1KDAc2JN7+Zwzcvf2w+Qb0NWtx/rSCTTaJbFptCOtFYVFR mryn2AZ2gsbSynhpeRv0NhE30xrLwRQsDu8oQMHVc55llqV7efVCdqqbLeeaXANC4Pdmwm R+TRA2aEB38pFwlah+rkvt+hN7rsm3s= X-MC-Unique: ShDyuOmjMdaSFhsixzbx_w-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Andrea Bolognani To: libvir-list@redhat.com Subject: [libvirt PATCH 2/3] tests: Add firmware-auto-efi-abi-update-aarch64 test case Date: Mon, 27 Mar 2023 22:12:34 +0200 Message-Id: <20230327201235.137127-3-abologna@redhat.com> In-Reply-To: <20230327201235.137127-1-abologna@redhat.com> References: <20230327201235.137127-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1679948046601100001 Content-Type: text/plain; charset="utf-8"; x-default="true" The input is identical to that of the existing firmware-auto-efi-aarch64 test, but in this case we want to cover the scenario in which that input is used to define a new domain rather than loading the definition of an existing domain from disk. Signed-off-by: Andrea Bolognani Reviewed-by: Martin Kletzander --- ...efi-abi-update-aarch64.aarch64-latest.args | 35 +++++++++++++++++++ .../firmware-auto-efi-abi-update-aarch64.xml | 17 +++++++++ tests/qemuxml2argvtest.c | 1 + ...-efi-abi-update-aarch64.aarch64-latest.xml | 35 +++++++++++++++++++ tests/qemuxml2xmltest.c | 1 + 5 files changed, 89 insertions(+) create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aar= ch64.aarch64-latest.args create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aar= ch64.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-auto-efi-abi-update-a= arch64.aarch64-latest.xml diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.aa= rch64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aar= ch64.aarch64-latest.args new file mode 100644 index 0000000000..81dbf9cf1b --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.aarch64-l= atest.args @@ -0,0 +1,35 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/var/lib/libvirt/qemu/domain--1-guest \ +USER=3Dtest \ +LOGNAME=3Dtest \ +XDG_DATA_HOME=3D/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=3D/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=3D/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-aarch64 \ +-name guest=3Dguest,debug-threads=3Don \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/va= r/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.qcow2"= ,"node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unm= ap"}' \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver"= :"qcow2","file":"libvirt-pflash0-storage"}' \ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/guest_= VARS.qcow2","node-name":"libvirt-pflash1-storage","auto-read-only":true,"di= scard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver= ":"qcow2","file":"libvirt-pflash1-storage"}' \ +-machine virt-4.0,usb=3Doff,gic-version=3D2,dump-guest-core=3Doff,memory-b= ackend=3Dmach-virt.ram,pflash0=3Dlibvirt-pflash0-format,pflash1=3Dlibvirt-p= flash1-format \ +-accel tcg \ +-cpu cortex-a15 \ +-m 1024 \ +-object '{"qom-type":"memory-backend-ram","id":"mach-virt.ram","size":1073= 741824}' \ +-overcommit mem-lock=3Doff \ +-smp 1,sockets=3D1,cores=3D1,threads=3D1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,fd=3D1729,server=3Don,wait=3Doff \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \ +-rtc base=3Dutc \ +-no-shutdown \ +-boot strict=3Don \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.xm= l b/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.xml new file mode 100644 index 0000000000..5c6c5192ba --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.xml @@ -0,0 +1,17 @@ + + guest + 63840878-0deb-4095-97e6-fc444d9bc9fa + 1048576 + 1 + + hvm + + + + + + /usr/bin/qemu-system-aarch64 + + + + diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index cc85790017..72903911bf 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1133,6 +1133,7 @@ mymain(void) DO_TEST_CAPS_LATEST_PARSE_ERROR("firmware-auto-efi-enrolled-keys-no-se= cboot"); DO_TEST_CAPS_LATEST("firmware-auto-efi-smm-off"); DO_TEST_CAPS_ARCH_LATEST("firmware-auto-efi-aarch64", "aarch64"); + DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE("firmware-auto-efi-abi-update-aarc= h64", "aarch64"); DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram-file"); DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram-network-nbd"); DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram-network-iscsi"); diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-abi-update-aarch64.= aarch64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-abi-update-= aarch64.aarch64-latest.xml new file mode 100644 index 0000000000..5779eca7a0 --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-abi-update-aarch64.aarch64= -latest.xml @@ -0,0 +1,35 @@ + + guest + 63840878-0deb-4095-97e6-fc444d9bc9fa + 1048576 + 1048576 + 1 + + hvm + + + + + /usr/share/A= AVMF/AAVMF_CODE.qcow2 + /var/lib/libvirt/qemu/nvram/guest_VARS.qcow2 + + + + + + + + cortex-a15 + + + destroy + restart + destroy + + /usr/bin/qemu-system-aarch64 + + + + diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index fc8fdaad07..005b231c1a 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -961,6 +961,7 @@ mymain(void) DO_TEST_CAPS_LATEST("firmware-auto-efi-no-enrolled-keys"); DO_TEST_CAPS_LATEST("firmware-auto-efi-smm-off"); DO_TEST_CAPS_ARCH_LATEST("firmware-auto-efi-aarch64", "aarch64"); + DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE("firmware-auto-efi-abi-update-aarc= h64", "aarch64"); DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram-file"); DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram-network-nbd"); DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram-network-iscsi"); --=20 2.39.2 From nobody Tue Feb 10 15:01:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1679947985; cv=none; d=zohomail.com; s=zohoarc; b=SakDlbl+oXAVeyqbLu4hV33ziSBHz13l5i1Yom6zGdOxj8xrtO4SrrEF4ss0gsBvXSEspcCPYZ+z0kU0N1HHIXw1wbAzmMjxR0w7M5TJl3A+SQjt8Q3JWMNwgmNCLZvoTnMPAjaHqoqnpzfVXIoPw7qYMRk4NXub63lzxpM3wZw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1679947985; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=O0ga+eudV6gY9lpZlAH9yOCCJBBz9OuEw8Tq//dwaQU=; b=PQLe5ZVPzsKjMK2KumspDjaOZ8pf8zL2V4xv0p29XKw2aXUpSD3/RYrCBXDZB9dFtjsSXBwNrT5EjvPEw61j4qQAhJ25ODP2ULvhu2kd1cvJXBzdGByiiuM9WD2CqQwQR0j+QgwjARYNElVAagXgVINj3iBAgmvNdAmj06PctcQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1679947985049513.2408898273569; Mon, 27 Mar 2023 13:13:05 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-77-ashC0u3DNi2yVUV3WrnT3A-1; Mon, 27 Mar 2023 16:13:01 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 76FAE3801FE8; Mon, 27 Mar 2023 20:12:59 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 61AE64020C84; Mon, 27 Mar 2023 20:12:59 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 9C0FD19465A4; Mon, 27 Mar 2023 20:12:57 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 563841946A5A for ; Mon, 27 Mar 2023 20:12:41 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 5163E2027042; Mon, 27 Mar 2023 20:12:41 +0000 (UTC) Received: from harajuku.usersys.redhat.com.homenet.telecomitalia.it (unknown [10.45.225.170]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 997832027041 for ; Mon, 27 Mar 2023 20:12:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1679947984; h=from:from:sender:sender: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:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=O0ga+eudV6gY9lpZlAH9yOCCJBBz9OuEw8Tq//dwaQU=; b=GunfeBoe0EYt9H7oNPieJsXO8rtvfOR94nuQf2u3ABxpxRT9FK0bGjuN6Z5WvvH3WTwPe9 RotnUiM6iGjzGYb9OpC+gHFpyaGo1De6fi1xsR9+Y3ctsj7tcqOB7zOvUwgeOmq0LTRLwM DmIVpZL3ChGfTDxV69J2BLrtOXitEfc= X-MC-Unique: ashC0u3DNi2yVUV3WrnT3A-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Andrea Bolognani To: libvir-list@redhat.com Subject: [libvirt PATCH 3/3] qemu: Default to raw firmware for existing domains Date: Mon, 27 Mar 2023 22:12:35 +0200 Message-Id: <20230327201235.137127-4-abologna@redhat.com> In-Reply-To: <20230327201235.137127-1-abologna@redhat.com> References: <20230327201235.137127-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1679947986314100001 Content-Type: text/plain; charset="utf-8"; x-default="true" The changes to the output files are the exact opposite of those from commit 22207713cf8e: this is proof that the fix is working as intended, and that existing domains will keep using raw firmware images regardless of whether or not qcow2 images are available on the system and have higher priority. New domains will keep picking whatever firmware is considered the preferred one according to the order of descriptors, as evidenced by the fact that the recently introduced firmware-auto-efi-abi-update-aarch64 test case is unaffected. Signed-off-by: Andrea Bolognani Reviewed-by: Martin Kletzander --- src/qemu/qemu_domain.c | 17 +++++++++++++++++ ...irmware-auto-efi-aarch64.aarch64-latest.args | 8 ++++---- .../pvpanic-pci-aarch64.aarch64-latest.args | 8 ++++---- ...c-pci-no-address-aarch64.aarch64-latest.args | 8 ++++---- .../virtio-iommu-aarch64.aarch64-latest.args | 8 ++++---- ...firmware-auto-efi-aarch64.aarch64-latest.xml | 4 ++-- .../pvpanic-pci-aarch64.aarch64-latest.xml | 4 ++-- ...ic-pci-no-address-aarch64.aarch64-latest.xml | 4 ++-- .../virtio-iommu-aarch64.aarch64-latest.xml | 4 ++-- 9 files changed, 41 insertions(+), 24 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 6c29c8f09f..d3e74d5c71 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4474,6 +4474,23 @@ qemuDomainDefBootPostParse(virDomainDef *def, { bool abiUpdate =3D !!(parseFlags & VIR_DOMAIN_DEF_PARSE_ABI_UPDATE); =20 + /* If we're loading an existing configuration from disk, we + * should try as hard as possible to preserve historical + * behavior. In particular, firmware autoselection being enabled + * could never have resulted, before libvirt 9.2.0, in anything + * but a raw firmware image being selected. + * + * In order to ensure that existing domains keep working even if + * a firmware descriptor for a build with a different format is + * given higher priority, explicitly add this requirement to the + * definition before performing firmware selection */ + if (!abiUpdate && def->os.firmware) { + if (!def->os.loader) + def->os.loader =3D virDomainLoaderDefNew(); + if (!def->os.loader->format) + def->os.loader->format =3D VIR_STORAGE_FILE_RAW; + } + /* Firmware selection can fail for a number of reasons, but the * most likely one is that the requested configuration contains * mistakes or includes constraints that are impossible to diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-aarch64.aarch64-lates= t.args b/tests/qemuxml2argvdata/firmware-auto-efi-aarch64.aarch64-latest.ar= gs index 81dbf9cf1b..a8b9cae35f 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-aarch64.aarch64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-aarch64.aarch64-latest.args @@ -10,10 +10,10 @@ XDG_CONFIG_HOME=3D/var/lib/libvirt/qemu/domain--1-guest= /.config \ -name guest=3Dguest,debug-threads=3Don \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/va= r/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.qcow2"= ,"node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unm= ap"}' \ --blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver"= :"qcow2","file":"libvirt-pflash0-storage"}' \ --blockdev '{"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/guest_= VARS.qcow2","node-name":"libvirt-pflash1-storage","auto-read-only":true,"di= scard":"unmap"}' \ --blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver= ":"qcow2","file":"libvirt-pflash1-storage"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","n= ode-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"= }' \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver"= :"raw","file":"libvirt-pflash0-storage"}' \ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/guest_= VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"disca= rd":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver= ":"raw","file":"libvirt-pflash1-storage"}' \ -machine virt-4.0,usb=3Doff,gic-version=3D2,dump-guest-core=3Doff,memory-b= ackend=3Dmach-virt.ram,pflash0=3Dlibvirt-pflash0-format,pflash1=3Dlibvirt-p= flash1-format \ -accel tcg \ -cpu cortex-a15 \ diff --git a/tests/qemuxml2argvdata/pvpanic-pci-aarch64.aarch64-latest.args= b/tests/qemuxml2argvdata/pvpanic-pci-aarch64.aarch64-latest.args index a5bf0d68be..32cfa998c2 100644 --- a/tests/qemuxml2argvdata/pvpanic-pci-aarch64.aarch64-latest.args +++ b/tests/qemuxml2argvdata/pvpanic-pci-aarch64.aarch64-latest.args @@ -10,10 +10,10 @@ XDG_CONFIG_HOME=3D/var/lib/libvirt/qemu/domain--1-guest= /.config \ -name guest=3Dguest,debug-threads=3Don \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/va= r/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.qcow2"= ,"node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unm= ap"}' \ --blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver"= :"qcow2","file":"libvirt-pflash0-storage"}' \ --blockdev '{"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/guest_= VARS.qcow2","node-name":"libvirt-pflash1-storage","auto-read-only":true,"di= scard":"unmap"}' \ --blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver= ":"qcow2","file":"libvirt-pflash1-storage"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","n= ode-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"= }' \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver"= :"raw","file":"libvirt-pflash0-storage"}' \ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/guest_= VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"disca= rd":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver= ":"raw","file":"libvirt-pflash1-storage"}' \ -machine virt-6.0,usb=3Doff,gic-version=3D2,dump-guest-core=3Doff,memory-b= ackend=3Dmach-virt.ram,pflash0=3Dlibvirt-pflash0-format,pflash1=3Dlibvirt-p= flash1-format \ -accel tcg \ -cpu cortex-a15 \ diff --git a/tests/qemuxml2argvdata/pvpanic-pci-no-address-aarch64.aarch64-= latest.args b/tests/qemuxml2argvdata/pvpanic-pci-no-address-aarch64.aarch64= -latest.args index ed38ba1b81..4e78e03ec4 100644 --- a/tests/qemuxml2argvdata/pvpanic-pci-no-address-aarch64.aarch64-latest.= args +++ b/tests/qemuxml2argvdata/pvpanic-pci-no-address-aarch64.aarch64-latest.= args @@ -10,10 +10,10 @@ XDG_CONFIG_HOME=3D/var/lib/libvirt/qemu/domain--1-guest= /.config \ -name guest=3Dguest,debug-threads=3Don \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/va= r/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.qcow2"= ,"node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unm= ap"}' \ --blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver"= :"qcow2","file":"libvirt-pflash0-storage"}' \ --blockdev '{"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/guest_= VARS.qcow2","node-name":"libvirt-pflash1-storage","auto-read-only":true,"di= scard":"unmap"}' \ --blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver= ":"qcow2","file":"libvirt-pflash1-storage"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","n= ode-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"= }' \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver"= :"raw","file":"libvirt-pflash0-storage"}' \ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/guest_= VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"disca= rd":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver= ":"raw","file":"libvirt-pflash1-storage"}' \ -machine virt-6.0,usb=3Doff,gic-version=3D2,dump-guest-core=3Doff,memory-b= ackend=3Dmach-virt.ram,pflash0=3Dlibvirt-pflash0-format,pflash1=3Dlibvirt-p= flash1-format \ -accel tcg \ -cpu cortex-a15 \ diff --git a/tests/qemuxml2argvdata/virtio-iommu-aarch64.aarch64-latest.arg= s b/tests/qemuxml2argvdata/virtio-iommu-aarch64.aarch64-latest.args index 7f1612454a..a58798acf1 100644 --- a/tests/qemuxml2argvdata/virtio-iommu-aarch64.aarch64-latest.args +++ b/tests/qemuxml2argvdata/virtio-iommu-aarch64.aarch64-latest.args @@ -10,10 +10,10 @@ XDG_CONFIG_HOME=3D/var/lib/libvirt/qemu/domain--1-guest= /.config \ -name guest=3Dguest,debug-threads=3Don \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/va= r/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.qcow2"= ,"node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unm= ap"}' \ --blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver"= :"qcow2","file":"libvirt-pflash0-storage"}' \ --blockdev '{"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/guest_= VARS.qcow2","node-name":"libvirt-pflash1-storage","auto-read-only":true,"di= scard":"unmap"}' \ --blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver= ":"qcow2","file":"libvirt-pflash1-storage"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","n= ode-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"= }' \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver"= :"raw","file":"libvirt-pflash0-storage"}' \ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/guest_= VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"disca= rd":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver= ":"raw","file":"libvirt-pflash1-storage"}' \ -machine virt-6.0,usb=3Doff,gic-version=3D2,dump-guest-core=3Doff,memory-b= ackend=3Dmach-virt.ram,pflash0=3Dlibvirt-pflash0-format,pflash1=3Dlibvirt-p= flash1-format \ -accel tcg \ -cpu cortex-a15 \ diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-aarch64.aarch64-lat= est.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-aarch64.aarch64-latest= .xml index 5779eca7a0..8eb6086e40 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-aarch64.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-aarch64.aarch64-latest.xml @@ -10,8 +10,8 @@ - /usr/share/A= AVMF/AAVMF_CODE.qcow2 - /var/lib/libvirt/qemu/nvram/guest_VARS.qcow2 + /usr/share/AAVMF/AAVMF_CODE.f= d + /var/lib/libvirt/qe= mu/nvram/guest_VARS.fd diff --git a/tests/qemuxml2xmloutdata/pvpanic-pci-aarch64.aarch64-latest.xm= l b/tests/qemuxml2xmloutdata/pvpanic-pci-aarch64.aarch64-latest.xml index 2a83ace748..92dcd92d19 100644 --- a/tests/qemuxml2xmloutdata/pvpanic-pci-aarch64.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/pvpanic-pci-aarch64.aarch64-latest.xml @@ -10,8 +10,8 @@ - /usr/share/A= AVMF/AAVMF_CODE.qcow2 - /var/lib/libvirt/qemu/nvram/guest_VARS.qcow2 + /usr/share/AAVMF/AAVMF_CODE.f= d + /var/lib/libvirt/qe= mu/nvram/guest_VARS.fd diff --git a/tests/qemuxml2xmloutdata/pvpanic-pci-no-address-aarch64.aarch6= 4-latest.xml b/tests/qemuxml2xmloutdata/pvpanic-pci-no-address-aarch64.aarc= h64-latest.xml index d5ed9b23fe..f3e7e2c911 100644 --- a/tests/qemuxml2xmloutdata/pvpanic-pci-no-address-aarch64.aarch64-lates= t.xml +++ b/tests/qemuxml2xmloutdata/pvpanic-pci-no-address-aarch64.aarch64-lates= t.xml @@ -10,8 +10,8 @@ - /usr/share/A= AVMF/AAVMF_CODE.qcow2 - /var/lib/libvirt/qemu/nvram/guest_VARS.qcow2 + /usr/share/AAVMF/AAVMF_CODE.f= d + /var/lib/libvirt/qe= mu/nvram/guest_VARS.fd diff --git a/tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-latest.x= ml b/tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-latest.xml index 589295e602..ee747e7496 100644 --- a/tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-latest.xml @@ -10,8 +10,8 @@ - /usr/share/A= AVMF/AAVMF_CODE.qcow2 - /var/lib/libvirt/qemu/nvram/guest_VARS.qcow2 + /usr/share/AAVMF/AAVMF_CODE.f= d + /var/lib/libvirt/qe= mu/nvram/guest_VARS.fd --=20 2.39.2