From nobody Mon Sep 16 19:33:46 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.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.133.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=1679081300; cv=none; d=zohomail.com; s=zohoarc; b=B5kYFx9veYkWTMImVj0xZ1aaRidyJYYBvVWC17VhV3jlZMO+yeDHswT9RYwaeRGRe3wdNNEjpFQll6bt/SCcla7BwGtkTGyU0nsGumJ/JwUtE/afFTPnIzn0/T42CntiwAIAkNGH49HVKPEBagXKKgopOowch3SXmWIWv9Jmqa8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1679081300; 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=bkOpZ6mHc5yMLlqB37jEGwtouRfPCM7Q2D6cbPw/efA=; b=LGLNjGdwMz0Xa49udHxvOzdbO7mBs5ZDHJadRkXvl1altf1wB7CXTaZvYBlec6CJeMfc8IXl3oFjIC5M4vzDNu5dUkYi861sY7YtRd/6kOJKqG0VBFikWDJ8MsISoHdMUE0nUYFHRrVrriDIixMD4HsxhFxTAHHkibSUdC6eBfI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.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.133.124]) by mx.zohomail.com with SMTPS id 1679081300348225.45504538961404; Fri, 17 Mar 2023 12:28:20 -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-654--UxZBApjOrqZESZPUOpLMg-1; Fri, 17 Mar 2023 15:28:16 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id CB92E3C14867; Fri, 17 Mar 2023 19:28:09 +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 B66C940D1C7; Fri, 17 Mar 2023 19:28:09 +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 6436119472CA; Fri, 17 Mar 2023 19:28:04 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 7539919466DF for ; Fri, 17 Mar 2023 19:27:58 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 6733F40C6E68; Fri, 17 Mar 2023 19:27:58 +0000 (UTC) Received: from harajuku.usersys.redhat.com.homenet.telecomitalia.it (unknown [10.45.226.11]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CDB3540C6E67 for ; Fri, 17 Mar 2023 19:27:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1679081299; 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=bkOpZ6mHc5yMLlqB37jEGwtouRfPCM7Q2D6cbPw/efA=; b=UI8EPmXFTLo8bbFW56JHz2gCC085olOZvv2iGmc/c7NUerSgTza+ZwXsp9226d7zce4pYD h7nK2zapFDxHR8mrVCD9WWwi/8oCcqsmWPvbofQMxydXfI17/CoUKLVjjq9MKiSPgbS54G z6AqLX5j2b9nCJaxrHAap8bWtpxHs0I= X-MC-Unique: -UxZBApjOrqZESZPUOpLMg-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Andrea Bolognani To: libvir-list@redhat.com Subject: [libvirt PATCH 12/15] qemu: Automatically add firmware type/features information Date: Fri, 17 Mar 2023 20:27:44 +0100 Message-Id: <20230317192747.1311223-13-abologna@redhat.com> In-Reply-To: <20230317192747.1311223-1-abologna@redhat.com> References: <20230317192747.1311223-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 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.10 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: 1679081300742100005 Content-Type: text/plain; charset="utf-8"; x-default="true" Even when the user is not taking advantage of firmware autoselection and instead manually providing all the necessary information, in most cases they're still going to use firmware builds that are provided by the OS vendor, are installed in standard paths and come with a corresponding firmware descriptor. Similarly, even when the user is not guiding the autoselection process by specifying the desired status of certain features and instead is relying on the system-level descriptor priority being set up correctly, libvirt will still ultimately decide to use a specific descriptor, which includes information about the firmware's features. In both these cases, take the additional information that were obtained from the firmware descriptor and reflect them back into the domain XML, where they can be conveniently inspected by the user and management applications alike. Signed-off-by: Andrea Bolognani --- src/qemu/qemu_firmware.c | 86 ++++++++++++++++++- ...ware-auto-bios-stateless.x86_64-latest.xml | 4 + .../firmware-auto-bios.x86_64-latest.xml | 4 + ...rmware-auto-efi-aarch64.aarch64-latest.xml | 4 + ...-efi-format-loader-qcow2.x86_64-latest.xml | 4 + ...o-efi-format-loader-raw.aarch64-latest.xml | 4 + ...-nvram-qcow2-network-nbd.x86_64-latest.xml | 3 + ...-format-nvram-qcow2-path.x86_64-latest.xml | 4 + ...o-efi-format-nvram-qcow2.x86_64-latest.xml | 4 + ...auto-efi-loader-insecure.x86_64-latest.xml | 4 + ...are-auto-efi-loader-path.x86_64-latest.xml | 4 + ...e-auto-efi-loader-secure.x86_64-latest.xml | 4 + ...uto-efi-no-enrolled-keys.x86_64-latest.xml | 1 + ...ware-auto-efi-no-secboot.x86_64-latest.xml | 1 + ...ware-auto-efi-nvram-file.x86_64-latest.xml | 4 + ...-efi-nvram-network-iscsi.x86_64-latest.xml | 3 + ...to-efi-nvram-network-nbd.x86_64-latest.xml | 3 + .../firmware-auto-efi-nvram.x86_64-latest.xml | 4 + ...irmware-auto-efi-secboot.x86_64-latest.xml | 1 + ...irmware-auto-efi-smm-off.x86_64-latest.xml | 4 + ...mware-auto-efi-stateless.x86_64-latest.xml | 4 + .../firmware-auto-efi.x86_64-latest.xml | 4 + ...manual-efi-acpi-aarch64.aarch64-latest.xml | 6 +- ...ware-manual-efi-acpi-q35.x86_64-latest.xml | 6 +- ...manual-efi-loader-secure.x86_64-latest.xml | 6 +- ...ual-efi-no-enrolled-keys.x86_64-latest.xml | 6 +- ...re-manual-efi-no-secboot.x86_64-latest.xml | 6 +- ...nual-efi-noacpi-aarch64.aarch64-latest.xml | 6 +- ...re-manual-efi-nvram-file.x86_64-latest.xml | 6 +- ...-efi-nvram-network-iscsi.x86_64-latest.xml | 5 +- ...al-efi-nvram-network-nbd.x86_64-latest.xml | 5 +- ...anual-efi-nvram-template.x86_64-latest.xml | 6 +- ...mware-manual-efi-secboot.x86_64-latest.xml | 6 +- .../firmware-manual-efi.x86_64-latest.xml | 6 +- .../pvpanic-pci-aarch64.aarch64-latest.xml | 4 + ...-pci-no-address-aarch64.aarch64-latest.xml | 4 + .../virtio-iommu-aarch64.aarch64-latest.xml | 4 + 37 files changed, 225 insertions(+), 15 deletions(-) diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c index d906d8bc86..7a0b04eb1a 100644 --- a/src/qemu/qemu_firmware.c +++ b/src/qemu/qemu_firmware.c @@ -1011,6 +1011,25 @@ qemuFirmwareOSInterfaceTypeFromOsDefFirmware(virDoma= inOsDefFirmware fw) } =20 =20 +static virDomainOsDefFirmware +qemuFirmwareOSInterfaceTypeToOsDefFirmware(qemuFirmwareOSInterface interfa= ce) +{ + switch (interface) { + case QEMU_FIRMWARE_OS_INTERFACE_BIOS: + return VIR_DOMAIN_OS_DEF_FIRMWARE_BIOS; + case QEMU_FIRMWARE_OS_INTERFACE_UEFI: + return VIR_DOMAIN_OS_DEF_FIRMWARE_EFI; + case QEMU_FIRMWARE_OS_INTERFACE_UBOOT: + case QEMU_FIRMWARE_OS_INTERFACE_OPENFIRMWARE: + case QEMU_FIRMWARE_OS_INTERFACE_NONE: + case QEMU_FIRMWARE_OS_INTERFACE_LAST: + break; + } + + return VIR_DOMAIN_OS_DEF_FIRMWARE_NONE; +} + + static qemuFirmwareOSInterface qemuFirmwareOSInterfaceTypeFromOsDefLoaderType(virDomainLoader type) { @@ -1071,6 +1090,46 @@ qemuFirmwareEnsureNVRAM(virDomainDef *def, } =20 =20 + +/** + * qemuFirmwareSetOsFeatures: + * @def: domain definition + * @secureBoot: whether the 'secure-boot' feature is enabled + * @enrolledKeys: whether the 'enrolled-keys' feature is enabled + * + * Set firmware features for @def to match those declared by the JSON + * descriptor that was found to match autoselection requirements. + */ +static void +qemuFirmwareSetOsFeatures(virDomainDef *def, + bool secureBoot, + bool enrolledKeys) +{ + int *features =3D def->os.firmwareFeatures; + virDomainLoaderDef *loader =3D def->os.loader; + + if (!features) { + features =3D g_new0(int, VIR_DOMAIN_OS_DEF_FIRMWARE_FEATURE_LAST); + def->os.firmwareFeatures =3D features; + } + + features[VIR_DOMAIN_OS_DEF_FIRMWARE_FEATURE_SECURE_BOOT] =3D virTrista= teBoolFromBool(secureBoot); + features[VIR_DOMAIN_OS_DEF_FIRMWARE_FEATURE_ENROLLED_KEYS] =3D virTris= tateBoolFromBool(enrolledKeys); + + /* If the NVRAM template is blank at this point and we're not dealing + * with a stateless firmware image, then it means that the NVRAM file + * is not local. In this scenario we can't really make any assumptions + * about its contents, so it's preferable to leave the state of the + * enrolled-keys feature unspecified */ + if (loader && + loader->type =3D=3D VIR_DOMAIN_LOADER_TYPE_PFLASH && + loader->stateless !=3D VIR_TRISTATE_BOOL_YES && + !loader->nvramTemplate) { + features[VIR_DOMAIN_OS_DEF_FIRMWARE_FEATURE_ENROLLED_KEYS] =3D VIR= _TRISTATE_BOOL_ABSENT; + } +} + + #define VIR_QEMU_FIRMWARE_AMD_SEV_ES_POLICY (1 << 2) =20 =20 @@ -1294,6 +1353,8 @@ qemuFirmwareEnableFeaturesModern(virQEMUDriverConfig = *cfg, const qemuFirmwareMappingMemory *memory =3D &fw->mapping.data.memory; virDomainLoaderDef *loader =3D NULL; virStorageFileFormat format; + bool hasSecureBoot =3D false; + bool hasEnrolledKeys =3D false; size_t i; =20 switch (fw->mapping.device) { @@ -1366,20 +1427,39 @@ qemuFirmwareEnableFeaturesModern(virQEMUDriverConfi= g *cfg, def->os.loader->secure =3D VIR_TRISTATE_BOOL_YES; break; =20 - case QEMU_FIRMWARE_FEATURE_NONE: + case QEMU_FIRMWARE_FEATURE_SECURE_BOOT: + hasSecureBoot =3D true; + break; + + case QEMU_FIRMWARE_FEATURE_ENROLLED_KEYS: + hasEnrolledKeys =3D true; + break; + case QEMU_FIRMWARE_FEATURE_ACPI_S3: case QEMU_FIRMWARE_FEATURE_ACPI_S4: case QEMU_FIRMWARE_FEATURE_AMD_SEV: case QEMU_FIRMWARE_FEATURE_AMD_SEV_ES: - case QEMU_FIRMWARE_FEATURE_ENROLLED_KEYS: - case QEMU_FIRMWARE_FEATURE_SECURE_BOOT: case QEMU_FIRMWARE_FEATURE_VERBOSE_DYNAMIC: case QEMU_FIRMWARE_FEATURE_VERBOSE_STATIC: + case QEMU_FIRMWARE_FEATURE_NONE: case QEMU_FIRMWARE_FEATURE_LAST: break; } } =20 + if (!def->os.firmware) { + /* If a firmware type for autoselection was not already present, + * pick the first reasonable one from the descriptor list */ + for (i =3D 0; i < fw->ninterfaces; i++) { + def->os.firmware =3D qemuFirmwareOSInterfaceTypeToOsDefFirmwar= e(fw->interfaces[i]); + if (def->os.firmware) + break; + } + } + if (def->os.firmware) { + qemuFirmwareSetOsFeatures(def, hasSecureBoot, hasEnrolledKeys); + } + return 0; } =20 diff --git a/tests/qemuxml2xmloutdata/firmware-auto-bios-stateless.x86_64-l= atest.xml b/tests/qemuxml2xmloutdata/firmware-auto-bios-stateless.x86_64-la= test.xml index d1ecd8593f..e69f8c01d0 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-bios-stateless.x86_64-latest.x= ml +++ b/tests/qemuxml2xmloutdata/firmware-auto-bios-stateless.x86_64-latest.x= ml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/seabios/bios-256k.bi= n diff --git a/tests/qemuxml2xmloutdata/firmware-auto-bios.x86_64-latest.xml = b/tests/qemuxml2xmloutdata/firmware-auto-bios.x86_64-latest.xml index 68e14d3e4b..ffff5a79e2 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-bios.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-bios.x86_64-latest.xml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/seabios/bios-256k.bin diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-aarch64.aarch64-lat= est.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-aarch64.aarch64-latest= .xml index 6da924793b..5779eca7a0 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-aarch64.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-aarch64.aarch64-latest.xml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/A= AVMF/AAVMF_CODE.qcow2 /var/lib/libvirt/qemu/nvram/guest_VARS.qcow2 diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-qcow2= .x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-load= er-qcow2.x86_64-latest.xml index 9f0f3509f2..310ee6ec73 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-qcow2.x86_64= -latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-qcow2.x86_64= -latest.xml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/O= VMF/OVMF_CODE.qcow2 /= var/lib/libvirt/qemu/nvram/guest_VARS.qcow2 diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw.a= arch64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loade= r-raw.aarch64-latest.xml index 8ab29edf42..8eb6086e40 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw.aarch64-= latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw.aarch64-= latest.xml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/AAVMF/AAVMF_CODE.f= d /var/lib/libvirt/qe= mu/nvram/guest_VARS.fd diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-nvram-qcow2-= network-nbd.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-= format-nvram-qcow2-network-nbd.x86_64-latest.xml index 42b044d83f..7ea870bbcd 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-nvram-qcow2-network= -nbd.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-nvram-qcow2-network= -nbd.x86_64-latest.xml @@ -6,6 +6,9 @@ 1 hvm + + + /usr/share/O= VMF/OVMF_CODE.qcow2 diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-nvram-qcow2-= path.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-= nvram-qcow2-path.x86_64-latest.xml index 6b53262dc7..6cf33b0c76 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-nvram-qcow2-path.x8= 6_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-nvram-qcow2-path.x8= 6_64-latest.xml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/O= VMF/OVMF_CODE.qcow2 /= path/to/guest_VARS.qcow2 diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-nvram-qcow2.= x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-nvram= -qcow2.x86_64-latest.xml index 9f0f3509f2..310ee6ec73 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-nvram-qcow2.x86_64-= latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-nvram-qcow2.x86_64-= latest.xml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/O= VMF/OVMF_CODE.qcow2 /= var/lib/libvirt/qemu/nvram/guest_VARS.qcow2 diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-insecure.x86= _64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-insecure= .x86_64-latest.xml index 55da8ee12f..7717677c4b 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-insecure.x86_64-lat= est.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-insecure.x86_64-lat= est.xml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/OVMF= /OVMF_CODE.fd /var/lib/libvirt/qemu= /nvram/guest_VARS.fd diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-path.x86_64-= latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-path.x86_64-= latest.xml index 3977ddc0c7..6f4bf4b5bb 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-path.x86_64-latest.= xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-path.x86_64-latest.= xml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/OVMF/OVMF_CODE.fd<= /loader> /var/lib/libvirt/qemu= /nvram/guest_VARS.fd diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure.x86_6= 4-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure.x86= _64-latest.xml index 1b1b9352c1..90c5040ca6 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure.x86_64-lates= t.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure.x86_64-lates= t.xml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/OVM= F/OVMF_CODE.secboot.fd /var/lib/libv= irt/qemu/nvram/guest_VARS.fd diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-no-enrolled-keys.x8= 6_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-no-enrolled-ke= ys.x86_64-latest.xml index 78b3b81506..e5caf31c4e 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-no-enrolled-keys.x86_64-la= test.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-no-enrolled-keys.x86_64-la= test.xml @@ -8,6 +8,7 @@ hvm + /usr/share/OVM= F/OVMF_CODE.secboot.fd /var/lib/libvirt/qemu= /nvram/guest_VARS.fd diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-no-secboot.x86_64-l= atest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-no-secboot.x86_64-la= test.xml index 57e63a079c..6f4bf4b5bb 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-no-secboot.x86_64-latest.x= ml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-no-secboot.x86_64-latest.x= ml @@ -7,6 +7,7 @@ hvm + /usr/share/OVMF/OVMF_CODE.fd<= /loader> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-file.x86_64-l= atest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-file.x86_64-la= test.xml index 8117f02f15..1418ddbfcd 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-file.x86_64-latest.x= ml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-file.x86_64-latest.x= ml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/OVMF/OVMF_CODE.fd<= /loader> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-network-iscsi= .x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-netwo= rk-iscsi.x86_64-latest.xml index d3ef57f682..ec672780bb 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-network-iscsi.x86_64= -latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-network-iscsi.x86_64= -latest.xml @@ -6,6 +6,9 @@ 1 hvm + + + /usr/share/OVMF/OVMF_CODE.fd<= /loader> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-network-nbd.x= 86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-network= -nbd.x86_64-latest.xml index 6d0d112dd1..3f59dc4d61 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-network-nbd.x86_64-l= atest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-network-nbd.x86_64-l= atest.xml @@ -6,6 +6,9 @@ 1 hvm + + + /usr/share/OVMF/OVMF_CODE.fd<= /loader> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram.x86_64-latest= .xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram.x86_64-latest.xml index d293cd3371..b7dc8fa140 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram.x86_64-latest.xml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/OVM= F/OVMF_CODE.secboot.fd /path/to/gues= t_VARS.fd diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-secboot.x86_64-late= st.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-secboot.x86_64-latest.x= ml index 6dcc5ea88d..90c5040ca6 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-secboot.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-secboot.x86_64-latest.xml @@ -7,6 +7,7 @@ hvm + /usr/share/OVM= F/OVMF_CODE.secboot.fd diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-smm-off.x86_64-late= st.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-smm-off.x86_64-latest.x= ml index 40d8b8815b..4ab4d9587c 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-smm-off.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-smm-off.x86_64-latest.xml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/OVMF/OVMF_CODE.fd<= /loader> /var/lib/libvirt/qemu= /nvram/guest_VARS.fd diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-stateless.x86_64-la= test.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-stateless.x86_64-late= st.xml index 7939dc666b..b1aa817a56 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-stateless.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-stateless.x86_64-latest.xml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/= OVMF/OVMF.sev.fd diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi.x86_64-latest.xml b= /tests/qemuxml2xmloutdata/firmware-auto-efi.x86_64-latest.xml index 1b1b9352c1..90c5040ca6 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi.x86_64-latest.xml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/OVM= F/OVMF_CODE.secboot.fd /var/lib/libv= irt/qemu/nvram/guest_VARS.fd diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-aarch64.aarc= h64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-aarch64.= aarch64-latest.xml index 34257e4f80..318ffdf93c 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-aarch64.aarch64-lat= est.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-aarch64.aarch64-lat= est.xml @@ -4,8 +4,12 @@ 1048576 1048576 1 - + hvm + + + + /usr/share/AAVMF/AAVMF_CODE.f= d /path/to/guest_VARS= .fd diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-q35.x86_64-l= atest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-q35.x86_64-la= test.xml index ff7793a377..ac58a278f9 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-q35.x86_64-latest.x= ml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-q35.x86_64-latest.x= ml @@ -4,8 +4,12 @@ 1048576 1048576 1 - + hvm + + + + /usr/share/OVMF/OVMF_CODE.fd<= /loader> /path/to/guest_VARS.f= d diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-loader-secure.x86= _64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-loader-secure= .x86_64-latest.xml index aa90d3e2f2..69b6d91e99 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-loader-secure.x86_64-lat= est.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-loader-secure.x86_64-lat= est.xml @@ -4,8 +4,12 @@ 1048576 1048576 1 - + hvm + + + + /usr/share/OVM= F/OVMF_CODE.secboot.fd /path/to/gues= t_VARS.fd diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-no-enrolled-keys.= x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-no-enrolle= d-keys.x86_64-latest.xml index 4caa7950ce..2e287b8cd1 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-no-enrolled-keys.x86_64-= latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-no-enrolled-keys.x86_64-= latest.xml @@ -4,8 +4,12 @@ 1048576 1048576 1 - + hvm + + + + /usr/share/OVM= F/OVMF_CODE.secboot.fd /path/to/guest_VARS.f= d diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-no-secboot.x86_64= -latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-no-secboot.x86_6= 4-latest.xml index ff7793a377..ac58a278f9 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-no-secboot.x86_64-latest= .xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-no-secboot.x86_64-latest= .xml @@ -4,8 +4,12 @@ 1048576 1048576 1 - + hvm + + + + /usr/share/OVMF/OVMF_CODE.fd<= /loader> /path/to/guest_VARS.f= d diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-noacpi-aarch64.aa= rch64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-noacpi-aarc= h64.aarch64-latest.xml index 1f642cd179..2b4dff8800 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-noacpi-aarch64.aarch64-l= atest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-noacpi-aarch64.aarch64-l= atest.xml @@ -4,8 +4,12 @@ 1048576 1048576 1 - + hvm + + + + /usr/share/AAVMF/AAVMF_CODE.f= d /path/to/guest_VARS= .fd diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-file.x86_64= -latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-file.x86_6= 4-latest.xml index cdb5d2b31a..1418ddbfcd 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-file.x86_64-latest= .xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-file.x86_64-latest= .xml @@ -4,8 +4,12 @@ 1048576 1048576 1 - + hvm + + + + /usr/share/OVMF/OVMF_CODE.fd<= /loader> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-network-isc= si.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-n= etwork-iscsi.x86_64-latest.xml index 5a2e8715a0..ec672780bb 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-network-iscsi.x86_= 64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-network-iscsi.x86_= 64-latest.xml @@ -4,8 +4,11 @@ 1048576 1048576 1 - + hvm + + + /usr/share/OVMF/OVMF_CODE.fd<= /loader> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-network-nbd= .x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-net= work-nbd.x86_64-latest.xml index 208257bb5b..3f59dc4d61 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-network-nbd.x86_64= -latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-network-nbd.x86_64= -latest.xml @@ -4,8 +4,11 @@ 1048576 1048576 1 - + hvm + + + /usr/share/OVMF/OVMF_CODE.fd<= /loader> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template.x8= 6_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-templa= te.x86_64-latest.xml index 3b79af418a..dc4b8bb97f 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template.x86_64-la= test.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template.x86_64-la= test.xml @@ -4,8 +4,12 @@ 1048576 1048576 1 - + hvm + + + + /usr/share/OVMF/OVMF_CODE.fd<= /loader> /var/lib/libvirt/qemu= /nvram/guest_VARS.fd diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot.x86_64-la= test.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot.x86_64-late= st.xml index aa90d3e2f2..69b6d91e99 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot.x86_64-latest.xml @@ -4,8 +4,12 @@ 1048576 1048576 1 - + hvm + + + + /usr/share/OVM= F/OVMF_CODE.secboot.fd /path/to/gues= t_VARS.fd diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi.x86_64-latest.xml= b/tests/qemuxml2xmloutdata/firmware-manual-efi.x86_64-latest.xml index ff6460d7b0..11d7623e7c 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi.x86_64-latest.xml @@ -4,8 +4,12 @@ 1048576 1048576 1 - + hvm + + + + /usr/share/OVMF/OVMF_CODE.fd<= /loader> /path/to/guest_VARS.f= d diff --git a/tests/qemuxml2xmloutdata/pvpanic-pci-aarch64.aarch64-latest.xm= l b/tests/qemuxml2xmloutdata/pvpanic-pci-aarch64.aarch64-latest.xml index 50321aedd6..2a83ace748 100644 --- a/tests/qemuxml2xmloutdata/pvpanic-pci-aarch64.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/pvpanic-pci-aarch64.aarch64-latest.xml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/A= AVMF/AAVMF_CODE.qcow2 /var/lib/libvirt/qemu/nvram/guest_VARS.qcow2 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 9a25573614..d5ed9b23fe 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 @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/A= AVMF/AAVMF_CODE.qcow2 /var/lib/libvirt/qemu/nvram/guest_VARS.qcow2 diff --git a/tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-latest.x= ml b/tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-latest.xml index d560259d87..589295e602 100644 --- a/tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-latest.xml @@ -6,6 +6,10 @@ 1 hvm + + + + /usr/share/A= AVMF/AAVMF_CODE.qcow2 /var/lib/libvirt/qemu/nvram/guest_VARS.qcow2 --=20 2.39.2