[libvirt PATCH 00/21] qemu: Various fixes to firmware selection

Also available from GitLab: $ git fetch https://gitlab.com/abologna/libvirt.git firmware Patch 11/21 is kind of an unreviewable mess, but it can't really be split into more reasonably-sized pieces while preserving bisectability. I have pushed an alternative version that should make things a bit less painful, grab it with: $ git fetch https://gitlab.com/abologna/libvirt.git firmware-reviewable Details are included in the various patches or in the relevant issues: https://bugzilla.redhat.com/show_bug.cgi?id=2196178 https://gitlab.com/libvirt/libvirt/-/issues/500 but the tl;dr is that the changes made to firmware selection in libvirt 9.2.0 have unfortunately introduced a number of regression, which this series addresses. The first few patches are preparatory / tangential cleanups, while the last few implement quality of life improvements rather than actual fixes. They all touch the same areas, so it seemed reasonable to bundle them. Test pipeline: https://gitlab.com/abologna/libvirt/-/pipelines/962320409 Andrea Bolognani (21): tests: Use DO_TEST_CAPS_*_ABI_UPDATE() for ppc64 tests: Switch to firmware autoselection for hvf tests: Use virt-4.0 machine type for aarch64 tests: Consistently use /path/to/guest_VARS.fd tests: Turn abi-update.xml into a symlink tests: Rename firmware-auto-efi-nvram-path qemu: Fix return value for qemuFirmwareFillDomainLegacy() qemu: Fix lookup against stateless/combined pflash tests: Add some more DO_TEST*ABI_UPDATE* macros tests: Add more tests for firmware selection tests: Update firmware descriptor files tests: Drop tags from BIOS firmware descriptor tests: Include microvm in firmwaretest qemu: Don't overwrite NVRAM template for legacy firmware qemu: Generate NVRAM path in more cases qemu: Filter firmware based on loader.readonly qemu: Match NVRAM template extension for new domains conf: Don't default to raw format for loader/NVRAM tests: Rename firmware-auto-efi-format-loader-qcow2-nvram-path tests: Reintroduce firmware-auto-efi-format-mismatch NEWS: Mention fixes to firmware selection NEWS.rst | 6 + src/bhyve/bhyve_firmware.c | 3 + src/conf/domain_conf.c | 21 ++- src/libxl/libxl_conf.c | 15 +- src/libxl/xen_xl.c | 2 + src/libxl/xen_xm.c | 1 + src/qemu/qemu_domain.c | 2 +- src/qemu/qemu_firmware.c | 158 ++++++++++++++---- src/qemu/qemu_firmware.h | 3 +- src/qemu/qemu_process.c | 2 +- .../etc/qemu/firmware/20-bios.json | 1 + .../etc/qemu/firmware/40-ovmf-sb-keys.json | 1 - .../etc/qemu/firmware/59-combined.json | 1 + .../{42-masked.json => 92-masked.json} | 0 ...ovmf.json => 60-edk2-ovmf-x64-amdsev.json} | 11 +- .../firmware/60-edk2-ovmf-x64-inteltdx.json} | 9 +- ...0-edk2-ovmf-4m-qcow2-x64-sb-enrolled.json} | 10 +- ... 31-edk2-ovmf-2m-raw-x64-sb-enrolled.json} | 6 +- .../40-edk2-ovmf-4m-qcow2-x64-sb.json} | 16 +- ...b.json => 41-edk2-ovmf-2m-raw-x64-sb.json} | 7 +- ...-qcow2.json => 50-edk2-aarch64-qcow2.json} | 14 +- ...on => 50-edk2-ovmf-4m-qcow2-x64-nosb.json} | 9 +- .../firmware/50-edk2-ovmf-x64-microvm.json | 22 +++ ...70-aavmf.json => 51-edk2-aarch64-raw.json} | 11 +- ...json => 51-edk2-ovmf-2m-raw-x64-nosb.json} | 8 +- ...son => 52-edk2-aarch64-verbose-qcow2.json} | 16 +- .../53-edk2-aarch64-verbose-raw.json} | 10 +- ...less.json => 60-edk2-ovmf-x64-amdsev.json} | 6 +- ...ss.json => 60-edk2-ovmf-x64-inteltdx.json} | 8 +- ...ovmf-sb-combined.json => 90-combined.json} | 4 +- .../firmware/{40-bios.json => 91-bios.json} | 3 - .../{42-masked.json => 92-masked.json} | 0 tests/qemufirmwaretest.c | 79 +++++---- .../aarch64-virt-graphics.aarch64-latest.args | 6 +- .../aarch64-virt-graphics.xml | 6 +- .../aarch64-virt-headless.aarch64-latest.args | 6 +- .../aarch64-virt-headless.xml | 6 +- ...mware-auto-efi-aarch64.aarch64-latest.args | 2 +- ...efi-abi-update-aarch64.aarch64-latest.args | 2 +- .../firmware-auto-efi-abi-update-aarch64.xml | 18 +- ...re-auto-efi-abi-update.x86_64-latest.args} | 5 +- .../firmware-auto-efi-abi-update.xml | 1 + ...-auto-efi-enrolled-keys.x86_64-latest.args | 2 +- ...oader-qcow2-nvram-path.x86_64-latest.args} | 5 +- ...to-efi-format-loader-qcow2-nvram-path.xml} | 2 +- ...efi-format-loader-qcow2.x86_64-latest.args | 5 +- ...loader-raw-abi-update.aarch64-latest.args} | 4 +- ...-auto-efi-format-loader-raw-abi-update.xml | 1 + ...-efi-format-loader-raw.aarch64-latest.args | 2 +- .../firmware-auto-efi-format-mismatch.xml | 2 +- ...nvram-qcow2-network-nbd.x86_64-latest.args | 2 +- ...format-nvram-qcow2-path.x86_64-latest.args | 5 +- ...-efi-format-nvram-qcow2.x86_64-latest.args | 5 +- ...uto-efi-loader-insecure.x86_64-latest.args | 2 +- ...re-auto-efi-loader-path.x86_64-latest.args | 2 +- .../firmware-auto-efi-loader-path.xml | 2 +- ...ader-secure-abi-update.x86_64-latest.args} | 5 +- ...ware-auto-efi-loader-secure-abi-update.xml | 1 + ...-auto-efi-loader-secure.x86_64-latest.args | 2 +- ...to-efi-no-enrolled-keys.x86_64-latest.args | 2 +- ...are-auto-efi-no-secboot.x86_64-latest.args | 2 +- ...are-auto-efi-nvram-file.x86_64-latest.args | 2 +- ...efi-nvram-network-iscsi.x86_64-latest.args | 2 +- ...o-efi-nvram-network-nbd.x86_64-latest.args | 2 +- ...re-auto-efi-nvram-path.x86_64-latest.args} | 2 +- ...m.xml => firmware-auto-efi-nvram-path.xml} | 0 ...ram-template-nonstandard.x86_64-latest.err | 1 + ...e-auto-efi-nvram-template-nonstandard.xml} | 4 +- ...uto-efi-nvram-template.x86_64-latest.args} | 2 +- ...l => firmware-auto-efi-nvram-template.xml} | 2 +- ...e-auto-efi-rw-abi-update.x86_64-latest.err | 1 + .../firmware-auto-efi-rw-abi-update.xml | 1 + .../firmware-auto-efi-rw.x86_64-latest.err | 1 + ...efi-nvram.xml => firmware-auto-efi-rw.xml} | 2 +- ...rmware-auto-efi-secboot.x86_64-latest.args | 2 +- ...rmware-auto-efi-smm-off.x86_64-latest.args | 2 +- ...ware-auto-efi-stateless.x86_64-latest.args | 2 +- .../firmware-auto-efi.x86_64-latest.args | 2 +- ...-aarch64-legacy-paths.aarch64-latest.args} | 0 ...mware-manual-efi-aarch64-legacy-paths.xml} | 2 +- ...anual-efi-acpi-aarch64.aarch64-latest.args | 4 +- .../firmware-manual-efi-acpi-aarch64.xml | 4 +- ...are-manual-efi-acpi-q35.x86_64-latest.args | 2 +- .../firmware-manual-efi-acpi-q35.xml | 2 +- ...are-manual-efi-features.x86_64-latest.args | 2 +- .../firmware-manual-efi-features.xml | 2 +- ...oader-path-nonstandard.x86_64-latest.args} | 4 +- ...re-manual-efi-loader-path-nonstandard.xml} | 4 +- ...anual-efi-loader-secure.x86_64-latest.args | 2 +- .../firmware-manual-efi-loader-secure.xml | 2 +- ...lled-keys-legacy-paths.x86_64-latest.args} | 2 +- ...ual-efi-no-enrolled-keys-legacy-paths.xml} | 2 +- ...al-efi-no-enrolled-keys.x86_64-latest.args | 2 +- .../firmware-manual-efi-no-enrolled-keys.xml | 4 +- ...o-secboot-legacy-paths.x86_64-latest.args} | 2 +- ...re-manual-efi-no-secboot-legacy-paths.xml} | 2 +- ...e-manual-efi-no-secboot.x86_64-latest.args | 2 +- .../firmware-manual-efi-no-secboot.xml | 4 +- ...ual-efi-noacpi-aarch64.aarch64-latest.args | 4 +- .../firmware-manual-efi-noacpi-aarch64.xml | 4 +- .../firmware-manual-efi-noacpi-q35.xml | 2 +- ...e-manual-efi-nvram-file.x86_64-latest.args | 2 +- .../firmware-manual-efi-nvram-file.xml | 2 +- ...efi-nvram-network-iscsi.x86_64-latest.args | 2 +- ...irmware-manual-efi-nvram-network-iscsi.xml | 2 +- ...l-efi-nvram-network-nbd.x86_64-latest.args | 2 +- .../firmware-manual-efi-nvram-network-nbd.xml | 2 +- .../firmware-manual-efi-nvram-stateless.xml | 2 +- ...m-template-nonstandard.x86_64-latest.args} | 2 +- ...manual-efi-nvram-template-nonstandard.xml} | 6 +- ...re-manual-efi-nvram-template-stateless.xml | 4 +- ...nual-efi-nvram-template.x86_64-latest.args | 2 +- .../firmware-manual-efi-nvram-template.xml | 4 +- ...al-efi-rw-legacy-paths.x86_64-latest.args} | 6 +- ...> firmware-manual-efi-rw-legacy-paths.xml} | 6 +- ...al-efi-rw-modern-paths.x86_64-latest.args} | 6 +- ...> firmware-manual-efi-rw-modern-paths.xml} | 6 +- ...i-secboot-legacy-paths.x86_64-latest.args} | 2 +- ...mware-manual-efi-secboot-legacy-paths.xml} | 2 +- ...ware-manual-efi-secboot.x86_64-latest.args | 2 +- .../firmware-manual-efi-secboot.xml | 4 +- ...re-manual-efi-stateless.x86_64-latest.args | 2 +- .../firmware-manual-efi-stateless.xml | 2 +- .../firmware-manual-efi.x86_64-latest.args | 2 +- .../qemuxml2argvdata/firmware-manual-efi.xml | 2 +- ...-aarch64-virt-headless.aarch64-latest.args | 4 +- .../hvf-aarch64-virt-headless.xml | 6 +- ...hvf-x86_64-q35-headless.x86_64-latest.args | 7 +- .../hvf-x86_64-q35-headless.xml | 4 +- ...nvdimm-ppc64-abi-update.ppc64-latest.args} | 0 ...ppc64-nonuma-abi-update.ppc64-latest.args} | 0 ...sb-controller-qemu-xhci.ppc64-latest.args} | 0 .../pvpanic-pci-aarch64.aarch64-latest.args | 2 +- ...pci-no-address-aarch64.aarch64-latest.args | 2 +- .../virtio-iommu-aarch64.aarch64-latest.args | 2 +- tests/qemuxml2argvtest.c | 54 ++++-- .../aarch64-virt-graphics.aarch64-latest.xml | 12 +- .../aarch64-virt-headless.aarch64-latest.xml | 12 +- ...rmware-auto-efi-aarch64.aarch64-latest.xml | 4 +- ...-efi-abi-update-aarch64.aarch64-latest.xml | 4 +- ...are-auto-efi-abi-update.x86_64-latest.xml} | 4 +- ...e-auto-efi-enrolled-keys.x86_64-latest.xml | 4 +- ...loader-qcow2-nvram-path.x86_64-latest.xml} | 4 +- ...-efi-format-loader-qcow2.x86_64-latest.xml | 9 +- ...-loader-raw-abi-update.aarch64-latest.xml} | 4 +- ...o-efi-format-loader-raw.aarch64-latest.xml | 4 +- ...-nvram-qcow2-network-nbd.x86_64-latest.xml | 2 +- ...-format-nvram-qcow2-path.x86_64-latest.xml | 9 +- ...o-efi-format-nvram-qcow2.x86_64-latest.xml | 9 +- ...auto-efi-loader-insecure.x86_64-latest.xml | 4 +- ...are-auto-efi-loader-path.x86_64-latest.xml | 4 +- ...oader-secure-abi-update.x86_64-latest.xml} | 4 +- ...e-auto-efi-loader-secure.x86_64-latest.xml | 4 +- ...uto-efi-no-enrolled-keys.x86_64-latest.xml | 4 +- ...ware-auto-efi-no-secboot.x86_64-latest.xml | 4 +- ...ware-auto-efi-nvram-file.x86_64-latest.xml | 4 +- ...-efi-nvram-network-iscsi.x86_64-latest.xml | 2 +- ...to-efi-nvram-network-nbd.x86_64-latest.xml | 2 +- ...are-auto-efi-nvram-path.x86_64-latest.xml} | 4 +- ...am-template-nonstandard.x86_64-latest.xml} | 7 +- ...auto-efi-nvram-template.x86_64-latest.xml} | 4 +- ...=> firmware-auto-efi-rw.x86_64-latest.xml} | 6 +- ...irmware-auto-efi-secboot.x86_64-latest.xml | 4 +- ...irmware-auto-efi-smm-off.x86_64-latest.xml | 4 +- ...mware-auto-efi-stateless.x86_64-latest.xml | 2 +- .../firmware-auto-efi.x86_64-latest.xml | 4 +- ...i-aarch64-legacy-paths.aarch64-latest.xml} | 6 +- ...manual-efi-acpi-aarch64.aarch64-latest.xml | 4 +- ...ware-manual-efi-acpi-q35.x86_64-latest.xml | 4 +- ...ware-manual-efi-features.x86_64-latest.xml | 4 +- ...loader-path-nonstandard.x86_64-latest.xml} | 11 +- ...manual-efi-loader-secure.x86_64-latest.xml | 4 +- ...olled-keys-legacy-paths.x86_64-latest.xml} | 8 +- ...ual-efi-no-enrolled-keys.x86_64-latest.xml | 4 +- ...no-secboot-legacy-paths.x86_64-latest.xml} | 8 +- ...re-manual-efi-no-secboot.x86_64-latest.xml | 4 +- ...nual-efi-noacpi-aarch64.aarch64-latest.xml | 4 +- ...re-manual-efi-nvram-file.x86_64-latest.xml | 4 +- ...-efi-nvram-network-iscsi.x86_64-latest.xml | 2 +- ...al-efi-nvram-network-nbd.x86_64-latest.xml | 2 +- ...am-template-nonstandard.x86_64-latest.xml} | 9 +- ...anual-efi-nvram-template.x86_64-latest.xml | 4 +- ...ual-efi-rw-legacy-paths.x86_64-latest.xml} | 10 +- ...ual-efi-rw-modern-paths.x86_64-latest.xml} | 10 +- ...fi-secboot-legacy-paths.x86_64-latest.xml} | 8 +- ...mware-manual-efi-secboot.x86_64-latest.xml | 4 +- ...are-manual-efi-stateless.x86_64-latest.xml | 2 +- .../firmware-manual-efi.x86_64-latest.xml | 4 +- ...f-aarch64-virt-headless.aarch64-latest.xml | 10 +- .../hvf-x86_64-q35-headless.x86_64-latest.xml | 11 +- ...-nvdimm-ppc64-abi-update.ppc64-latest.xml} | 0 ...-ppc64-nonuma-abi-update.ppc64-latest.xml} | 0 .../pvpanic-pci-aarch64.aarch64-latest.xml | 4 +- ...-pci-no-address-aarch64.aarch64-latest.xml | 4 +- .../virtio-iommu-aarch64.aarch64-latest.xml | 4 +- tests/qemuxml2xmltest.c | 30 +++- 196 files changed, 655 insertions(+), 491 deletions(-) create mode 120000 tests/qemufirmwaredata/etc/qemu/firmware/20-bios.json delete mode 120000 tests/qemufirmwaredata/etc/qemu/firmware/40-ovmf-sb-keys.json create mode 120000 tests/qemufirmwaredata/etc/qemu/firmware/59-combined.json rename tests/qemufirmwaredata/etc/qemu/firmware/{42-masked.json => 92-masked.json} (100%) rename tests/qemufirmwaredata/out/usr/share/qemu/firmware/{61-ovmf.json => 60-edk2-ovmf-x64-amdsev.json} (60%) copy tests/qemufirmwaredata/{usr/share/qemu/firmware/45-ovmf-sev-stateless.json => out/usr/share/qemu/firmware/60-edk2-ovmf-x64-inteltdx.json} (63%) copy tests/qemufirmwaredata/usr/share/qemu/firmware/{50-ovmf-sb-keys.json => 30-edk2-ovmf-4m-qcow2-x64-sb-enrolled.json} (70%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{50-ovmf-sb-keys.json => 31-edk2-ovmf-2m-raw-x64-sb-enrolled.json} (78%) rename tests/qemufirmwaredata/{out/usr/share/qemu/firmware/50-ovmf-sb-keys.json => usr/share/qemu/firmware/40-edk2-ovmf-4m-qcow2-x64-sb.json} (59%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{60-ovmf-sb.json => 41-edk2-ovmf-2m-raw-x64-sb.json} (77%) copy tests/qemufirmwaredata/usr/share/qemu/firmware/{66-aavmf-qcow2.json => 50-edk2-aarch64-qcow2.json} (53%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{65-ovmf-qcow2.json => 50-edk2-ovmf-4m-qcow2-x64-nosb.json} (68%) create mode 100644 tests/qemufirmwaredata/usr/share/qemu/firmware/50-edk2-ovmf-x64-microvm.json rename tests/qemufirmwaredata/usr/share/qemu/firmware/{70-aavmf.json => 51-edk2-aarch64-raw.json} (64%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{61-ovmf.json => 51-edk2-ovmf-2m-raw-x64-nosb.json} (69%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{66-aavmf-qcow2.json => 52-edk2-aarch64-verbose-qcow2.json} (53%) rename tests/qemufirmwaredata/{out/usr/share/qemu/firmware/70-aavmf.json => usr/share/qemu/firmware/53-edk2-aarch64-verbose-raw.json} (57%) copy tests/qemufirmwaredata/usr/share/qemu/firmware/{45-ovmf-sev-stateless.json => 60-edk2-ovmf-x64-amdsev.json} (73%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{45-ovmf-sev-stateless.json => 60-edk2-ovmf-x64-inteltdx.json} (66%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{55-ovmf-sb-combined.json => 90-combined.json} (85%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{40-bios.json => 91-bios.json} (87%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{42-masked.json => 92-masked.json} (100%) mode change 100644 => 120000 tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.xml copy tests/qemuxml2argvdata/{firmware-auto-efi-format-nvram-qcow2.x86_64-latest.args => firmware-auto-efi-abi-update.x86_64-latest.args} (80%) create mode 120000 tests/qemuxml2argvdata/firmware-auto-efi-abi-update.xml copy tests/qemuxml2argvdata/{firmware-auto-efi-format-nvram-qcow2-path.x86_64-latest.args => firmware-auto-efi-format-loader-qcow2-nvram-path.x86_64-latest.args} (80%) copy tests/qemuxml2argvdata/{firmware-auto-efi-format-mismatch.xml => firmware-auto-efi-format-loader-qcow2-nvram-path.xml} (91%) copy tests/qemuxml2argvdata/{firmware-auto-efi-format-loader-raw.aarch64-latest.args => firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.args} (84%) create mode 120000 tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.xml copy tests/qemuxml2argvdata/{firmware-auto-efi-format-nvram-qcow2.x86_64-latest.args => firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args} (80%) create mode 120000 tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.xml rename tests/qemuxml2argvdata/{firmware-auto-efi-nvram.x86_64-latest.args => firmware-auto-efi-nvram-path.x86_64-latest.args} (91%) copy tests/qemuxml2argvdata/{firmware-auto-efi-nvram.xml => firmware-auto-efi-nvram-path.xml} (100%) create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-nvram-template-nonstandard.x86_64-latest.err copy tests/qemuxml2argvdata/{firmware-auto-efi-format-mismatch.xml => firmware-auto-efi-nvram-template-nonstandard.xml} (77%) copy tests/qemuxml2argvdata/{firmware-auto-efi-enrolled-keys.x86_64-latest.args => firmware-auto-efi-nvram-template.x86_64-latest.args} (91%) copy tests/qemuxml2argvdata/{firmware-auto-efi-nvram.xml => firmware-auto-efi-nvram-template.xml} (88%) create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.err create mode 120000 tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.xml create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.err copy tests/qemuxml2argvdata/{firmware-auto-efi-nvram.xml => firmware-auto-efi-rw.xml} (91%) copy tests/qemuxml2argvdata/{firmware-auto-efi-aarch64.aarch64-latest.args => firmware-manual-efi-aarch64-legacy-paths.aarch64-latest.args} (100%) copy tests/qemuxml2argvdata/{firmware-manual-efi-acpi-aarch64.xml => firmware-manual-efi-aarch64-legacy-paths.xml} (90%) copy tests/qemuxml2argvdata/{firmware-auto-efi-loader-path.x86_64-latest.args => firmware-manual-efi-loader-path-nonstandard.x86_64-latest.args} (90%) copy tests/qemuxml2argvdata/{firmware-manual-efi-acpi-q35.xml => firmware-manual-efi-loader-path-nonstandard.xml} (78%) copy tests/qemuxml2argvdata/{firmware-auto-efi-no-enrolled-keys.x86_64-latest.args => firmware-manual-efi-no-enrolled-keys-legacy-paths.x86_64-latest.args} (99%) copy tests/qemuxml2argvdata/{firmware-manual-efi-loader-secure.xml => firmware-manual-efi-no-enrolled-keys-legacy-paths.xml} (91%) copy tests/qemuxml2argvdata/{firmware-auto-efi-loader-path.x86_64-latest.args => firmware-manual-efi-no-secboot-legacy-paths.x86_64-latest.args} (99%) copy tests/qemuxml2argvdata/{firmware-manual-efi-acpi-q35.xml => firmware-manual-efi-no-secboot-legacy-paths.xml} (90%) copy tests/qemuxml2argvdata/{firmware-auto-efi-loader-path.x86_64-latest.args => firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.args} (91%) copy tests/qemuxml2argvdata/{firmware-auto-efi-format-mismatch.xml => firmware-manual-efi-nvram-template-nonstandard.xml} (75%) copy tests/qemuxml2argvdata/{firmware-auto-efi-stateless.x86_64-latest.args => firmware-manual-efi-rw-legacy-paths.x86_64-latest.args} (81%) copy tests/qemuxml2argvdata/{firmware-auto-efi-nvram.xml => firmware-manual-efi-rw-legacy-paths.xml} (79%) copy tests/qemuxml2argvdata/{firmware-auto-efi-stateless.x86_64-latest.args => firmware-manual-efi-rw-modern-paths.x86_64-latest.args} (80%) rename tests/qemuxml2argvdata/{firmware-auto-efi-nvram.xml => firmware-manual-efi-rw-modern-paths.xml} (78%) copy tests/qemuxml2argvdata/{firmware-auto-efi-no-enrolled-keys.x86_64-latest.args => firmware-manual-efi-secboot-legacy-paths.x86_64-latest.args} (99%) copy tests/qemuxml2argvdata/{firmware-manual-efi-loader-secure.xml => firmware-manual-efi-secboot-legacy-paths.xml} (90%) rename tests/qemuxml2argvdata/{memory-hotplug-nvdimm-ppc64-abi-update.args => memory-hotplug-nvdimm-ppc64-abi-update.ppc64-latest.args} (100%) rename tests/qemuxml2argvdata/{memory-hotplug-ppc64-nonuma-abi-update.args => memory-hotplug-ppc64-nonuma-abi-update.ppc64-latest.args} (100%) rename tests/qemuxml2argvdata/{ppc64-usb-controller-qemu-xhci.args => ppc64-usb-controller-qemu-xhci.ppc64-latest.args} (100%) copy tests/qemuxml2xmloutdata/{firmware-auto-efi-enrolled-keys.x86_64-latest.xml => firmware-auto-efi-abi-update.x86_64-latest.xml} (82%) copy tests/qemuxml2xmloutdata/{firmware-auto-efi-enrolled-keys.x86_64-latest.xml => firmware-auto-efi-format-loader-qcow2-nvram-path.x86_64-latest.xml} (83%) copy tests/qemuxml2xmloutdata/{firmware-auto-efi-aarch64.aarch64-latest.xml => firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.xml} (81%) copy tests/qemuxml2xmloutdata/{firmware-auto-efi-enrolled-keys.x86_64-latest.xml => firmware-auto-efi-loader-secure-abi-update.x86_64-latest.xml} (82%) rename tests/qemuxml2xmloutdata/{firmware-auto-efi-nvram.x86_64-latest.xml => firmware-auto-efi-nvram-path.x86_64-latest.xml} (90%) copy tests/qemuxml2xmloutdata/{firmware-auto-efi-stateless.x86_64-latest.xml => firmware-auto-efi-nvram-template-nonstandard.x86_64-latest.xml} (83%) copy tests/qemuxml2xmloutdata/{firmware-auto-efi-no-enrolled-keys.x86_64-latest.xml => firmware-auto-efi-nvram-template.x86_64-latest.xml} (90%) copy tests/qemuxml2xmloutdata/{firmware-auto-efi-stateless.x86_64-latest.xml => firmware-auto-efi-rw.x86_64-latest.xml} (83%) copy tests/qemuxml2xmloutdata/{firmware-auto-efi-aarch64.aarch64-latest.xml => firmware-manual-efi-aarch64-legacy-paths.aarch64-latest.xml} (87%) copy tests/qemuxml2xmloutdata/{firmware-auto-efi-stateless.x86_64-latest.xml => firmware-manual-efi-loader-path-nonstandard.x86_64-latest.xml} (80%) copy tests/qemuxml2xmloutdata/{firmware-auto-efi-no-enrolled-keys.x86_64-latest.xml => firmware-manual-efi-no-enrolled-keys-legacy-paths.x86_64-latest.xml} (88%) copy tests/qemuxml2xmloutdata/{firmware-auto-efi-loader-path.x86_64-latest.xml => firmware-manual-efi-no-secboot-legacy-paths.x86_64-latest.xml} (87%) copy tests/qemuxml2xmloutdata/{firmware-auto-efi-stateless.x86_64-latest.xml => firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.xml} (81%) copy tests/qemuxml2xmloutdata/{firmware-auto-efi-stateless.x86_64-latest.xml => firmware-manual-efi-rw-legacy-paths.x86_64-latest.xml} (80%) copy tests/qemuxml2xmloutdata/{firmware-auto-efi-stateless.x86_64-latest.xml => firmware-manual-efi-rw-modern-paths.x86_64-latest.xml} (80%) copy tests/qemuxml2xmloutdata/{firmware-auto-efi-secboot.x86_64-latest.xml => firmware-manual-efi-secboot-legacy-paths.x86_64-latest.xml} (88%) rename tests/qemuxml2xmloutdata/{memory-hotplug-nvdimm-ppc64-abi-update.xml => memory-hotplug-nvdimm-ppc64-abi-update.ppc64-latest.xml} (100%) rename tests/qemuxml2xmloutdata/{memory-hotplug-ppc64-nonuma-abi-update.xml => memory-hotplug-ppc64-nonuma-abi-update.ppc64-latest.xml} (100%) -- 2.41.0

We have a number of tests that can benefit from this macro instead of open-coding it. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ...lug-nvdimm-ppc64-abi-update.ppc64-latest.args} | 0 ...lug-ppc64-nonuma-abi-update.ppc64-latest.args} | 0 ...64-usb-controller-qemu-xhci.ppc64-latest.args} | 0 tests/qemuxml2argvtest.c | 15 +++------------ ...plug-nvdimm-ppc64-abi-update.ppc64-latest.xml} | 0 ...plug-ppc64-nonuma-abi-update.ppc64-latest.xml} | 0 tests/qemuxml2xmltest.c | 8 ++------ 7 files changed, 5 insertions(+), 18 deletions(-) rename tests/qemuxml2argvdata/{memory-hotplug-nvdimm-ppc64-abi-update.args => memory-hotplug-nvdimm-ppc64-abi-update.ppc64-latest.args} (100%) rename tests/qemuxml2argvdata/{memory-hotplug-ppc64-nonuma-abi-update.args => memory-hotplug-ppc64-nonuma-abi-update.ppc64-latest.args} (100%) rename tests/qemuxml2argvdata/{ppc64-usb-controller-qemu-xhci.args => ppc64-usb-controller-qemu-xhci.ppc64-latest.args} (100%) rename tests/qemuxml2xmloutdata/{memory-hotplug-nvdimm-ppc64-abi-update.xml => memory-hotplug-nvdimm-ppc64-abi-update.ppc64-latest.xml} (100%) rename tests/qemuxml2xmloutdata/{memory-hotplug-ppc64-nonuma-abi-update.xml => memory-hotplug-ppc64-nonuma-abi-update.ppc64-latest.xml} (100%) diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-ppc64-abi-update.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-ppc64-abi-update.ppc64-latest.args similarity index 100% rename from tests/qemuxml2argvdata/memory-hotplug-nvdimm-ppc64-abi-update.args rename to tests/qemuxml2argvdata/memory-hotplug-nvdimm-ppc64-abi-update.ppc64-latest.args diff --git a/tests/qemuxml2argvdata/memory-hotplug-ppc64-nonuma-abi-update.args b/tests/qemuxml2argvdata/memory-hotplug-ppc64-nonuma-abi-update.ppc64-latest.args similarity index 100% rename from tests/qemuxml2argvdata/memory-hotplug-ppc64-nonuma-abi-update.args rename to tests/qemuxml2argvdata/memory-hotplug-ppc64-nonuma-abi-update.ppc64-latest.args diff --git a/tests/qemuxml2argvdata/ppc64-usb-controller-qemu-xhci.args b/tests/qemuxml2argvdata/ppc64-usb-controller-qemu-xhci.ppc64-latest.args similarity index 100% rename from tests/qemuxml2argvdata/ppc64-usb-controller-qemu-xhci.args rename to tests/qemuxml2argvdata/ppc64-usb-controller-qemu-xhci.ppc64-latest.args diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index c44b9bc494..13cc13b043 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -2438,10 +2438,7 @@ mymain(void) DO_TEST("memory-hotplug-dimm", QEMU_CAPS_DEVICE_PC_DIMM); DO_TEST_CAPS_LATEST("memory-hotplug-dimm-addr"); DO_TEST_CAPS_ARCH_LATEST("memory-hotplug-ppc64-nonuma", "ppc64"); - DO_TEST_FULL("memory-hotplug-ppc64-nonuma-abi-update", "", - ARG_PARSEFLAGS, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE, - ARG_CAPS_ARCH, "ppc64", ARG_CAPS_VER, "latest", - ARG_END); + DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE("memory-hotplug-ppc64-nonuma-abi-update", "ppc64"); DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm"); DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm-access"); DO_TEST_CAPS_VER("memory-hotplug-nvdimm-label", "5.2.0"); @@ -2453,10 +2450,7 @@ mymain(void) DO_TEST_CAPS_VER("memory-hotplug-nvdimm-readonly", "5.2.0"); DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm-readonly"); DO_TEST_CAPS_ARCH_LATEST("memory-hotplug-nvdimm-ppc64", "ppc64"); - DO_TEST_FULL("memory-hotplug-nvdimm-ppc64-abi-update", "", - ARG_PARSEFLAGS, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE, - ARG_CAPS_ARCH, "ppc64", ARG_CAPS_VER, "latest", - ARG_END); + DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE("memory-hotplug-nvdimm-ppc64-abi-update", "ppc64"); DO_TEST_CAPS_VER("memory-hotplug-virtio-pmem", "5.2.0"); DO_TEST_CAPS_LATEST("memory-hotplug-virtio-pmem"); DO_TEST_CAPS_LATEST("memory-hotplug-virtio-mem"); @@ -2495,10 +2489,7 @@ mymain(void) DO_TEST_CAPS_ARCH_LATEST("ppc64-usb-controller", "ppc64"); DO_TEST_CAPS_ARCH_LATEST("ppc64-usb-controller-legacy", "ppc64"); - DO_TEST_FULL("ppc64-usb-controller-qemu-xhci", "", - ARG_PARSEFLAGS, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE, - ARG_CAPS_ARCH, "ppc64", ARG_CAPS_VER, "latest", - ARG_END); + DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE("ppc64-usb-controller-qemu-xhci", "ppc64"); DO_TEST_CAPS_ARCH_LATEST_PARSE_ERROR("ppc64-tpmproxy-double", "ppc64"); DO_TEST_CAPS_ARCH_LATEST_PARSE_ERROR("ppc64-tpm-double", "ppc64"); diff --git a/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-ppc64-abi-update.xml b/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-ppc64-abi-update.ppc64-latest.xml similarity index 100% rename from tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-ppc64-abi-update.xml rename to tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-ppc64-abi-update.ppc64-latest.xml diff --git a/tests/qemuxml2xmloutdata/memory-hotplug-ppc64-nonuma-abi-update.xml b/tests/qemuxml2xmloutdata/memory-hotplug-ppc64-nonuma-abi-update.ppc64-latest.xml similarity index 100% rename from tests/qemuxml2xmloutdata/memory-hotplug-ppc64-nonuma-abi-update.xml rename to tests/qemuxml2xmloutdata/memory-hotplug-ppc64-nonuma-abi-update.ppc64-latest.xml diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 5d5ab4cabe..b964d22d02 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -995,9 +995,7 @@ mymain(void) DO_TEST_CAPS_ARCH_LATEST("aarch64-usb-controller", "aarch64"); DO_TEST_CAPS_ARCH_LATEST("memory-hotplug-ppc64-nonuma", "ppc64"); - DO_TEST_FULL("memory-hotplug-ppc64-nonuma-abi-update", "", WHEN_BOTH, - ARG_PARSEFLAGS, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE, - ARG_CAPS_ARCH, "ppc64", ARG_CAPS_VER, "latest", ARG_END); + DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE("memory-hotplug-ppc64-nonuma-abi-update", "ppc64"); DO_TEST_NOCAPS("memory-hotplug"); DO_TEST("memory-hotplug-dimm", QEMU_CAPS_DEVICE_PC_DIMM); DO_TEST_CAPS_LATEST("memory-hotplug-dimm-addr"); @@ -1009,9 +1007,7 @@ mymain(void) DO_TEST("memory-hotplug-nvdimm-readonly", QEMU_CAPS_DEVICE_NVDIMM, QEMU_CAPS_DEVICE_NVDIMM_UNARMED); DO_TEST_CAPS_ARCH_LATEST("memory-hotplug-nvdimm-ppc64", "ppc64"); - DO_TEST_FULL("memory-hotplug-nvdimm-ppc64-abi-update", "", WHEN_BOTH, - ARG_PARSEFLAGS, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE, - ARG_CAPS_ARCH, "ppc64", ARG_CAPS_VER, "latest", ARG_END); + DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE("memory-hotplug-nvdimm-ppc64-abi-update", "ppc64"); DO_TEST_CAPS_LATEST("memory-hotplug-virtio-pmem"); DO_TEST_CAPS_LATEST("memory-hotplug-virtio-mem"); DO_TEST_CAPS_LATEST("memory-hotplug-multiple"); -- 2.41.0

Firmware selection is not relevant to these tests, so adopt the most convenient approach. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- .../hvf-aarch64-virt-headless.aarch64-latest.args | 6 +++--- tests/qemuxml2argvdata/hvf-aarch64-virt-headless.xml | 6 ++---- .../hvf-x86_64-q35-headless.x86_64-latest.args | 7 ++++++- tests/qemuxml2argvdata/hvf-x86_64-q35-headless.xml | 4 ++-- .../hvf-aarch64-virt-headless.aarch64-latest.xml | 12 ++++++++---- .../hvf-x86_64-q35-headless.x86_64-latest.xml | 11 +++++++++-- 6 files changed, 30 insertions(+), 16 deletions(-) diff --git a/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.aarch64-latest.args b/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.aarch64-latest.args index 8fae9ebfa6..7559b9885f 100644 --- a/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.aarch64-latest.args +++ b/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.aarch64-latest.args @@ -10,11 +10,11 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \ -name guest=test,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-test/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-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":"/some/user/nvram/path/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/test_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ --machine virt,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ +-machine virt-4.0,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -accel hvf \ -m size=4194304k \ -object '{"qom-type":"memory-backend-ram","id":"mach-virt.ram","size":4294967296}' \ diff --git a/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.xml b/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.xml index 01997b9731..3ae6f93647 100644 --- a/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.xml +++ b/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.xml @@ -4,10 +4,8 @@ <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>4194304</currentMemory> <vcpu placement='static'>2</vcpu> - <os> - <type arch='aarch64' machine='virt'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> - <nvram>/some/user/nvram/path/guest_VARS.fd</nvram> + <os firmware='efi'> + <type arch='aarch64' machine='virt-4.0'>hvm</type> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.x86_64-latest.args b/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.x86_64-latest.args index 92fbcffd57..abea7bf158 100644 --- a/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.x86_64-latest.args +++ b/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.x86_64-latest.args @@ -10,9 +10,14 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \ -name guest=test,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-test/master-key.aes"}' \ --machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \ +-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-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/test_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -accel hvf \ -cpu qemu64 \ +-global driver=cfi.pflash01,property=secure,value=on \ -m size=4194304k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":4294967296}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.xml b/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.xml index cad560e9ca..93980d434c 100644 --- a/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.xml +++ b/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.xml @@ -4,8 +4,8 @@ <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>4194304</currentMemory> <vcpu placement='static'>2</vcpu> - <os> - <type arch='x86_64' machine='q35'>hvm</type> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/hvf-aarch64-virt-headless.aarch64-latest.xml b/tests/qemuxml2xmloutdata/hvf-aarch64-virt-headless.aarch64-latest.xml index 16e8c23a79..69c1d5deb3 100644 --- a/tests/qemuxml2xmloutdata/hvf-aarch64-virt-headless.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/hvf-aarch64-virt-headless.aarch64-latest.xml @@ -4,10 +4,14 @@ <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>4194304</currentMemory> <vcpu placement='static'>2</vcpu> - <os> - <type arch='aarch64' machine='virt'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> - <nvram>/some/user/nvram/path/guest_VARS.fd</nvram> + <os firmware='efi'> + <type arch='aarch64' machine='virt-4.0'>hvm</type> + <firmware> + <feature enabled='no' name='enrolled-keys'/> + <feature enabled='no' name='secure-boot'/> + </firmware> + <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> + <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/test_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/hvf-x86_64-q35-headless.x86_64-latest.xml b/tests/qemuxml2xmloutdata/hvf-x86_64-q35-headless.x86_64-latest.xml index 384241ac3d..032fd43471 100644 --- a/tests/qemuxml2xmloutdata/hvf-x86_64-q35-headless.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/hvf-x86_64-q35-headless.x86_64-latest.xml @@ -4,13 +4,20 @@ <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>4194304</currentMemory> <vcpu placement='static'>2</vcpu> - <os> - <type arch='x86_64' machine='q35'>hvm</type> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <firmware> + <feature enabled='yes' name='enrolled-keys'/> + <feature enabled='yes' name='secure-boot'/> + </firmware> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/test_VARS.fd</nvram> <boot dev='hd'/> </os> <features> <acpi/> <apic/> + <smm state='on'/> </features> <cpu mode='custom' match='exact' check='none'> <model fallback='forbid'>qemu64</model> -- 2.41.0

Using the unversioned machine type means that firmware descriptors can't be used to discover additional information about the chosen firmware build. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- .../aarch64-virt-graphics.aarch64-latest.args | 2 +- tests/qemuxml2argvdata/aarch64-virt-graphics.xml | 2 +- .../aarch64-virt-headless.aarch64-latest.args | 2 +- tests/qemuxml2argvdata/aarch64-virt-headless.xml | 2 +- .../aarch64-virt-graphics.aarch64-latest.xml | 8 ++++++-- .../aarch64-virt-headless.aarch64-latest.xml | 8 ++++++-- 6 files changed, 16 insertions(+), 8 deletions(-) diff --git a/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args index 2c07824346..1b7b0a70ff 100644 --- a/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args +++ b/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args @@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"}' \ -blockdev '{"driver":"file","filename":"/some/user/nvram/path/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ --machine virt,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ +-machine virt-4.0,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -accel tcg \ -cpu cortex-a15 \ -m size=4194304k \ diff --git a/tests/qemuxml2argvdata/aarch64-virt-graphics.xml b/tests/qemuxml2argvdata/aarch64-virt-graphics.xml index b1b5e87c22..2b1704ad7b 100644 --- a/tests/qemuxml2argvdata/aarch64-virt-graphics.xml +++ b/tests/qemuxml2argvdata/aarch64-virt-graphics.xml @@ -10,7 +10,7 @@ <currentMemory>4194304</currentMemory> <vcpu>4</vcpu> <os> - <type arch='aarch64' machine='virt'>hvm</type> + <type arch='aarch64' machine='virt-4.0'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> <nvram>/some/user/nvram/path/guest_VARS.fd</nvram> <boot dev='hd'/> diff --git a/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args index 734e62ed53..23b514da9a 100644 --- a/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args +++ b/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args @@ -14,7 +14,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"}' \ -blockdev '{"driver":"file","filename":"/some/user/nvram/path/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ --machine virt,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ +-machine virt-4.0,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -accel tcg \ -cpu cortex-a15 \ -m size=4194304k \ diff --git a/tests/qemuxml2argvdata/aarch64-virt-headless.xml b/tests/qemuxml2argvdata/aarch64-virt-headless.xml index 27825e9a55..1d1fc071d7 100644 --- a/tests/qemuxml2argvdata/aarch64-virt-headless.xml +++ b/tests/qemuxml2argvdata/aarch64-virt-headless.xml @@ -10,7 +10,7 @@ <currentMemory>4194304</currentMemory> <vcpu>4</vcpu> <os> - <type arch='aarch64' machine='virt'>hvm</type> + <type arch='aarch64' machine='virt-4.0'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> <nvram>/some/user/nvram/path/guest_VARS.fd</nvram> <boot dev='hd'/> diff --git a/tests/qemuxml2xmloutdata/aarch64-virt-graphics.aarch64-latest.xml b/tests/qemuxml2xmloutdata/aarch64-virt-graphics.aarch64-latest.xml index 24109a11c3..f0a4003655 100644 --- a/tests/qemuxml2xmloutdata/aarch64-virt-graphics.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/aarch64-virt-graphics.aarch64-latest.xml @@ -9,8 +9,12 @@ <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>4194304</currentMemory> <vcpu placement='static'>4</vcpu> - <os> - <type arch='aarch64' machine='virt'>hvm</type> + <os firmware='efi'> + <type arch='aarch64' machine='virt-4.0'>hvm</type> + <firmware> + <feature enabled='no' name='enrolled-keys'/> + <feature enabled='no' name='secure-boot'/> + </firmware> <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/some/user/nvram/path/guest_VARS.fd</nvram> <boot dev='hd'/> diff --git a/tests/qemuxml2xmloutdata/aarch64-virt-headless.aarch64-latest.xml b/tests/qemuxml2xmloutdata/aarch64-virt-headless.aarch64-latest.xml index 6182da4dc6..ab4126318a 100644 --- a/tests/qemuxml2xmloutdata/aarch64-virt-headless.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/aarch64-virt-headless.aarch64-latest.xml @@ -9,8 +9,12 @@ <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>4194304</currentMemory> <vcpu placement='static'>4</vcpu> - <os> - <type arch='aarch64' machine='virt'>hvm</type> + <os firmware='efi'> + <type arch='aarch64' machine='virt-4.0'>hvm</type> + <firmware> + <feature enabled='no' name='enrolled-keys'/> + <feature enabled='no' name='secure-boot'/> + </firmware> <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/some/user/nvram/path/guest_VARS.fd</nvram> <boot dev='hd'/> -- 2.41.0

That's what we already use in almost all cases. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- .../qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args | 2 +- tests/qemuxml2argvdata/aarch64-virt-graphics.xml | 2 +- .../qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args | 2 +- tests/qemuxml2argvdata/aarch64-virt-headless.xml | 2 +- .../qemuxml2xmloutdata/aarch64-virt-graphics.aarch64-latest.xml | 2 +- .../qemuxml2xmloutdata/aarch64-virt-headless.aarch64-latest.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args index 1b7b0a70ff..eaa558747f 100644 --- a/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args +++ b/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ -blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-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":"/some/user/nvram/path/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/path/to/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ -machine virt-4.0,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -accel tcg \ diff --git a/tests/qemuxml2argvdata/aarch64-virt-graphics.xml b/tests/qemuxml2argvdata/aarch64-virt-graphics.xml index 2b1704ad7b..3c7da08381 100644 --- a/tests/qemuxml2argvdata/aarch64-virt-graphics.xml +++ b/tests/qemuxml2argvdata/aarch64-virt-graphics.xml @@ -12,7 +12,7 @@ <os> <type arch='aarch64' machine='virt-4.0'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram>/some/user/nvram/path/guest_VARS.fd</nvram> + <nvram>/path/to/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args index 23b514da9a..9d13abb531 100644 --- a/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args +++ b/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ -blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-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":"/some/user/nvram/path/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/path/to/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ -machine virt-4.0,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -accel tcg \ diff --git a/tests/qemuxml2argvdata/aarch64-virt-headless.xml b/tests/qemuxml2argvdata/aarch64-virt-headless.xml index 1d1fc071d7..4cb309037b 100644 --- a/tests/qemuxml2argvdata/aarch64-virt-headless.xml +++ b/tests/qemuxml2argvdata/aarch64-virt-headless.xml @@ -12,7 +12,7 @@ <os> <type arch='aarch64' machine='virt-4.0'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram>/some/user/nvram/path/guest_VARS.fd</nvram> + <nvram>/path/to/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/aarch64-virt-graphics.aarch64-latest.xml b/tests/qemuxml2xmloutdata/aarch64-virt-graphics.aarch64-latest.xml index f0a4003655..1150aceb02 100644 --- a/tests/qemuxml2xmloutdata/aarch64-virt-graphics.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/aarch64-virt-graphics.aarch64-latest.xml @@ -16,7 +16,7 @@ <feature enabled='no' name='secure-boot'/> </firmware> <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/some/user/nvram/path/guest_VARS.fd</nvram> + <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/aarch64-virt-headless.aarch64-latest.xml b/tests/qemuxml2xmloutdata/aarch64-virt-headless.aarch64-latest.xml index ab4126318a..68df856a28 100644 --- a/tests/qemuxml2xmloutdata/aarch64-virt-headless.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/aarch64-virt-headless.aarch64-latest.xml @@ -16,7 +16,7 @@ <feature enabled='no' name='secure-boot'/> </firmware> <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/some/user/nvram/path/guest_VARS.fd</nvram> + <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> -- 2.41.0

Since the idea behind introducing the abi-update variant of a test is showing that libvirt behaves differently based on whether the configuration is for a newly-defined domain or an existing one, we don't want the input files to ever go out of sync. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- .../firmware-auto-efi-abi-update-aarch64.xml | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) mode change 100644 => 120000 tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.xml diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.xml b/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.xml deleted file mode 100644 index 5c6c5192ba..0000000000 --- a/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.xml +++ /dev/null @@ -1,17 +0,0 @@ -<domain type='qemu'> - <name>guest</name> - <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> - <memory unit='KiB'>1048576</memory> - <vcpu placement='static'>1</vcpu> - <os firmware='efi'> - <type arch='aarch64' machine='virt-4.0'>hvm</type> - </os> - <features> - <acpi/> - </features> - <devices> - <emulator>/usr/bin/qemu-system-aarch64</emulator> - <controller type='usb' model='none'/> - <memballoon model='none'/> - </devices> -</domain> diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.xml b/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.xml new file mode 120000 index 0000000000..551082260a --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.xml @@ -0,0 +1 @@ +firmware-auto-efi-aarch64.xml \ No newline at end of file -- 2.41.0

The new name better describes the test scenario and will fit better with the additional tests that we're about to introduce. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ...est.args => firmware-auto-efi-nvram-path.x86_64-latest.args} | 0 ...ware-auto-efi-nvram.xml => firmware-auto-efi-nvram-path.xml} | 0 tests/qemuxml2argvtest.c | 2 +- ...atest.xml => firmware-auto-efi-nvram-path.x86_64-latest.xml} | 0 tests/qemuxml2xmltest.c | 2 +- 5 files changed, 2 insertions(+), 2 deletions(-) rename tests/qemuxml2argvdata/{firmware-auto-efi-nvram.x86_64-latest.args => firmware-auto-efi-nvram-path.x86_64-latest.args} (100%) rename tests/qemuxml2argvdata/{firmware-auto-efi-nvram.xml => firmware-auto-efi-nvram-path.xml} (100%) rename tests/qemuxml2xmloutdata/{firmware-auto-efi-nvram.x86_64-latest.xml => firmware-auto-efi-nvram-path.x86_64-latest.xml} (100%) diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-nvram.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-path.x86_64-latest.args similarity index 100% rename from tests/qemuxml2argvdata/firmware-auto-efi-nvram.x86_64-latest.args rename to tests/qemuxml2argvdata/firmware-auto-efi-nvram-path.x86_64-latest.args diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-nvram.xml b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-path.xml similarity index 100% rename from tests/qemuxml2argvdata/firmware-auto-efi-nvram.xml rename to tests/qemuxml2argvdata/firmware-auto-efi-nvram-path.xml diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 13cc13b043..2f840694e5 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1057,7 +1057,6 @@ mymain(void) DO_TEST_CAPS_LATEST_PARSE_ERROR("firmware-auto-bios-nvram"); DO_TEST_CAPS_LATEST("firmware-auto-efi"); DO_TEST_CAPS_LATEST("firmware-auto-efi-stateless"); - DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-secure"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-insecure"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-path"); @@ -1070,6 +1069,7 @@ mymain(void) 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-aarch64", "aarch64"); + DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram-path"); 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-nvram.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-path.x86_64-latest.xml similarity index 100% rename from tests/qemuxml2xmloutdata/firmware-auto-efi-nvram.x86_64-latest.xml rename to tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-path.x86_64-latest.xml diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index b964d22d02..6c817cb206 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -886,7 +886,6 @@ mymain(void) DO_TEST_CAPS_LATEST("firmware-auto-bios-stateless"); DO_TEST_CAPS_LATEST("firmware-auto-efi"); DO_TEST_CAPS_LATEST("firmware-auto-efi-stateless"); - DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-secure"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-insecure"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-path"); @@ -898,6 +897,7 @@ mymain(void) 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-aarch64", "aarch64"); + DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram-path"); 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"); -- 2.41.0

The documentation states that, just like the Modern() variant, this function should return 1 if a match wasn't found. It currently doesn't do that, and returns 0 instead. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/qemu/qemu_firmware.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c index cf9a45dc39..5f030ebce4 100644 --- a/src/qemu/qemu_firmware.c +++ b/src/qemu/qemu_firmware.c @@ -1575,17 +1575,17 @@ qemuFirmwareFillDomainLegacy(virQEMUDriver *driver, size_t i; if (!loader) - return 0; + return 1; if (loader->type != VIR_DOMAIN_LOADER_TYPE_PFLASH) { VIR_DEBUG("Ignoring legacy entries for '%s' loader", virDomainLoaderTypeToString(loader->type)); - return 0; + return 1; } if (loader->stateless == VIR_TRISTATE_BOOL_YES) { VIR_DEBUG("Ignoring legacy entries for stateless loader"); - return 0; + return 1; } if (loader->format != VIR_STORAGE_FILE_RAW) { -- 2.41.0

Just like the more common split builds, these are of type QEMU_FIRMWARE_DEVICE_FLASH; however, they have no associated NVRAM template, so we can't access the corresponding structure member unconditionally or we'll trigger a crash. https://bugzilla.redhat.com/show_bug.cgi?id=2196178 Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/qemu/qemu_firmware.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c index 5f030ebce4..b1d342563b 100644 --- a/src/qemu/qemu_firmware.c +++ b/src/qemu/qemu_firmware.c @@ -971,9 +971,12 @@ qemuFirmwareMatchesPaths(const qemuFirmware *fw, if (loader && loader->path && STRNEQ(loader->path, flash->executable.filename)) return false; - if (loader && loader->nvramTemplate && - STRNEQ(loader->nvramTemplate, flash->nvram_template.filename)) - return false; + if (loader && loader->nvramTemplate) { + if (flash->mode != QEMU_FIRMWARE_FLASH_MODE_SPLIT) + return false; + if (STRNEQ(loader->nvramTemplate, flash->nvram_template.filename)) + return false; + } break; case QEMU_FIRMWARE_DEVICE_MEMORY: if (loader && loader->path && -- 2.41.0

These are going to be useful later. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- tests/qemuxml2argvtest.c | 19 +++++++++++++++++++ tests/qemuxml2xmltest.c | 3 +++ 2 files changed, 22 insertions(+) diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 2f840694e5..e851dd45b0 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -834,6 +834,9 @@ mymain(void) # define DO_TEST_CAPS_LATEST(name) \ DO_TEST_CAPS_ARCH_LATEST(name, "x86_64") +# define DO_TEST_CAPS_LATEST_ABI_UPDATE(name) \ + DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE(name, "x86_64") + # define DO_TEST_CAPS_VER(name, ver) \ DO_TEST_CAPS_ARCH_VER(name, "x86_64", ver) @@ -853,6 +856,11 @@ mymain(void) DO_TEST_CAPS_ARCH_LATEST_FULL(name, arch, \ ARG_FLAGS, FLAG_EXPECT_FAILURE) +# define DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE_FAILURE(name, arch) \ + DO_TEST_CAPS_ARCH_LATEST_FULL(name, arch, \ + ARG_PARSEFLAGS, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE, \ + ARG_FLAGS, FLAG_EXPECT_FAILURE) + # define DO_TEST_CAPS_ARCH_VER_FAILURE(name, arch, ver) \ DO_TEST_CAPS_ARCH_VER_FULL(name, arch, ver, \ ARG_FLAGS, FLAG_EXPECT_FAILURE) @@ -860,6 +868,9 @@ mymain(void) # define DO_TEST_CAPS_LATEST_FAILURE(name) \ DO_TEST_CAPS_ARCH_LATEST_FAILURE(name, "x86_64") +# define DO_TEST_CAPS_LATEST_ABI_UPDATE_FAILURE(name) \ + DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE_FAILURE(name, "x86_64") + # define DO_TEST_CAPS_VER_FAILURE(name, ver) \ DO_TEST_CAPS_ARCH_VER_FAILURE(name, "x86_64", ver) @@ -867,6 +878,11 @@ mymain(void) DO_TEST_CAPS_ARCH_LATEST_FULL(name, arch, \ ARG_FLAGS, FLAG_EXPECT_PARSE_ERROR) +# define DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE_PARSE_ERROR(name, arch) \ + DO_TEST_CAPS_ARCH_LATEST_FULL(name, arch, \ + ARG_PARSEFLAGS, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE, \ + ARG_FLAGS, FLAG_EXPECT_PARSE_ERROR) + # define DO_TEST_CAPS_ARCH_VER_PARSE_ERROR(name, arch, ver) \ DO_TEST_CAPS_ARCH_VER_FULL(name, arch, ver, \ ARG_FLAGS, FLAG_EXPECT_PARSE_ERROR) @@ -874,6 +890,9 @@ mymain(void) # define DO_TEST_CAPS_LATEST_PARSE_ERROR(name) \ DO_TEST_CAPS_ARCH_LATEST_PARSE_ERROR(name, "x86_64") +# define DO_TEST_CAPS_LATEST_ABI_UPDATE_PARSE_ERROR(name) \ + DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE_PARSE_ERROR(name, "x86_64") + # define DO_TEST_CAPS_VER_PARSE_ERROR(name, ver) \ DO_TEST_CAPS_ARCH_VER_PARSE_ERROR(name, "x86_64", ver) diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 6c817cb206..9443673a75 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -184,6 +184,9 @@ mymain(void) #define DO_TEST_CAPS_LATEST(name) \ DO_TEST_CAPS_ARCH_LATEST(name, "x86_64") +#define DO_TEST_CAPS_LATEST_ABI_UPDATE(name) \ + DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE(name, "x86_64") + #define DO_TEST_CAPS_VER(name, ver) \ DO_TEST_CAPS_ARCH_VER(name, "x86_64", ver) -- 2.41.0

Most of these are just additional coverage, but a few demonstrate bugs in libvirt: * firmware-manual-efi-nvram-template-nonstandard sees the NVRAM template path, which was explicitly provided in the XML, being overridden by the firmware selection machinery; * firmware-auto-efi-rw* and firmware-manual-efi-rw-legacy-paths lose the loader.readonly=no setting and thus behave differently than requested; * firmware-manual-efi-loader-path-nonstandard fails because an NVRAM path doesn't get generated. We're going to address all these issues with upcoming changes. Note that the firmware-auto-efi-nvram-template-nonstandard failure is expected: firmware autoselection has been enabled, but the NVRAM template points to a custom path that's not mentioned in any of the firmware descriptors and so it can't succeed. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ...are-auto-efi-abi-update.x86_64-latest.args | 38 +++++++++++++++++ .../firmware-auto-efi-abi-update.xml | 1 + ...-loader-raw-abi-update.aarch64-latest.args | 35 ++++++++++++++++ ...-auto-efi-format-loader-raw-abi-update.xml | 1 + ...oader-secure-abi-update.x86_64-latest.args | 38 +++++++++++++++++ ...ware-auto-efi-loader-secure-abi-update.xml | 1 + ...ram-template-nonstandard.x86_64-latest.err | 1 + ...re-auto-efi-nvram-template-nonstandard.xml | 19 +++++++++ ...auto-efi-nvram-template.x86_64-latest.args | 38 +++++++++++++++++ .../firmware-auto-efi-nvram-template.xml | 18 ++++++++ ...-auto-efi-rw-abi-update.x86_64-latest.args | 38 +++++++++++++++++ .../firmware-auto-efi-rw-abi-update.xml | 1 + .../firmware-auto-efi-rw.x86_64-latest.args | 38 +++++++++++++++++ .../qemuxml2argvdata/firmware-auto-efi-rw.xml | 18 ++++++++ ...i-aarch64-legacy-paths.aarch64-latest.args | 35 ++++++++++++++++ ...rmware-manual-efi-aarch64-legacy-paths.xml | 19 +++++++++ ...-loader-path-nonstandard.x86_64-latest.err | 1 + ...are-manual-efi-loader-path-nonstandard.xml | 19 +++++++++ ...olled-keys-legacy-paths.x86_64-latest.args | 38 +++++++++++++++++ ...nual-efi-no-enrolled-keys-legacy-paths.xml | 20 +++++++++ ...no-secboot-legacy-paths.x86_64-latest.args | 37 +++++++++++++++++ ...are-manual-efi-no-secboot-legacy-paths.xml | 19 +++++++++ ...am-template-nonstandard.x86_64-latest.args | 37 +++++++++++++++++ ...-manual-efi-nvram-template-nonstandard.xml | 19 +++++++++ ...ual-efi-rw-legacy-paths.x86_64-latest.args | 37 +++++++++++++++++ .../firmware-manual-efi-rw-legacy-paths.xml | 18 ++++++++ ...ual-efi-rw-modern-paths.x86_64-latest.args | 35 ++++++++++++++++ .../firmware-manual-efi-rw-modern-paths.xml | 18 ++++++++ ...fi-secboot-legacy-paths.x86_64-latest.args | 38 +++++++++++++++++ ...rmware-manual-efi-secboot-legacy-paths.xml | 20 +++++++++ tests/qemuxml2argvtest.c | 17 ++++++++ ...ware-auto-efi-abi-update.x86_64-latest.xml | 41 +++++++++++++++++++ ...t-loader-raw-abi-update.aarch64-latest.xml | 35 ++++++++++++++++ ...loader-secure-abi-update.x86_64-latest.xml | 41 +++++++++++++++++++ ...ram-template-nonstandard.x86_64-latest.xml | 36 ++++++++++++++++ ...-auto-efi-nvram-template.x86_64-latest.xml | 41 +++++++++++++++++++ ...e-auto-efi-rw-abi-update.x86_64-latest.xml | 41 +++++++++++++++++++ .../firmware-auto-efi-rw.x86_64-latest.xml | 41 +++++++++++++++++++ ...fi-aarch64-legacy-paths.aarch64-latest.xml | 35 ++++++++++++++++ ...-loader-path-nonstandard.x86_64-latest.xml | 36 ++++++++++++++++ ...rolled-keys-legacy-paths.x86_64-latest.xml | 41 +++++++++++++++++++ ...-no-secboot-legacy-paths.x86_64-latest.xml | 40 ++++++++++++++++++ ...ram-template-nonstandard.x86_64-latest.xml | 36 ++++++++++++++++ ...nual-efi-rw-legacy-paths.x86_64-latest.xml | 40 ++++++++++++++++++ ...nual-efi-rw-modern-paths.x86_64-latest.xml | 35 ++++++++++++++++ ...efi-secboot-legacy-paths.x86_64-latest.xml | 41 +++++++++++++++++++ tests/qemuxml2xmltest.c | 17 ++++++++ 47 files changed, 1309 insertions(+) create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-abi-update.x86_64-latest.args create mode 120000 tests/qemuxml2argvdata/firmware-auto-efi-abi-update.xml create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.args create mode 120000 tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.xml create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args create mode 120000 tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.xml create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-nvram-template-nonstandard.x86_64-latest.err create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-nvram-template-nonstandard.xml create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.xml create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.args create mode 120000 tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.xml create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-rw.xml create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-aarch64-legacy-paths.aarch64-latest.args create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-aarch64-legacy-paths.xml create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.err create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.xml create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.xml create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-no-secboot-legacy-paths.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-no-secboot-legacy-paths.xml create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.xml create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-rw-legacy-paths.xml create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.xml create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-secboot-legacy-paths.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-auto-efi-abi-update.x86_64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template-nonstandard.x86_64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template.x86_64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-auto-efi-rw-abi-update.x86_64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-auto-efi-rw.x86_64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-manual-efi-aarch64-legacy-paths.aarch64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.x86_64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-manual-efi-no-secboot-legacy-paths.x86_64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.xml diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-abi-update.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-abi-update.x86_64-latest.args new file mode 100644 index 0000000000..29f76cd20d --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-abi-update.x86_64-latest.args @@ -0,0 +1,38 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-accel kvm \ +-cpu qemu64 \ +-global driver=cfi.pflash01,property=secure,value=on \ +-m size=1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-global ICH9-LPC.noreboot=off \ +-watchdog-action reset \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-abi-update.xml b/tests/qemuxml2argvdata/firmware-auto-efi-abi-update.xml new file mode 120000 index 0000000000..348bfcc7f6 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-abi-update.xml @@ -0,0 +1 @@ +firmware-auto-efi.xml \ No newline at end of file diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.args new file mode 100644 index 0000000000..7f8b5e7797 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.args @@ -0,0 +1,35 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-aarch64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine virt-4.0,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ +-accel tcg \ +-cpu cortex-a15 \ +-m size=1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"mach-virt.ram","size":1073741824}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.xml b/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.xml new file mode 120000 index 0000000000..bdd4a9f7a0 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.xml @@ -0,0 +1 @@ +firmware-auto-efi-format-loader-raw.xml \ No newline at end of file diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args new file mode 100644 index 0000000000..29f76cd20d --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args @@ -0,0 +1,38 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-accel kvm \ +-cpu qemu64 \ +-global driver=cfi.pflash01,property=secure,value=on \ +-m size=1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-global ICH9-LPC.noreboot=off \ +-watchdog-action reset \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.xml b/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.xml new file mode 120000 index 0000000000..a723eb2e08 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.xml @@ -0,0 +1 @@ +firmware-auto-efi-loader-secure.xml \ No newline at end of file diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template-nonstandard.x86_64-latest.err b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template-nonstandard.x86_64-latest.err new file mode 100644 index 0000000000..4cfde1bd2e --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template-nonstandard.x86_64-latest.err @@ -0,0 +1 @@ +operation failed: Unable to find any firmware to satisfy 'efi' diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template-nonstandard.xml b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template-nonstandard.xml new file mode 100644 index 0000000000..a009fa5fda --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template-nonstandard.xml @@ -0,0 +1,19 @@ +<domain type='kvm'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <nvram template='/path/to/OVMF_VARS.fd'/> + </os> + <features> + <acpi/> + </features> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' model='none'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.x86_64-latest.args new file mode 100644 index 0000000000..29f76cd20d --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.x86_64-latest.args @@ -0,0 +1,38 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-accel kvm \ +-cpu qemu64 \ +-global driver=cfi.pflash01,property=secure,value=on \ +-m size=1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-global ICH9-LPC.noreboot=off \ +-watchdog-action reset \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.xml b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.xml new file mode 100644 index 0000000000..920bf3b583 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.xml @@ -0,0 +1,18 @@ +<domain type='kvm'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <nvram template='/usr/share/OVMF/OVMF_VARS.fd'/> + </os> + <features> + <acpi/> + </features> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' model='none'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.args new file mode 100644 index 0000000000..29f76cd20d --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.args @@ -0,0 +1,38 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-accel kvm \ +-cpu qemu64 \ +-global driver=cfi.pflash01,property=secure,value=on \ +-m size=1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-global ICH9-LPC.noreboot=off \ +-watchdog-action reset \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.xml b/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.xml new file mode 120000 index 0000000000..252c7f40a2 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.xml @@ -0,0 +1 @@ +firmware-auto-efi-rw.xml \ No newline at end of file diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.args new file mode 100644 index 0000000000..29f76cd20d --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.args @@ -0,0 +1,38 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-accel kvm \ +-cpu qemu64 \ +-global driver=cfi.pflash01,property=secure,value=on \ +-m size=1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-global ICH9-LPC.noreboot=off \ +-watchdog-action reset \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-rw.xml b/tests/qemuxml2argvdata/firmware-auto-efi-rw.xml new file mode 100644 index 0000000000..6bee044058 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-rw.xml @@ -0,0 +1,18 @@ +<domain type='kvm'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <loader readonly='no'/> + </os> + <features> + <acpi/> + </features> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' model='none'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-aarch64-legacy-paths.aarch64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-aarch64-legacy-paths.aarch64-latest.args new file mode 100644 index 0000000000..7f8b5e7797 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-aarch64-legacy-paths.aarch64-latest.args @@ -0,0 +1,35 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-aarch64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine virt-4.0,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ +-accel tcg \ +-cpu cortex-a15 \ +-m size=1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"mach-virt.ram","size":1073741824}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-aarch64-legacy-paths.xml b/tests/qemuxml2argvdata/firmware-manual-efi-aarch64-legacy-paths.xml new file mode 100644 index 0000000000..8ab921d344 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-aarch64-legacy-paths.xml @@ -0,0 +1,19 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='aarch64' machine='virt-4.0'>hvm</type> + <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> + <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'/> + </os> + <features> + <acpi/> + </features> + <devices> + <emulator>/usr/bin/qemu-system-aarch64</emulator> + <controller type='usb' model='none'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.err b/tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.err new file mode 100644 index 0000000000..6a1618a1aa --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.err @@ -0,0 +1 @@ +internal error: argument key 'filename' must not have null value diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.xml b/tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.xml new file mode 100644 index 0000000000..5a3da3c25b --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.xml @@ -0,0 +1,19 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <loader readonly='yes' type='pflash'>/path/to/OVMF_CODE.fd</loader> + <nvram template='/path/to/OVMF_VARS.fd'/> + </os> + <features> + <acpi/> + </features> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' model='none'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.x86_64-latest.args new file mode 100644 index 0000000000..cc4a935474 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.x86_64-latest.args @@ -0,0 +1,38 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-accel tcg \ +-cpu qemu64 \ +-global driver=cfi.pflash01,property=secure,value=on \ +-m size=1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-global ICH9-LPC.noreboot=off \ +-watchdog-action reset \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.xml b/tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.xml new file mode 100644 index 0000000000..cfc27226b5 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.xml @@ -0,0 +1,20 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/OVMF/OVMF_VARS.fd'/> + </os> + <features> + <acpi/> + <smm state='on'/> + </features> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' model='none'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-no-secboot-legacy-paths.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-no-secboot-legacy-paths.x86_64-latest.args new file mode 100644 index 0000000000..ccc279e4e3 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-no-secboot-legacy-paths.x86_64-latest.args @@ -0,0 +1,37 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-accel tcg \ +-cpu qemu64 \ +-m size=1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-global ICH9-LPC.noreboot=off \ +-watchdog-action reset \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-no-secboot-legacy-paths.xml b/tests/qemuxml2argvdata/firmware-manual-efi-no-secboot-legacy-paths.xml new file mode 100644 index 0000000000..f85aeb251b --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-no-secboot-legacy-paths.xml @@ -0,0 +1,19 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <nvram template='/usr/share/OVMF/OVMF_VARS.fd'/> + </os> + <features> + <acpi/> + </features> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' model='none'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.args new file mode 100644 index 0000000000..6d388346a8 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.args @@ -0,0 +1,37 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-accel kvm \ +-cpu qemu64 \ +-m size=1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-global ICH9-LPC.noreboot=off \ +-watchdog-action reset \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.xml b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.xml new file mode 100644 index 0000000000..db11357455 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.xml @@ -0,0 +1,19 @@ +<domain type='kvm'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <nvram template='/path/to/OVMF_VARS.fd'/> + </os> + <features> + <acpi/> + </features> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' model='none'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.args new file mode 100644 index 0000000000..ccc279e4e3 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.args @@ -0,0 +1,37 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-accel tcg \ +-cpu qemu64 \ +-m size=1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-global ICH9-LPC.noreboot=off \ +-watchdog-action reset \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-rw-legacy-paths.xml b/tests/qemuxml2argvdata/firmware-manual-efi-rw-legacy-paths.xml new file mode 100644 index 0000000000..2abea51318 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-rw-legacy-paths.xml @@ -0,0 +1,18 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <loader readonly='no' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + </os> + <features> + <acpi/> + </features> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' model='none'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.args new file mode 100644 index 0000000000..c26daad29f --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.args @@ -0,0 +1,35 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":false,"driver":"raw","file":"libvirt-pflash0-storage"}' \ +-machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,acpi=on \ +-accel tcg \ +-cpu qemu64 \ +-m size=1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-global ICH9-LPC.noreboot=off \ +-watchdog-action reset \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.xml b/tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.xml new file mode 100644 index 0000000000..e0da71db36 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.xml @@ -0,0 +1,18 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <loader readonly='no' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + </os> + <features> + <acpi/> + </features> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' model='none'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.args new file mode 100644 index 0000000000..cc4a935474 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.args @@ -0,0 +1,38 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-accel tcg \ +-cpu qemu64 \ +-global driver=cfi.pflash01,property=secure,value=on \ +-m size=1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-global ICH9-LPC.noreboot=off \ +-watchdog-action reset \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-secboot-legacy-paths.xml b/tests/qemuxml2argvdata/firmware-manual-efi-secboot-legacy-paths.xml new file mode 100644 index 0000000000..99f2218645 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-secboot-legacy-paths.xml @@ -0,0 +1,20 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'/> + </os> + <features> + <acpi/> + <smm state='on'/> + </features> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' model='none'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index e851dd45b0..378cbaa55d 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1046,14 +1046,18 @@ mymain(void) ARG_PARSEFLAGS, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE, ARG_END); DO_TEST_CAPS_LATEST("firmware-manual-efi-rw"); + DO_TEST_CAPS_LATEST("firmware-manual-efi-rw-legacy-paths"); + DO_TEST_CAPS_LATEST("firmware-manual-efi-rw-modern-paths"); DO_TEST_CAPS_LATEST("firmware-manual-efi-rw-implicit"); DO_TEST_CAPS_LATEST("firmware-manual-efi-loader-secure"); DO_TEST_CAPS_LATEST_PARSE_ERROR("firmware-manual-efi-loader-no-path"); + DO_TEST_CAPS_LATEST_FAILURE("firmware-manual-efi-loader-path-nonstandard"); DO_TEST_CAPS_LATEST("firmware-manual-efi-secboot"); DO_TEST_CAPS_LATEST("firmware-manual-efi-no-enrolled-keys"); DO_TEST_CAPS_LATEST("firmware-manual-efi-no-secboot"); DO_TEST_CAPS_LATEST("firmware-manual-efi-stateless"); DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-template"); + DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-template-nonstandard"); DO_TEST_CAPS_LATEST_PARSE_ERROR("firmware-manual-efi-nvram-template-stateless"); DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-network-iscsi"); DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-network-nbd"); @@ -1070,13 +1074,23 @@ mymain(void) DO_TEST_CAPS_ARCH_LATEST("firmware-manual-noefi-noacpi-aarch64", "aarch64"); DO_TEST_CAPS_LATEST("firmware-manual-noefi-noacpi-q35"); + /* Ensure that legacy firmware paths keep working */ + DO_TEST_CAPS_LATEST("firmware-manual-efi-secboot-legacy-paths"); + DO_TEST_CAPS_LATEST("firmware-manual-efi-no-enrolled-keys-legacy-paths"); + DO_TEST_CAPS_LATEST("firmware-manual-efi-no-secboot-legacy-paths"); + DO_TEST_CAPS_ARCH_LATEST("firmware-manual-efi-aarch64-legacy-paths", "aarch64"); + DO_TEST_CAPS_LATEST("firmware-auto-bios"); DO_TEST_CAPS_LATEST("firmware-auto-bios-stateless"); DO_TEST_CAPS_LATEST_PARSE_ERROR("firmware-auto-bios-not-stateless"); DO_TEST_CAPS_LATEST_PARSE_ERROR("firmware-auto-bios-nvram"); DO_TEST_CAPS_LATEST("firmware-auto-efi"); + DO_TEST_CAPS_LATEST_ABI_UPDATE("firmware-auto-efi-abi-update"); DO_TEST_CAPS_LATEST("firmware-auto-efi-stateless"); + DO_TEST_CAPS_LATEST("firmware-auto-efi-rw"); + DO_TEST_CAPS_LATEST_ABI_UPDATE("firmware-auto-efi-rw-abi-update"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-secure"); + DO_TEST_CAPS_LATEST_ABI_UPDATE("firmware-auto-efi-loader-secure-abi-update"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-insecure"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-path"); DO_TEST_CAPS_LATEST_FAILURE("firmware-auto-efi-loader-path-nonstandard"); @@ -1089,6 +1103,8 @@ mymain(void) DO_TEST_CAPS_ARCH_LATEST("firmware-auto-efi-aarch64", "aarch64"); DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE("firmware-auto-efi-abi-update-aarch64", "aarch64"); DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram-path"); + DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram-template"); + DO_TEST_CAPS_LATEST_FAILURE("firmware-auto-efi-nvram-template-nonstandard"); 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"); @@ -1098,6 +1114,7 @@ mymain(void) DO_TEST_CAPS_LATEST("firmware-auto-efi-format-nvram-qcow2-path"); DO_TEST_CAPS_LATEST("firmware-auto-efi-format-nvram-qcow2-network-nbd"); DO_TEST_CAPS_ARCH_LATEST("firmware-auto-efi-format-loader-raw", "aarch64"); + DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE("firmware-auto-efi-format-loader-raw-abi-update", "aarch64"); DO_TEST_CAPS_LATEST_PARSE_ERROR("firmware-auto-efi-format-mismatch"); DO_TEST_NOCAPS("clock-utc"); diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-abi-update.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-abi-update.x86_64-latest.xml new file mode 100644 index 0000000000..90c5040ca6 --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-abi-update.x86_64-latest.xml @@ -0,0 +1,41 @@ +<domain type='kvm'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <firmware> + <feature enabled='yes' name='enrolled-keys'/> + <feature enabled='yes' name='secure-boot'/> + </firmware> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <smm state='on'/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <watchdog model='itco' action='reset'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.xml new file mode 100644 index 0000000000..8eb6086e40 --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.xml @@ -0,0 +1,35 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='aarch64' machine='virt-4.0'>hvm</type> + <firmware> + <feature enabled='no' name='enrolled-keys'/> + <feature enabled='no' name='secure-boot'/> + </firmware> + <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> + <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <gic version='2'/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>cortex-a15</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-aarch64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='pci' index='0' model='pcie-root'/> + <audio id='1' type='none'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.xml new file mode 100644 index 0000000000..90c5040ca6 --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.xml @@ -0,0 +1,41 @@ +<domain type='kvm'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <firmware> + <feature enabled='yes' name='enrolled-keys'/> + <feature enabled='yes' name='secure-boot'/> + </firmware> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <smm state='on'/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <watchdog model='itco' action='reset'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template-nonstandard.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template-nonstandard.x86_64-latest.xml new file mode 100644 index 0000000000..26136fff10 --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template-nonstandard.x86_64-latest.xml @@ -0,0 +1,36 @@ +<domain type='kvm'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <nvram template='/path/to/OVMF_VARS.fd'/> + <boot dev='hd'/> + </os> + <features> + <acpi/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <watchdog model='itco' action='reset'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template.x86_64-latest.xml new file mode 100644 index 0000000000..e5caf31c4e --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template.x86_64-latest.xml @@ -0,0 +1,41 @@ +<domain type='kvm'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <firmware> + <feature enabled='no' name='enrolled-keys'/> + <feature enabled='yes' name='secure-boot'/> + </firmware> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <smm state='on'/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <watchdog model='itco' action='reset'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-rw-abi-update.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-rw-abi-update.x86_64-latest.xml new file mode 100644 index 0000000000..90c5040ca6 --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-rw-abi-update.x86_64-latest.xml @@ -0,0 +1,41 @@ +<domain type='kvm'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <firmware> + <feature enabled='yes' name='enrolled-keys'/> + <feature enabled='yes' name='secure-boot'/> + </firmware> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <smm state='on'/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <watchdog model='itco' action='reset'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-rw.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-rw.x86_64-latest.xml new file mode 100644 index 0000000000..90c5040ca6 --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-rw.x86_64-latest.xml @@ -0,0 +1,41 @@ +<domain type='kvm'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <firmware> + <feature enabled='yes' name='enrolled-keys'/> + <feature enabled='yes' name='secure-boot'/> + </firmware> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <smm state='on'/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <watchdog model='itco' action='reset'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-aarch64-legacy-paths.aarch64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-aarch64-legacy-paths.aarch64-latest.xml new file mode 100644 index 0000000000..8eb6086e40 --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-aarch64-legacy-paths.aarch64-latest.xml @@ -0,0 +1,35 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='aarch64' machine='virt-4.0'>hvm</type> + <firmware> + <feature enabled='no' name='enrolled-keys'/> + <feature enabled='no' name='secure-boot'/> + </firmware> + <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> + <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <gic version='2'/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>cortex-a15</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-aarch64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='pci' index='0' model='pcie-root'/> + <audio id='1' type='none'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.xml new file mode 100644 index 0000000000..5940bfd0ea --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.xml @@ -0,0 +1,36 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <loader readonly='yes' type='pflash'>/path/to/OVMF_CODE.fd</loader> + <nvram template='/path/to/OVMF_VARS.fd'/> + <boot dev='hd'/> + </os> + <features> + <acpi/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <watchdog model='itco' action='reset'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.x86_64-latest.xml new file mode 100644 index 0000000000..b41fe20055 --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.x86_64-latest.xml @@ -0,0 +1,41 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <firmware> + <feature enabled='no' name='enrolled-keys'/> + <feature enabled='yes' name='secure-boot'/> + </firmware> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <smm state='on'/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <watchdog model='itco' action='reset'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-no-secboot-legacy-paths.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-no-secboot-legacy-paths.x86_64-latest.xml new file mode 100644 index 0000000000..c1b0f2f54a --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-no-secboot-legacy-paths.x86_64-latest.xml @@ -0,0 +1,40 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <firmware> + <feature enabled='no' name='enrolled-keys'/> + <feature enabled='no' name='secure-boot'/> + </firmware> + <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <boot dev='hd'/> + </os> + <features> + <acpi/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <watchdog model='itco' action='reset'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.xml new file mode 100644 index 0000000000..8b3853dc17 --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.xml @@ -0,0 +1,36 @@ +<domain type='kvm'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <boot dev='hd'/> + </os> + <features> + <acpi/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <watchdog model='itco' action='reset'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.xml new file mode 100644 index 0000000000..c1b0f2f54a --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.xml @@ -0,0 +1,40 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <firmware> + <feature enabled='no' name='enrolled-keys'/> + <feature enabled='no' name='secure-boot'/> + </firmware> + <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <boot dev='hd'/> + </os> + <features> + <acpi/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <watchdog model='itco' action='reset'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.xml new file mode 100644 index 0000000000..0d755a4306 --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.xml @@ -0,0 +1,35 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <loader readonly='no' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <boot dev='hd'/> + </os> + <features> + <acpi/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <watchdog model='itco' action='reset'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.xml new file mode 100644 index 0000000000..c4ff23f12b --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.xml @@ -0,0 +1,41 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <firmware> + <feature enabled='yes' name='enrolled-keys'/> + <feature enabled='yes' name='secure-boot'/> + </firmware> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <smm state='on'/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <watchdog model='itco' action='reset'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 9443673a75..51bae454ec 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -867,13 +867,17 @@ mymain(void) DO_TEST_CAPS_LATEST("firmware-manual-efi"); DO_TEST_CAPS_LATEST("firmware-manual-efi-features"); DO_TEST_CAPS_LATEST("firmware-manual-efi-rw"); + DO_TEST_CAPS_LATEST("firmware-manual-efi-rw-legacy-paths"); + DO_TEST_CAPS_LATEST("firmware-manual-efi-rw-modern-paths"); DO_TEST_CAPS_LATEST("firmware-manual-efi-rw-implicit"); DO_TEST_CAPS_LATEST("firmware-manual-efi-loader-secure"); + DO_TEST_CAPS_LATEST("firmware-manual-efi-loader-path-nonstandard"); DO_TEST_CAPS_LATEST("firmware-manual-efi-secboot"); DO_TEST_CAPS_LATEST("firmware-manual-efi-no-enrolled-keys"); DO_TEST_CAPS_LATEST("firmware-manual-efi-no-secboot"); DO_TEST_CAPS_LATEST("firmware-manual-efi-stateless"); DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-template"); + DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-template-nonstandard"); DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-network-iscsi"); DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-network-nbd"); DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-file"); @@ -885,11 +889,21 @@ mymain(void) DO_TEST_CAPS_ARCH_LATEST("firmware-manual-noefi-noacpi-aarch64", "aarch64"); DO_TEST_CAPS_LATEST("firmware-manual-noefi-noacpi-q35"); + /* Ensure that legacy firmware paths keep working */ + DO_TEST_CAPS_LATEST("firmware-manual-efi-secboot-legacy-paths"); + DO_TEST_CAPS_LATEST("firmware-manual-efi-no-enrolled-keys-legacy-paths"); + DO_TEST_CAPS_LATEST("firmware-manual-efi-no-secboot-legacy-paths"); + DO_TEST_CAPS_ARCH_LATEST("firmware-manual-efi-aarch64-legacy-paths", "aarch64"); + DO_TEST_CAPS_LATEST("firmware-auto-bios"); DO_TEST_CAPS_LATEST("firmware-auto-bios-stateless"); DO_TEST_CAPS_LATEST("firmware-auto-efi"); + DO_TEST_CAPS_LATEST_ABI_UPDATE("firmware-auto-efi-abi-update"); DO_TEST_CAPS_LATEST("firmware-auto-efi-stateless"); + DO_TEST_CAPS_LATEST("firmware-auto-efi-rw"); + DO_TEST_CAPS_LATEST_ABI_UPDATE("firmware-auto-efi-rw-abi-update"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-secure"); + DO_TEST_CAPS_LATEST_ABI_UPDATE("firmware-auto-efi-loader-secure-abi-update"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-insecure"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-path"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-path-nonstandard"); @@ -901,6 +915,8 @@ mymain(void) DO_TEST_CAPS_ARCH_LATEST("firmware-auto-efi-aarch64", "aarch64"); DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE("firmware-auto-efi-abi-update-aarch64", "aarch64"); DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram-path"); + DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram-template"); + DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram-template-nonstandard"); 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"); @@ -910,6 +926,7 @@ mymain(void) DO_TEST_CAPS_LATEST("firmware-auto-efi-format-nvram-qcow2-path"); DO_TEST_CAPS_LATEST("firmware-auto-efi-format-nvram-qcow2-network-nbd"); DO_TEST_CAPS_ARCH_LATEST("firmware-auto-efi-format-loader-raw", "aarch64"); + DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE("firmware-auto-efi-format-loader-raw-abi-update", "aarch64"); DO_TEST_NOCAPS("tap-vhost"); DO_TEST_NOCAPS("tap-vhost-incorrect"); -- 2.41.0

These are imported from Fedora 38's edk2 package. The files that are being replaced date back to RHEL 7 and no longer represent what libvirt is likely to encounter on an actual production system. Notably, the paths have all changed, with both x86_64 and aarch64 builds now living under /usr/share/edk2 and the AAVMF name being having been phased out. Additionally, the 4MB qcow2 format builds have been introduced on x86_64 and given high priority, effectively making qcow2 the default format across architectures. The impact of these changes on the test suite is, predictably, quite severe. For the cases where paths to firmware files were explicitly provided as part of the input, they have been adjusted so that the modern paths are used instead of the legacy ones. Other than that, input files have been left untouched. The following expected changes can be seen in output files: * where qcow2 firmware was used on x86_64, Secure Boot support is now enabled; * all ABI_UPDATE test cases for x86_64 now use qcow2 formatted firmware; * test cases where legacy paths were manually provided no longer get additional information about the firmware added to the output XML. Some of the changes described above highlight why, in order to guarantee a stable guest ABI over time and regardless of changes to the host's configuration, it was necessary to move firmware selection from VM startup time to VM creation time. In a few cases, updating the firmware descriptors changes the behavior in a way that's undesired and uncovers latent bugs in libvirt: * firmware-manual-efi-secboot-legacy-paths ends up with Secure Boot disabled, despite the input XML specifically requesting it to be enabled; * firmware-manual-efi-rw-modern-paths loses the loader.readonly=no part of the configuration and starts using an NVRAM file; * firmware-manual-efi-nvram-template-nonstandard starts failing altogether with a fairly obscure error message. We're going to address all these issues with upcoming changes. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- .../etc/qemu/firmware/20-bios.json | 1 + .../etc/qemu/firmware/40-ovmf-sb-keys.json | 1 - .../etc/qemu/firmware/59-combined.json | 1 + .../{42-masked.json => 92-masked.json} | 0 ...ovmf.json => 60-edk2-ovmf-x64-amdsev.json} | 11 +-- .../firmware/60-edk2-ovmf-x64-inteltdx.json} | 9 +-- ...0-edk2-ovmf-4m-qcow2-x64-sb-enrolled.json} | 10 +-- ... 31-edk2-ovmf-2m-raw-x64-sb-enrolled.json} | 6 +- .../40-edk2-ovmf-4m-qcow2-x64-sb.json} | 16 ++-- ...b.json => 41-edk2-ovmf-2m-raw-x64-sb.json} | 7 +- ...-qcow2.json => 50-edk2-aarch64-qcow2.json} | 14 ++-- ...on => 50-edk2-ovmf-4m-qcow2-x64-nosb.json} | 9 ++- .../firmware/50-edk2-ovmf-x64-microvm.json | 22 ++++++ ...70-aavmf.json => 51-edk2-aarch64-raw.json} | 11 +-- ...json => 51-edk2-ovmf-2m-raw-x64-nosb.json} | 8 +- ...son => 52-edk2-aarch64-verbose-qcow2.json} | 16 ++-- .../53-edk2-aarch64-verbose-raw.json} | 10 ++- ...less.json => 60-edk2-ovmf-x64-amdsev.json} | 6 +- ...ss.json => 60-edk2-ovmf-x64-inteltdx.json} | 8 +- ...ovmf-sb-combined.json => 90-combined.json} | 4 +- .../firmware/{40-bios.json => 91-bios.json} | 0 .../{42-masked.json => 92-masked.json} | 0 tests/qemufirmwaretest.c | 76 ++++++++++++------- .../aarch64-virt-graphics.aarch64-latest.args | 4 +- .../aarch64-virt-graphics.xml | 4 +- .../aarch64-virt-headless.aarch64-latest.args | 4 +- .../aarch64-virt-headless.xml | 4 +- ...mware-auto-efi-aarch64.aarch64-latest.args | 2 +- ...efi-abi-update-aarch64.aarch64-latest.args | 2 +- ...are-auto-efi-abi-update.x86_64-latest.args | 8 +- ...-auto-efi-enrolled-keys.x86_64-latest.args | 2 +- ...efi-format-loader-qcow2.x86_64-latest.args | 5 +- ...-loader-raw-abi-update.aarch64-latest.args | 2 +- ...-efi-format-loader-raw.aarch64-latest.args | 2 +- ...nvram-qcow2-network-nbd.x86_64-latest.args | 2 +- ...format-nvram-qcow2-path.x86_64-latest.args | 5 +- ...-efi-format-nvram-qcow2.x86_64-latest.args | 5 +- ...uto-efi-loader-insecure.x86_64-latest.args | 2 +- ...re-auto-efi-loader-path.x86_64-latest.args | 2 +- .../firmware-auto-efi-loader-path.xml | 2 +- ...oader-secure-abi-update.x86_64-latest.args | 2 +- ...-auto-efi-loader-secure.x86_64-latest.args | 2 +- ...to-efi-no-enrolled-keys.x86_64-latest.args | 2 +- ...are-auto-efi-no-secboot.x86_64-latest.args | 2 +- ...are-auto-efi-nvram-file.x86_64-latest.args | 2 +- ...efi-nvram-network-iscsi.x86_64-latest.args | 2 +- ...o-efi-nvram-network-nbd.x86_64-latest.args | 2 +- ...are-auto-efi-nvram-path.x86_64-latest.args | 2 +- ...re-auto-efi-nvram-template-nonstandard.xml | 2 +- ...auto-efi-nvram-template.x86_64-latest.args | 2 +- .../firmware-auto-efi-nvram-template.xml | 2 +- ...-auto-efi-rw-abi-update.x86_64-latest.args | 2 +- .../firmware-auto-efi-rw.x86_64-latest.args | 2 +- ...rmware-auto-efi-secboot.x86_64-latest.args | 2 +- ...rmware-auto-efi-smm-off.x86_64-latest.args | 2 +- ...ware-auto-efi-stateless.x86_64-latest.args | 2 +- .../firmware-auto-efi.x86_64-latest.args | 2 +- ...anual-efi-acpi-aarch64.aarch64-latest.args | 4 +- .../firmware-manual-efi-acpi-aarch64.xml | 4 +- ...are-manual-efi-acpi-q35.x86_64-latest.args | 2 +- .../firmware-manual-efi-acpi-q35.xml | 2 +- ...are-manual-efi-features.x86_64-latest.args | 2 +- .../firmware-manual-efi-features.xml | 2 +- ...anual-efi-loader-secure.x86_64-latest.args | 2 +- .../firmware-manual-efi-loader-secure.xml | 2 +- ...al-efi-no-enrolled-keys.x86_64-latest.args | 2 +- .../firmware-manual-efi-no-enrolled-keys.xml | 4 +- ...e-manual-efi-no-secboot.x86_64-latest.args | 2 +- .../firmware-manual-efi-no-secboot.xml | 4 +- ...ual-efi-noacpi-aarch64.aarch64-latest.args | 4 +- .../firmware-manual-efi-noacpi-aarch64.xml | 4 +- .../firmware-manual-efi-noacpi-q35.xml | 2 +- ...e-manual-efi-nvram-file.x86_64-latest.args | 2 +- .../firmware-manual-efi-nvram-file.xml | 2 +- ...efi-nvram-network-iscsi.x86_64-latest.args | 2 +- ...irmware-manual-efi-nvram-network-iscsi.xml | 2 +- ...l-efi-nvram-network-nbd.x86_64-latest.args | 2 +- .../firmware-manual-efi-nvram-network-nbd.xml | 2 +- .../firmware-manual-efi-nvram-stateless.xml | 2 +- ...am-template-nonstandard.x86_64-latest.args | 37 --------- ...ram-template-nonstandard.x86_64-latest.err | 1 + ...-manual-efi-nvram-template-nonstandard.xml | 2 +- ...re-manual-efi-nvram-template-stateless.xml | 4 +- ...nual-efi-nvram-template.x86_64-latest.args | 2 +- .../firmware-manual-efi-nvram-template.xml | 4 +- ...ual-efi-rw-modern-paths.x86_64-latest.args | 6 +- ...ware-manual-efi-secboot.x86_64-latest.args | 2 +- .../firmware-manual-efi-secboot.xml | 4 +- ...re-manual-efi-stateless.x86_64-latest.args | 2 +- .../firmware-manual-efi-stateless.xml | 2 +- .../firmware-manual-efi.x86_64-latest.args | 2 +- .../qemuxml2argvdata/firmware-manual-efi.xml | 2 +- ...-aarch64-virt-headless.aarch64-latest.args | 2 +- ...hvf-x86_64-q35-headless.x86_64-latest.args | 2 +- .../pvpanic-pci-aarch64.aarch64-latest.args | 2 +- ...pci-no-address-aarch64.aarch64-latest.args | 2 +- .../virtio-iommu-aarch64.aarch64-latest.args | 2 +- tests/qemuxml2argvtest.c | 2 +- .../aarch64-virt-graphics.aarch64-latest.xml | 4 +- .../aarch64-virt-headless.aarch64-latest.xml | 4 +- ...rmware-auto-efi-aarch64.aarch64-latest.xml | 4 +- ...-efi-abi-update-aarch64.aarch64-latest.xml | 4 +- ...ware-auto-efi-abi-update.x86_64-latest.xml | 4 +- ...e-auto-efi-enrolled-keys.x86_64-latest.xml | 4 +- ...-efi-format-loader-qcow2.x86_64-latest.xml | 9 ++- ...t-loader-raw-abi-update.aarch64-latest.xml | 4 +- ...o-efi-format-loader-raw.aarch64-latest.xml | 4 +- ...-nvram-qcow2-network-nbd.x86_64-latest.xml | 2 +- ...-format-nvram-qcow2-path.x86_64-latest.xml | 9 ++- ...o-efi-format-nvram-qcow2.x86_64-latest.xml | 9 ++- ...auto-efi-loader-insecure.x86_64-latest.xml | 4 +- ...are-auto-efi-loader-path.x86_64-latest.xml | 4 +- ...loader-secure-abi-update.x86_64-latest.xml | 4 +- ...e-auto-efi-loader-secure.x86_64-latest.xml | 4 +- ...uto-efi-no-enrolled-keys.x86_64-latest.xml | 4 +- ...ware-auto-efi-no-secboot.x86_64-latest.xml | 4 +- ...ware-auto-efi-nvram-file.x86_64-latest.xml | 4 +- ...-efi-nvram-network-iscsi.x86_64-latest.xml | 2 +- ...to-efi-nvram-network-nbd.x86_64-latest.xml | 2 +- ...ware-auto-efi-nvram-path.x86_64-latest.xml | 4 +- ...ram-template-nonstandard.x86_64-latest.xml | 2 +- ...-auto-efi-nvram-template.x86_64-latest.xml | 4 +- ...e-auto-efi-rw-abi-update.x86_64-latest.xml | 4 +- .../firmware-auto-efi-rw.x86_64-latest.xml | 4 +- ...irmware-auto-efi-secboot.x86_64-latest.xml | 4 +- ...irmware-auto-efi-smm-off.x86_64-latest.xml | 4 +- ...mware-auto-efi-stateless.x86_64-latest.xml | 2 +- .../firmware-auto-efi.x86_64-latest.xml | 4 +- ...fi-aarch64-legacy-paths.aarch64-latest.xml | 6 +- ...manual-efi-acpi-aarch64.aarch64-latest.xml | 4 +- ...ware-manual-efi-acpi-q35.x86_64-latest.xml | 4 +- ...ware-manual-efi-features.x86_64-latest.xml | 4 +- ...manual-efi-loader-secure.x86_64-latest.xml | 4 +- ...rolled-keys-legacy-paths.x86_64-latest.xml | 6 +- ...ual-efi-no-enrolled-keys.x86_64-latest.xml | 4 +- ...-no-secboot-legacy-paths.x86_64-latest.xml | 6 +- ...re-manual-efi-no-secboot.x86_64-latest.xml | 4 +- ...nual-efi-noacpi-aarch64.aarch64-latest.xml | 4 +- ...re-manual-efi-nvram-file.x86_64-latest.xml | 4 +- ...-efi-nvram-network-iscsi.x86_64-latest.xml | 2 +- ...al-efi-nvram-network-nbd.x86_64-latest.xml | 2 +- ...ram-template-nonstandard.x86_64-latest.xml | 4 +- ...anual-efi-nvram-template.x86_64-latest.xml | 4 +- ...nual-efi-rw-legacy-paths.x86_64-latest.xml | 6 +- ...nual-efi-rw-modern-paths.x86_64-latest.xml | 9 ++- ...efi-secboot-legacy-paths.x86_64-latest.xml | 8 +- ...mware-manual-efi-secboot.x86_64-latest.xml | 4 +- ...are-manual-efi-stateless.x86_64-latest.xml | 2 +- .../firmware-manual-efi.x86_64-latest.xml | 4 +- ...f-aarch64-virt-headless.aarch64-latest.xml | 4 +- .../hvf-x86_64-q35-headless.x86_64-latest.xml | 4 +- .../pvpanic-pci-aarch64.aarch64-latest.xml | 4 +- ...-pci-no-address-aarch64.aarch64-latest.xml | 4 +- .../virtio-iommu-aarch64.aarch64-latest.xml | 4 +- 154 files changed, 348 insertions(+), 367 deletions(-) create mode 120000 tests/qemufirmwaredata/etc/qemu/firmware/20-bios.json delete mode 120000 tests/qemufirmwaredata/etc/qemu/firmware/40-ovmf-sb-keys.json create mode 120000 tests/qemufirmwaredata/etc/qemu/firmware/59-combined.json rename tests/qemufirmwaredata/etc/qemu/firmware/{42-masked.json => 92-masked.json} (100%) rename tests/qemufirmwaredata/out/usr/share/qemu/firmware/{61-ovmf.json => 60-edk2-ovmf-x64-amdsev.json} (60%) copy tests/qemufirmwaredata/{usr/share/qemu/firmware/45-ovmf-sev-stateless.json => out/usr/share/qemu/firmware/60-edk2-ovmf-x64-inteltdx.json} (63%) copy tests/qemufirmwaredata/usr/share/qemu/firmware/{50-ovmf-sb-keys.json => 30-edk2-ovmf-4m-qcow2-x64-sb-enrolled.json} (70%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{50-ovmf-sb-keys.json => 31-edk2-ovmf-2m-raw-x64-sb-enrolled.json} (78%) rename tests/qemufirmwaredata/{out/usr/share/qemu/firmware/50-ovmf-sb-keys.json => usr/share/qemu/firmware/40-edk2-ovmf-4m-qcow2-x64-sb.json} (59%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{60-ovmf-sb.json => 41-edk2-ovmf-2m-raw-x64-sb.json} (77%) copy tests/qemufirmwaredata/usr/share/qemu/firmware/{66-aavmf-qcow2.json => 50-edk2-aarch64-qcow2.json} (53%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{65-ovmf-qcow2.json => 50-edk2-ovmf-4m-qcow2-x64-nosb.json} (68%) create mode 100644 tests/qemufirmwaredata/usr/share/qemu/firmware/50-edk2-ovmf-x64-microvm.json rename tests/qemufirmwaredata/usr/share/qemu/firmware/{70-aavmf.json => 51-edk2-aarch64-raw.json} (64%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{61-ovmf.json => 51-edk2-ovmf-2m-raw-x64-nosb.json} (69%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{66-aavmf-qcow2.json => 52-edk2-aarch64-verbose-qcow2.json} (53%) rename tests/qemufirmwaredata/{out/usr/share/qemu/firmware/70-aavmf.json => usr/share/qemu/firmware/53-edk2-aarch64-verbose-raw.json} (57%) copy tests/qemufirmwaredata/usr/share/qemu/firmware/{45-ovmf-sev-stateless.json => 60-edk2-ovmf-x64-amdsev.json} (73%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{45-ovmf-sev-stateless.json => 60-edk2-ovmf-x64-inteltdx.json} (66%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{55-ovmf-sb-combined.json => 90-combined.json} (85%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{40-bios.json => 91-bios.json} (100%) rename tests/qemufirmwaredata/usr/share/qemu/firmware/{42-masked.json => 92-masked.json} (100%) delete mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.err diff --git a/tests/qemufirmwaredata/etc/qemu/firmware/20-bios.json b/tests/qemufirmwaredata/etc/qemu/firmware/20-bios.json new file mode 120000 index 0000000000..2c274dddc2 --- /dev/null +++ b/tests/qemufirmwaredata/etc/qemu/firmware/20-bios.json @@ -0,0 +1 @@ +../../../usr/share/qemu/firmware/91-bios.json \ No newline at end of file diff --git a/tests/qemufirmwaredata/etc/qemu/firmware/40-ovmf-sb-keys.json b/tests/qemufirmwaredata/etc/qemu/firmware/40-ovmf-sb-keys.json deleted file mode 120000 index 68e8cbbc2a..0000000000 --- a/tests/qemufirmwaredata/etc/qemu/firmware/40-ovmf-sb-keys.json +++ /dev/null @@ -1 +0,0 @@ -../../../usr/share/qemu/firmware/50-ovmf-sb-keys.json \ No newline at end of file diff --git a/tests/qemufirmwaredata/etc/qemu/firmware/59-combined.json b/tests/qemufirmwaredata/etc/qemu/firmware/59-combined.json new file mode 120000 index 0000000000..da9099ffb7 --- /dev/null +++ b/tests/qemufirmwaredata/etc/qemu/firmware/59-combined.json @@ -0,0 +1 @@ +../../../usr/share/qemu/firmware/90-combined.json \ No newline at end of file diff --git a/tests/qemufirmwaredata/etc/qemu/firmware/42-masked.json b/tests/qemufirmwaredata/etc/qemu/firmware/92-masked.json similarity index 100% rename from tests/qemufirmwaredata/etc/qemu/firmware/42-masked.json rename to tests/qemufirmwaredata/etc/qemu/firmware/92-masked.json diff --git a/tests/qemufirmwaredata/out/usr/share/qemu/firmware/61-ovmf.json b/tests/qemufirmwaredata/out/usr/share/qemu/firmware/60-edk2-ovmf-x64-amdsev.json similarity index 60% rename from tests/qemufirmwaredata/out/usr/share/qemu/firmware/61-ovmf.json rename to tests/qemufirmwaredata/out/usr/share/qemu/firmware/60-edk2-ovmf-x64-amdsev.json index 2a9aa23efb..2d3b821acb 100644 --- a/tests/qemufirmwaredata/out/usr/share/qemu/firmware/61-ovmf.json +++ b/tests/qemufirmwaredata/out/usr/share/qemu/firmware/60-edk2-ovmf-x64-amdsev.json @@ -4,13 +4,9 @@ ], "mapping": { "device": "flash", - "mode": "split", + "mode": "stateless", "executable": { - "filename": "/usr/share/OVMF/OVMF_CODE.fd", - "format": "raw" - }, - "nvram-template": { - "filename": "/usr/share/OVMF/OVMF_VARS.fd", + "filename": "/usr/share/edk2/ovmf/OVMF.amdsev.fd", "format": "raw" } }, @@ -18,14 +14,13 @@ { "architecture": "x86_64", "machines": [ - "pc-i440fx-*", "pc-q35-*" ] } ], "features": [ - "acpi-s3", "amd-sev", + "amd-sev-es", "verbose-dynamic" ] } diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/45-ovmf-sev-stateless.json b/tests/qemufirmwaredata/out/usr/share/qemu/firmware/60-edk2-ovmf-x64-inteltdx.json similarity index 63% copy from tests/qemufirmwaredata/usr/share/qemu/firmware/45-ovmf-sev-stateless.json copy to tests/qemufirmwaredata/out/usr/share/qemu/firmware/60-edk2-ovmf-x64-inteltdx.json index 5a619f3ab0..35a625b3ec 100644 --- a/tests/qemufirmwaredata/usr/share/qemu/firmware/45-ovmf-sev-stateless.json +++ b/tests/qemufirmwaredata/out/usr/share/qemu/firmware/60-edk2-ovmf-x64-inteltdx.json @@ -1,5 +1,4 @@ { - "description": "OVMF for x86_64, with SEV, without SB, without SMM, with NO varstore", "interface-types": [ "uefi" ], @@ -7,7 +6,7 @@ "device": "flash", "mode": "stateless", "executable": { - "filename": "/usr/share/OVMF/OVMF.sev.fd", + "filename": "/usr/share/edk2/ovmf/OVMF.inteltdx.fd", "format": "raw" } }, @@ -20,12 +19,6 @@ } ], "features": [ - "acpi-s3", - "amd-sev", - "amd-sev-es", "verbose-dynamic" - ], - "tags": [ - ] } diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/50-ovmf-sb-keys.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/30-edk2-ovmf-4m-qcow2-x64-sb-enrolled.json similarity index 70% copy from tests/qemufirmwaredata/usr/share/qemu/firmware/50-ovmf-sb-keys.json copy to tests/qemufirmwaredata/usr/share/qemu/firmware/30-edk2-ovmf-4m-qcow2-x64-sb-enrolled.json index c804ac1038..e709223313 100644 --- a/tests/qemufirmwaredata/usr/share/qemu/firmware/50-ovmf-sb-keys.json +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/30-edk2-ovmf-4m-qcow2-x64-sb-enrolled.json @@ -5,13 +5,14 @@ ], "mapping": { "device": "flash", + "mode" : "split", "executable": { - "filename": "/usr/share/OVMF/OVMF_CODE.secboot.fd", - "format": "raw" + "filename": "/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2", + "format": "qcow2" }, "nvram-template": { - "filename": "/usr/share/OVMF/OVMF_VARS.secboot.fd", - "format": "raw" + "filename": "/usr/share/edk2/ovmf/OVMF_VARS_4M.secboot.qcow2", + "format": "qcow2" } }, "targets": [ @@ -24,7 +25,6 @@ ], "features": [ "acpi-s3", - "amd-sev", "enrolled-keys", "requires-smm", "secure-boot", diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/50-ovmf-sb-keys.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/31-edk2-ovmf-2m-raw-x64-sb-enrolled.json similarity index 78% rename from tests/qemufirmwaredata/usr/share/qemu/firmware/50-ovmf-sb-keys.json rename to tests/qemufirmwaredata/usr/share/qemu/firmware/31-edk2-ovmf-2m-raw-x64-sb-enrolled.json index c804ac1038..2ed45362c4 100644 --- a/tests/qemufirmwaredata/usr/share/qemu/firmware/50-ovmf-sb-keys.json +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/31-edk2-ovmf-2m-raw-x64-sb-enrolled.json @@ -5,12 +5,13 @@ ], "mapping": { "device": "flash", + "mode" : "split", "executable": { - "filename": "/usr/share/OVMF/OVMF_CODE.secboot.fd", + "filename": "/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd", "format": "raw" }, "nvram-template": { - "filename": "/usr/share/OVMF/OVMF_VARS.secboot.fd", + "filename": "/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd", "format": "raw" } }, @@ -24,7 +25,6 @@ ], "features": [ "acpi-s3", - "amd-sev", "enrolled-keys", "requires-smm", "secure-boot", diff --git a/tests/qemufirmwaredata/out/usr/share/qemu/firmware/50-ovmf-sb-keys.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/40-edk2-ovmf-4m-qcow2-x64-sb.json similarity index 59% rename from tests/qemufirmwaredata/out/usr/share/qemu/firmware/50-ovmf-sb-keys.json rename to tests/qemufirmwaredata/usr/share/qemu/firmware/40-edk2-ovmf-4m-qcow2-x64-sb.json index c251682cd9..655dd42ef1 100644 --- a/tests/qemufirmwaredata/out/usr/share/qemu/firmware/50-ovmf-sb-keys.json +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/40-edk2-ovmf-4m-qcow2-x64-sb.json @@ -1,17 +1,18 @@ { + "description": "OVMF with SB+SMM, empty varstore", "interface-types": [ "uefi" ], "mapping": { "device": "flash", - "mode": "split", + "mode" : "split", "executable": { - "filename": "/usr/share/OVMF/OVMF_CODE.secboot.fd", - "format": "raw" + "filename": "/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2", + "format": "qcow2" }, "nvram-template": { - "filename": "/usr/share/OVMF/OVMF_VARS.secboot.fd", - "format": "raw" + "filename": "/usr/share/edk2/ovmf/OVMF_VARS_4M.qcow2", + "format": "qcow2" } }, "targets": [ @@ -24,10 +25,11 @@ ], "features": [ "acpi-s3", - "amd-sev", - "enrolled-keys", "requires-smm", "secure-boot", "verbose-dynamic" + ], + "tags": [ + ] } diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/60-ovmf-sb.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/41-edk2-ovmf-2m-raw-x64-sb.json similarity index 77% rename from tests/qemufirmwaredata/usr/share/qemu/firmware/60-ovmf-sb.json rename to tests/qemufirmwaredata/usr/share/qemu/firmware/41-edk2-ovmf-2m-raw-x64-sb.json index a5273a5e8b..06b3ece89a 100644 --- a/tests/qemufirmwaredata/usr/share/qemu/firmware/60-ovmf-sb.json +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/41-edk2-ovmf-2m-raw-x64-sb.json @@ -5,13 +5,13 @@ ], "mapping": { "device": "flash", - "mode": "split", + "mode" : "split", "executable": { - "filename": "/usr/share/OVMF/OVMF_CODE.secboot.fd", + "filename": "/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd", "format": "raw" }, "nvram-template": { - "filename": "/usr/share/OVMF/OVMF_VARS.fd", + "filename": "/usr/share/edk2/ovmf/OVMF_VARS.fd", "format": "raw" } }, @@ -25,7 +25,6 @@ ], "features": [ "acpi-s3", - "amd-sev", "requires-smm", "secure-boot", "verbose-dynamic" diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/66-aavmf-qcow2.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/50-edk2-aarch64-qcow2.json similarity index 53% copy from tests/qemufirmwaredata/usr/share/qemu/firmware/66-aavmf-qcow2.json copy to tests/qemufirmwaredata/usr/share/qemu/firmware/50-edk2-aarch64-qcow2.json index 9d80971ee4..79f64a11a3 100644 --- a/tests/qemufirmwaredata/usr/share/qemu/firmware/66-aavmf-qcow2.json +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/50-edk2-aarch64-qcow2.json @@ -1,17 +1,17 @@ { - "description": "UEFI firmware for ARM64 virtual machines (QCOW2 format)", + "description": "UEFI firmware for ARM64 virtual machines", "interface-types": [ "uefi" ], "mapping": { "device": "flash", - "mode": "split", + "mode" : "split", "executable": { - "filename": "/usr/share/AAVMF/AAVMF_CODE.qcow2", + "filename": "/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.qcow2", "format": "qcow2" }, "nvram-template": { - "filename": "/usr/share/AAVMF/AAVMF_VARS.qcow2", + "filename": "/usr/share/edk2/aarch64/vars-template-pflash.qcow2", "format": "qcow2" } }, @@ -27,10 +27,6 @@ ], "tags": [ - "-a AARCH64", - "-p ArmVirtPkg/ArmVirtQemu.dsc", - "-t GCC48", - "-b DEBUG", - "-D DEBUG_PRINT_ERROR_LEVEL=0x80000000" + ] } diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/65-ovmf-qcow2.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/50-edk2-ovmf-4m-qcow2-x64-nosb.json similarity index 68% rename from tests/qemufirmwaredata/usr/share/qemu/firmware/65-ovmf-qcow2.json rename to tests/qemufirmwaredata/usr/share/qemu/firmware/50-edk2-ovmf-4m-qcow2-x64-nosb.json index 3a45cf70f2..d64735f477 100644 --- a/tests/qemufirmwaredata/usr/share/qemu/firmware/65-ovmf-qcow2.json +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/50-edk2-ovmf-4m-qcow2-x64-nosb.json @@ -1,17 +1,17 @@ { - "description": "UEFI firmware for x86_64 virtual machines (QCOW2 format)", + "description": "OVMF without SB+SMM, empty varstore", "interface-types": [ "uefi" ], "mapping": { "device": "flash", - "mode": "split", + "mode" : "split", "executable": { - "filename": "/usr/share/OVMF/OVMF_CODE.qcow2", + "filename": "/usr/share/edk2/ovmf/OVMF_CODE_4M.qcow2", "format": "qcow2" }, "nvram-template": { - "filename": "/usr/share/OVMF/OVMF_VARS.qcow2", + "filename": "/usr/share/edk2/ovmf/OVMF_VARS_4M.qcow2", "format": "qcow2" } }, @@ -27,6 +27,7 @@ "features": [ "acpi-s3", "amd-sev", + "amd-sev-es", "verbose-dynamic" ], "tags": [ diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/50-edk2-ovmf-x64-microvm.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/50-edk2-ovmf-x64-microvm.json new file mode 100644 index 0000000000..3d5b393949 --- /dev/null +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/50-edk2-ovmf-x64-microvm.json @@ -0,0 +1,22 @@ +{ + "description": "OVMF for microvm", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "memory", + "filename": "/usr/share/edk2/ovmf/MICROVM.fd" + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "microvm" + ] + } + ], + "features": [ + ], + "tags": [ + ] +} diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/70-aavmf.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/51-edk2-aarch64-raw.json similarity index 64% rename from tests/qemufirmwaredata/usr/share/qemu/firmware/70-aavmf.json rename to tests/qemufirmwaredata/usr/share/qemu/firmware/51-edk2-aarch64-raw.json index 114d1475a2..cabbd396ea 100644 --- a/tests/qemufirmwaredata/usr/share/qemu/firmware/70-aavmf.json +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/51-edk2-aarch64-raw.json @@ -5,12 +5,13 @@ ], "mapping": { "device": "flash", + "mode" : "split", "executable": { - "filename": "/usr/share/AAVMF/AAVMF_CODE.fd", + "filename": "/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw", "format": "raw" }, "nvram-template": { - "filename": "/usr/share/AAVMF/AAVMF_VARS.fd", + "filename": "/usr/share/edk2/aarch64/vars-template-pflash.raw", "format": "raw" } }, @@ -26,10 +27,6 @@ ], "tags": [ - "-a AARCH64", - "-p ArmVirtPkg/ArmVirtQemu.dsc", - "-t GCC48", - "-b DEBUG", - "-D DEBUG_PRINT_ERROR_LEVEL=0x80000000" + ] } diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/61-ovmf.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/51-edk2-ovmf-2m-raw-x64-nosb.json similarity index 69% rename from tests/qemufirmwaredata/usr/share/qemu/firmware/61-ovmf.json rename to tests/qemufirmwaredata/usr/share/qemu/firmware/51-edk2-ovmf-2m-raw-x64-nosb.json index 19bc84dfde..050853e2b8 100644 --- a/tests/qemufirmwaredata/usr/share/qemu/firmware/61-ovmf.json +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/51-edk2-ovmf-2m-raw-x64-nosb.json @@ -1,16 +1,17 @@ { - "description": "UEFI firmware for x86_64 virtual machines", + "description": "OVMF without SB+SMM, empty varstore", "interface-types": [ "uefi" ], "mapping": { "device": "flash", + "mode" : "split", "executable": { - "filename": "/usr/share/OVMF/OVMF_CODE.fd", + "filename": "/usr/share/edk2/ovmf/OVMF_CODE.fd", "format": "raw" }, "nvram-template": { - "filename": "/usr/share/OVMF/OVMF_VARS.fd", + "filename": "/usr/share/edk2/ovmf/OVMF_VARS.fd", "format": "raw" } }, @@ -26,6 +27,7 @@ "features": [ "acpi-s3", "amd-sev", + "amd-sev-es", "verbose-dynamic" ], "tags": [ diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/66-aavmf-qcow2.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/52-edk2-aarch64-verbose-qcow2.json similarity index 53% rename from tests/qemufirmwaredata/usr/share/qemu/firmware/66-aavmf-qcow2.json rename to tests/qemufirmwaredata/usr/share/qemu/firmware/52-edk2-aarch64-verbose-qcow2.json index 9d80971ee4..4173102967 100644 --- a/tests/qemufirmwaredata/usr/share/qemu/firmware/66-aavmf-qcow2.json +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/52-edk2-aarch64-verbose-qcow2.json @@ -1,17 +1,17 @@ { - "description": "UEFI firmware for ARM64 virtual machines (QCOW2 format)", + "description": "UEFI firmware for ARM64 virtual machines, verbose logs", "interface-types": [ "uefi" ], "mapping": { "device": "flash", - "mode": "split", + "mode" : "split", "executable": { - "filename": "/usr/share/AAVMF/AAVMF_CODE.qcow2", + "filename": "/usr/share/edk2/aarch64/QEMU_EFI-pflash.qcow2", "format": "qcow2" }, "nvram-template": { - "filename": "/usr/share/AAVMF/AAVMF_VARS.qcow2", + "filename": "/usr/share/edk2/aarch64/vars-template-pflash.qcow2", "format": "qcow2" } }, @@ -24,13 +24,9 @@ } ], "features": [ - + "verbose-static" ], "tags": [ - "-a AARCH64", - "-p ArmVirtPkg/ArmVirtQemu.dsc", - "-t GCC48", - "-b DEBUG", - "-D DEBUG_PRINT_ERROR_LEVEL=0x80000000" + ] } diff --git a/tests/qemufirmwaredata/out/usr/share/qemu/firmware/70-aavmf.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/53-edk2-aarch64-verbose-raw.json similarity index 57% rename from tests/qemufirmwaredata/out/usr/share/qemu/firmware/70-aavmf.json rename to tests/qemufirmwaredata/usr/share/qemu/firmware/53-edk2-aarch64-verbose-raw.json index 9bd5ac2868..ec69d19858 100644 --- a/tests/qemufirmwaredata/out/usr/share/qemu/firmware/70-aavmf.json +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/53-edk2-aarch64-verbose-raw.json @@ -1,16 +1,17 @@ { + "description": "UEFI firmware for ARM64 virtual machines, verbose logs", "interface-types": [ "uefi" ], "mapping": { "device": "flash", - "mode": "split", + "mode" : "split", "executable": { - "filename": "/usr/share/AAVMF/AAVMF_CODE.fd", + "filename": "/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw", "format": "raw" }, "nvram-template": { - "filename": "/usr/share/AAVMF/AAVMF_VARS.fd", + "filename": "/usr/share/edk2/aarch64/vars-template-pflash.raw", "format": "raw" } }, @@ -23,6 +24,9 @@ } ], "features": [ + "verbose-static" + ], + "tags": [ ] } diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/45-ovmf-sev-stateless.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/60-edk2-ovmf-x64-amdsev.json similarity index 73% copy from tests/qemufirmwaredata/usr/share/qemu/firmware/45-ovmf-sev-stateless.json copy to tests/qemufirmwaredata/usr/share/qemu/firmware/60-edk2-ovmf-x64-amdsev.json index 5a619f3ab0..9a561bc7eb 100644 --- a/tests/qemufirmwaredata/usr/share/qemu/firmware/45-ovmf-sev-stateless.json +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/60-edk2-ovmf-x64-amdsev.json @@ -1,5 +1,5 @@ { - "description": "OVMF for x86_64, with SEV, without SB, without SMM, with NO varstore", + "description": "OVMF with SEV-ES support", "interface-types": [ "uefi" ], @@ -7,7 +7,7 @@ "device": "flash", "mode": "stateless", "executable": { - "filename": "/usr/share/OVMF/OVMF.sev.fd", + "filename": "/usr/share/edk2/ovmf/OVMF.amdsev.fd", "format": "raw" } }, @@ -20,9 +20,9 @@ } ], "features": [ - "acpi-s3", "amd-sev", "amd-sev-es", + "amd-sev-snp", "verbose-dynamic" ], "tags": [ diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/45-ovmf-sev-stateless.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/60-edk2-ovmf-x64-inteltdx.json similarity index 66% rename from tests/qemufirmwaredata/usr/share/qemu/firmware/45-ovmf-sev-stateless.json rename to tests/qemufirmwaredata/usr/share/qemu/firmware/60-edk2-ovmf-x64-inteltdx.json index 5a619f3ab0..44993ab1f3 100644 --- a/tests/qemufirmwaredata/usr/share/qemu/firmware/45-ovmf-sev-stateless.json +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/60-edk2-ovmf-x64-inteltdx.json @@ -1,5 +1,5 @@ { - "description": "OVMF for x86_64, with SEV, without SB, without SMM, with NO varstore", + "description": "OVMF with TDX support", "interface-types": [ "uefi" ], @@ -7,7 +7,7 @@ "device": "flash", "mode": "stateless", "executable": { - "filename": "/usr/share/OVMF/OVMF.sev.fd", + "filename": "/usr/share/edk2/ovmf/OVMF.inteltdx.fd", "format": "raw" } }, @@ -20,9 +20,7 @@ } ], "features": [ - "acpi-s3", - "amd-sev", - "amd-sev-es", + "intel-tdx", "verbose-dynamic" ], "tags": [ diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/55-ovmf-sb-combined.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/90-combined.json similarity index 85% rename from tests/qemufirmwaredata/usr/share/qemu/firmware/55-ovmf-sb-combined.json rename to tests/qemufirmwaredata/usr/share/qemu/firmware/90-combined.json index eb3332e4ab..2c8381adf7 100644 --- a/tests/qemufirmwaredata/usr/share/qemu/firmware/55-ovmf-sb-combined.json +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/90-combined.json @@ -5,9 +5,9 @@ ], "mapping": { "device": "flash", - "mode": "combined", + "mode": "combined", "executable": { - "filename": "/usr/share/OVMF/OVMF.secboot.fd", + "filename": "/usr/share/edk2/ovmf/OVMF.secboot.fd", "format": "raw" } }, diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/40-bios.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/91-bios.json similarity index 100% rename from tests/qemufirmwaredata/usr/share/qemu/firmware/40-bios.json rename to tests/qemufirmwaredata/usr/share/qemu/firmware/91-bios.json diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/42-masked.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/92-masked.json similarity index 100% rename from tests/qemufirmwaredata/usr/share/qemu/firmware/42-masked.json rename to tests/qemufirmwaredata/usr/share/qemu/firmware/92-masked.json diff --git a/tests/qemufirmwaretest.c b/tests/qemufirmwaretest.c index 56df443056..86c708c7ac 100644 --- a/tests/qemufirmwaretest.c +++ b/tests/qemufirmwaretest.c @@ -67,16 +67,23 @@ testFWPrecedence(const void *opaque G_GNUC_UNUSED) g_autofree char *fakehome = NULL; g_auto(GStrv) fwList = NULL; const char *expected[] = { - PREFIX "/share/qemu/firmware/40-bios.json", - SYSCONFDIR "/qemu/firmware/40-ovmf-sb-keys.json", - PREFIX "/share/qemu/firmware/45-ovmf-sev-stateless.json", - PREFIX "/share/qemu/firmware/50-ovmf-sb-keys.json", - PREFIX "/share/qemu/firmware/55-ovmf-sb-combined.json", - PREFIX "/share/qemu/firmware/60-ovmf-sb.json", - PREFIX "/share/qemu/firmware/61-ovmf.json", - PREFIX "/share/qemu/firmware/65-ovmf-qcow2.json", - PREFIX "/share/qemu/firmware/66-aavmf-qcow2.json", - PREFIX "/share/qemu/firmware/70-aavmf.json", + SYSCONFDIR "/qemu/firmware/20-bios.json", + PREFIX "/share/qemu/firmware/30-edk2-ovmf-4m-qcow2-x64-sb-enrolled.json", + PREFIX "/share/qemu/firmware/31-edk2-ovmf-2m-raw-x64-sb-enrolled.json", + PREFIX "/share/qemu/firmware/40-edk2-ovmf-4m-qcow2-x64-sb.json", + PREFIX "/share/qemu/firmware/41-edk2-ovmf-2m-raw-x64-sb.json", + PREFIX "/share/qemu/firmware/50-edk2-aarch64-qcow2.json", + PREFIX "/share/qemu/firmware/50-edk2-ovmf-4m-qcow2-x64-nosb.json", + PREFIX "/share/qemu/firmware/50-edk2-ovmf-x64-microvm.json", + PREFIX "/share/qemu/firmware/51-edk2-aarch64-raw.json", + PREFIX "/share/qemu/firmware/51-edk2-ovmf-2m-raw-x64-nosb.json", + PREFIX "/share/qemu/firmware/52-edk2-aarch64-verbose-qcow2.json", + PREFIX "/share/qemu/firmware/53-edk2-aarch64-verbose-raw.json", + SYSCONFDIR "/qemu/firmware/59-combined.json", + PREFIX "/share/qemu/firmware/60-edk2-ovmf-x64-amdsev.json", + PREFIX "/share/qemu/firmware/60-edk2-ovmf-x64-inteltdx.json", + PREFIX "/share/qemu/firmware/90-combined.json", + PREFIX "/share/qemu/firmware/91-bios.json", NULL }; const char **e; @@ -231,15 +238,21 @@ mymain(void) ret = -1; \ } while (0) - DO_PARSE_TEST("usr/share/qemu/firmware/40-bios.json"); - DO_PARSE_TEST("usr/share/qemu/firmware/45-ovmf-sev-stateless.json"); - DO_PARSE_TEST("usr/share/qemu/firmware/50-ovmf-sb-keys.json"); - DO_PARSE_TEST("usr/share/qemu/firmware/55-ovmf-sb-combined.json"); - DO_PARSE_TEST("usr/share/qemu/firmware/60-ovmf-sb.json"); - DO_PARSE_TEST("usr/share/qemu/firmware/61-ovmf.json"); - DO_PARSE_TEST("usr/share/qemu/firmware/65-ovmf-qcow2.json"); - DO_PARSE_TEST("usr/share/qemu/firmware/66-aavmf-qcow2.json"); - DO_PARSE_TEST("usr/share/qemu/firmware/70-aavmf.json"); + DO_PARSE_TEST("usr/share/qemu/firmware/30-edk2-ovmf-4m-qcow2-x64-sb-enrolled.json"); + DO_PARSE_TEST("usr/share/qemu/firmware/31-edk2-ovmf-2m-raw-x64-sb-enrolled.json"); + DO_PARSE_TEST("usr/share/qemu/firmware/40-edk2-ovmf-4m-qcow2-x64-sb.json"); + DO_PARSE_TEST("usr/share/qemu/firmware/41-edk2-ovmf-2m-raw-x64-sb.json"); + DO_PARSE_TEST("usr/share/qemu/firmware/50-edk2-aarch64-qcow2.json"); + DO_PARSE_TEST("usr/share/qemu/firmware/50-edk2-ovmf-4m-qcow2-x64-nosb.json"); + DO_PARSE_TEST("usr/share/qemu/firmware/50-edk2-ovmf-x64-microvm.json"); + DO_PARSE_TEST("usr/share/qemu/firmware/51-edk2-aarch64-raw.json"); + DO_PARSE_TEST("usr/share/qemu/firmware/51-edk2-ovmf-2m-raw-x64-nosb.json"); + DO_PARSE_TEST("usr/share/qemu/firmware/52-edk2-aarch64-verbose-qcow2.json"); + DO_PARSE_TEST("usr/share/qemu/firmware/53-edk2-aarch64-verbose-raw.json"); + DO_PARSE_TEST("usr/share/qemu/firmware/60-edk2-ovmf-x64-amdsev.json"); + DO_PARSE_TEST("usr/share/qemu/firmware/60-edk2-ovmf-x64-inteltdx.json"); + DO_PARSE_TEST("usr/share/qemu/firmware/90-combined.json"); + DO_PARSE_TEST("usr/share/qemu/firmware/91-bios.json"); if (virTestRun("QEMU FW precedence test", testFWPrecedence, NULL) < 0) ret = -1; @@ -259,8 +272,8 @@ mymain(void) DO_SUPPORTED_TEST("pc-i440fx-3.1", VIR_ARCH_X86_64, false, "/usr/share/seabios/bios-256k.bin:NULL:" - "/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd:" - "/usr/share/OVMF/OVMF_CODE.qcow2:/usr/share/OVMF/OVMF_VARS.qcow2", + "/usr/share/edk2/ovmf/OVMF_CODE_4M.qcow2:/usr/share/edk2/ovmf/OVMF_VARS_4M.qcow2:" + "/usr/share/edk2/ovmf/OVMF_CODE.fd:/usr/share/edk2/ovmf/OVMF_VARS.fd", VIR_DOMAIN_OS_DEF_FIRMWARE_BIOS, VIR_DOMAIN_OS_DEF_FIRMWARE_EFI); DO_SUPPORTED_TEST("pc-i440fx-3.1", VIR_ARCH_I686, false, @@ -268,20 +281,25 @@ mymain(void) VIR_DOMAIN_OS_DEF_FIRMWARE_BIOS); DO_SUPPORTED_TEST("pc-q35-3.1", VIR_ARCH_X86_64, true, "/usr/share/seabios/bios-256k.bin:NULL:" - "/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.secboot.fd:" - "/usr/share/OVMF/OVMF.sev.fd:NULL:" - "/usr/share/OVMF/OVMF.secboot.fd:NULL:" - "/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.fd:" - "/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd:" - "/usr/share/OVMF/OVMF_CODE.qcow2:/usr/share/OVMF/OVMF_VARS.qcow2", + "/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2:/usr/share/edk2/ovmf/OVMF_VARS_4M.secboot.qcow2:" + "/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd:/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd:" + "/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2:/usr/share/edk2/ovmf/OVMF_VARS_4M.qcow2:" + "/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd:/usr/share/edk2/ovmf/OVMF_VARS.fd:" + "/usr/share/edk2/ovmf/OVMF_CODE_4M.qcow2:/usr/share/edk2/ovmf/OVMF_VARS_4M.qcow2:" + "/usr/share/edk2/ovmf/OVMF_CODE.fd:/usr/share/edk2/ovmf/OVMF_VARS.fd:" + "/usr/share/edk2/ovmf/OVMF.secboot.fd:NULL:" + "/usr/share/edk2/ovmf/OVMF.amdsev.fd:NULL:" + "/usr/share/edk2/ovmf/OVMF.inteltdx.fd:NULL", VIR_DOMAIN_OS_DEF_FIRMWARE_BIOS, VIR_DOMAIN_OS_DEF_FIRMWARE_EFI); DO_SUPPORTED_TEST("pc-q35-3.1", VIR_ARCH_I686, false, "/usr/share/seabios/bios-256k.bin:NULL", VIR_DOMAIN_OS_DEF_FIRMWARE_BIOS); DO_SUPPORTED_TEST("virt-3.1", VIR_ARCH_AARCH64, false, - "/usr/share/AAVMF/AAVMF_CODE.qcow2:/usr/share/AAVMF/AAVMF_VARS.qcow2:" - "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd", + "/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.qcow2:/usr/share/edk2/aarch64/vars-template-pflash.qcow2:" + "/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw:/usr/share/edk2/aarch64/vars-template-pflash.raw:" + "/usr/share/edk2/aarch64/QEMU_EFI-pflash.qcow2:/usr/share/edk2/aarch64/vars-template-pflash.qcow2:" + "/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2/aarch64/vars-template-pflash.raw", VIR_DOMAIN_OS_DEF_FIRMWARE_EFI); virFileWrapperClearPrefixes(); diff --git a/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args index eaa558747f..f977a9b6d7 100644 --- a/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args +++ b/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args @@ -10,9 +10,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw","node-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":"/path/to/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/path/to/guest_VARS.raw","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ -machine virt-4.0,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -accel tcg \ diff --git a/tests/qemuxml2argvdata/aarch64-virt-graphics.xml b/tests/qemuxml2argvdata/aarch64-virt-graphics.xml index 3c7da08381..4f69df91dc 100644 --- a/tests/qemuxml2argvdata/aarch64-virt-graphics.xml +++ b/tests/qemuxml2argvdata/aarch64-virt-graphics.xml @@ -11,8 +11,8 @@ <vcpu>4</vcpu> <os> <type arch='aarch64' machine='virt-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> + <nvram>/path/to/guest_VARS.raw</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args index 9d13abb531..0f412aeea5 100644 --- a/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args +++ b/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args @@ -10,9 +10,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw","node-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":"/path/to/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/path/to/guest_VARS.raw","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ -machine virt-4.0,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -accel tcg \ diff --git a/tests/qemuxml2argvdata/aarch64-virt-headless.xml b/tests/qemuxml2argvdata/aarch64-virt-headless.xml index 4cb309037b..9c8e75038d 100644 --- a/tests/qemuxml2argvdata/aarch64-virt-headless.xml +++ b/tests/qemuxml2argvdata/aarch64-virt-headless.xml @@ -11,8 +11,8 @@ <vcpu>4</vcpu> <os> <type arch='aarch64' machine='virt-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> + <nvram>/path/to/guest_VARS.raw</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-aarch64.aarch64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-aarch64.aarch64-latest.args index 7f8b5e7797..eb5cd8d5fc 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-aarch64.aarch64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-aarch64.aarch64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.aarch64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.aarch64-latest.args index 267f197ca3..71eed54e35 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.aarch64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-abi-update-aarch64.aarch64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/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":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.qcow2","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ -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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"qcow2","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-abi-update.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-abi-update.x86_64-latest.args index 29f76cd20d..790fb619e8 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-abi-update.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-abi-update.x86_64-latest.args @@ -10,10 +10,10 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ --blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"qcow2","file":"libvirt-pflash1-storage"}' \ -machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ -accel kvm \ -cpu qemu64 \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-enrolled-keys.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-enrolled-keys.x86_64-latest.args index 29f76cd20d..48f357cbf9 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-enrolled-keys.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-enrolled-keys.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-qcow2.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-qcow2.x86_64-latest.args index 8d609e4ac4..790fb619e8 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-qcow2.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-qcow2.x86_64-latest.args @@ -10,13 +10,14 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.qcow2","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ -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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"qcow2","file":"libvirt-pflash1-storage"}' \ --machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ -accel kvm \ -cpu qemu64 \ +-global driver=cfi.pflash01,property=secure,value=on \ -m size=1048576k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.args index 7f8b5e7797..eb5cd8d5fc 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw.aarch64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw.aarch64-latest.args index 7f8b5e7797..eb5cd8d5fc 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw.aarch64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw.aarch64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-format-nvram-qcow2-network-nbd.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-format-nvram-qcow2-network-nbd.x86_64-latest.args index 3dff5c6153..77babdc147 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-format-nvram-qcow2-network-nbd.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-format-nvram-qcow2-network-nbd.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.qcow2","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE_4M.qcow2","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"qcow2","file":"libvirt-pflash0-storage"}' \ -blockdev '{"driver":"nbd","server":{"type":"inet","host":"example.org","port":"6000"},"export":"bar","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"qcow2","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-format-nvram-qcow2-path.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-format-nvram-qcow2-path.x86_64-latest.args index 2857335df4..e8d7d580f7 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-format-nvram-qcow2-path.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-format-nvram-qcow2-path.x86_64-latest.args @@ -10,13 +10,14 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.qcow2","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"qcow2","file":"libvirt-pflash0-storage"}' \ -blockdev '{"driver":"file","filename":"/path/to/guest_VARS.qcow2","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"qcow2","file":"libvirt-pflash1-storage"}' \ --machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ -accel kvm \ -cpu qemu64 \ +-global driver=cfi.pflash01,property=secure,value=on \ -m size=1048576k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-format-nvram-qcow2.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-format-nvram-qcow2.x86_64-latest.args index 8d609e4ac4..790fb619e8 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-format-nvram-qcow2.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-format-nvram-qcow2.x86_64-latest.args @@ -10,13 +10,14 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.qcow2","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ -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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"qcow2","file":"libvirt-pflash1-storage"}' \ --machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ -accel kvm \ -cpu qemu64 \ +-global driver=cfi.pflash01,property=secure,value=on \ -m size=1048576k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-loader-insecure.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-loader-insecure.x86_64-latest.args index 6d388346a8..1dc1993285 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-loader-insecure.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-loader-insecure.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-loader-path.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-loader-path.x86_64-latest.args index 6d388346a8..1dc1993285 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-loader-path.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-loader-path.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-loader-path.xml b/tests/qemuxml2argvdata/firmware-auto-efi-loader-path.xml index 3e0af7ee4d..36bc8f7735 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-loader-path.xml +++ b/tests/qemuxml2argvdata/firmware-auto-efi-loader-path.xml @@ -5,7 +5,7 @@ <vcpu placement='static'>1</vcpu> <os firmware='efi'> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> </os> <features> <acpi/> diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args index 29f76cd20d..48f357cbf9 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure.x86_64-latest.args index 29f76cd20d..48f357cbf9 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.args index 29f76cd20d..48f357cbf9 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-no-secboot.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-no-secboot.x86_64-latest.args index 6d388346a8..1dc1993285 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-no-secboot.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-no-secboot.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-file.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-file.x86_64-latest.args index d5f69b0d76..2268372cd8 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-file.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-file.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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":"/path/to/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-network-iscsi.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-network-iscsi.x86_64-latest.args index c2b6b33d78..9c1460f53e 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-network-iscsi.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-network-iscsi.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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"}' \ -object '{"qom-type":"secret","id":"libvirt-pflash1-storage-auth-secret0","data":"9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1","keyid":"masterKey0","iv":"AAECAwQFBgcICQoLDA0ODw==","format":"base64"}' \ -blockdev '{"driver":"iscsi","portal":"example.com:6000","target":"iqn.2013-07.com.example:iscsi-nopool","lun":0,"transport":"tcp","user":"myname","password-secret":"libvirt-pflash1-storage-auth-secret0","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-network-nbd.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-network-nbd.x86_64-latest.args index e6f029cd50..b68fb184dd 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-network-nbd.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-network-nbd.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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":"nbd","server":{"type":"inet","host":"example.org","port":"6000"},"export":"bar","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-path.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-path.x86_64-latest.args index 5287ab0251..5c75c9bcca 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-path.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-path.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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":"/path/to/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template-nonstandard.xml b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template-nonstandard.xml index a009fa5fda..c225e5ef48 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template-nonstandard.xml +++ b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template-nonstandard.xml @@ -5,7 +5,7 @@ <vcpu placement='static'>1</vcpu> <os firmware='efi'> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <nvram template='/path/to/OVMF_VARS.fd'/> </os> <features> diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.x86_64-latest.args index 29f76cd20d..48f357cbf9 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.xml b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.xml index 920bf3b583..8a91594f4b 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.xml +++ b/tests/qemuxml2argvdata/firmware-auto-efi-nvram-template.xml @@ -5,7 +5,7 @@ <vcpu placement='static'>1</vcpu> <os firmware='efi'> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'/> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'/> </os> <features> <acpi/> diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.args index 29f76cd20d..48f357cbf9 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.args index 29f76cd20d..48f357cbf9 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-secboot.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-secboot.x86_64-latest.args index 29f76cd20d..48f357cbf9 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-secboot.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-secboot.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-smm-off.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-smm-off.x86_64-latest.args index e8f8a57acb..b04293c6d2 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-smm-off.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-smm-off.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-stateless.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-stateless.x86_64-latest.args index 5b3ab2eb6b..47803b0961 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-stateless.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-stateless.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF.sev.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF.amdsev.fd","node-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"}' \ -machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,acpi=on \ -accel kvm \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi.x86_64-latest.args index 29f76cd20d..48f357cbf9 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-acpi-aarch64.aarch64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-acpi-aarch64.aarch64-latest.args index 089deeb65a..51335707f0 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-acpi-aarch64.aarch64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-acpi-aarch64.aarch64-latest.args @@ -10,9 +10,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw","node-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":"/path/to/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/path/to/guest_VARS.raw","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ -machine virt-4.0,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -accel tcg \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-acpi-aarch64.xml b/tests/qemuxml2argvdata/firmware-manual-efi-acpi-aarch64.xml index 4ccb2ac4a5..66d234829c 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-acpi-aarch64.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-acpi-aarch64.xml @@ -5,8 +5,8 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='aarch64' machine='virt-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> + <nvram>/path/to/guest_VARS.raw</nvram> </os> <features> <acpi/> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-acpi-q35.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-acpi-q35.x86_64-latest.args index 20c5eda2ec..776ac9ea7c 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-acpi-q35.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-acpi-q35.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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":"/path/to/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-acpi-q35.xml b/tests/qemuxml2argvdata/firmware-manual-efi-acpi-q35.xml index dd13bd27dd..369bc3c7c5 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-acpi-q35.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-acpi-q35.xml @@ -5,7 +5,7 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <nvram>/path/to/guest_VARS.fd</nvram> </os> <features> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-features.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-features.x86_64-latest.args index f587e262fe..0943f3c656 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-features.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-features.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-features.xml b/tests/qemuxml2argvdata/firmware-manual-efi-features.xml index 092739af56..7dbef3acae 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-features.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-features.xml @@ -8,7 +8,7 @@ <firmware> <feature enabled='no' name='enrolled-keys'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> </os> <features> <acpi/> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-loader-secure.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-loader-secure.x86_64-latest.args index 35f7f0238a..2b998868f4 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-loader-secure.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-loader-secure.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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":"/path/to/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-loader-secure.xml b/tests/qemuxml2argvdata/firmware-manual-efi-loader-secure.xml index 740b7968a8..711a784c52 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-loader-secure.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-loader-secure.xml @@ -5,7 +5,7 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> <nvram>/path/to/guest_VARS.fd</nvram> </os> <features> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys.x86_64-latest.args index 35f7f0238a..2b998868f4 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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":"/path/to/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys.xml b/tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys.xml index bc715f704b..5b215abf12 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-no-enrolled-keys.xml @@ -5,8 +5,8 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> </os> <features> <acpi/> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-no-secboot.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-no-secboot.x86_64-latest.args index 20c5eda2ec..776ac9ea7c 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-no-secboot.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-no-secboot.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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":"/path/to/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-no-secboot.xml b/tests/qemuxml2argvdata/firmware-manual-efi-no-secboot.xml index 463a431c44..b51209f3ca 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-no-secboot.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-no-secboot.xml @@ -5,8 +5,8 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> </os> <features> <acpi/> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-aarch64.aarch64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-aarch64.aarch64-latest.args index 893b7b1d03..8f156ed969 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-aarch64.aarch64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-aarch64.aarch64-latest.args @@ -10,9 +10,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw","node-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":"/path/to/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/path/to/guest_VARS.raw","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ -machine virt-4.0,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -accel tcg \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-aarch64.xml b/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-aarch64.xml index 7689d36fe2..433a483be4 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-aarch64.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-aarch64.xml @@ -5,8 +5,8 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='aarch64' machine='virt-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> + <nvram>/path/to/guest_VARS.raw</nvram> </os> <devices> <emulator>/usr/bin/qemu-system-aarch64</emulator> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-q35.xml b/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-q35.xml index 792c3315d4..5654ebe434 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-q35.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-q35.xml @@ -5,7 +5,7 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <nvram>/path/to/guest_VARS.fd</nvram> </os> <devices> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-file.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-file.x86_64-latest.args index d5f69b0d76..2268372cd8 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-file.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-file.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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":"/path/to/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-file.xml b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-file.xml index 46c20b2408..69c4427fcf 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-file.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-file.xml @@ -5,7 +5,7 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-i440fx-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <nvram type='file'> <source file='/path/to/guest_VARS.fd'/> </nvram> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-iscsi.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-iscsi.x86_64-latest.args index c2b6b33d78..9c1460f53e 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-iscsi.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-iscsi.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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"}' \ -object '{"qom-type":"secret","id":"libvirt-pflash1-storage-auth-secret0","data":"9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1","keyid":"masterKey0","iv":"AAECAwQFBgcICQoLDA0ODw==","format":"base64"}' \ -blockdev '{"driver":"iscsi","portal":"example.com:6000","target":"iqn.2013-07.com.example:iscsi-nopool","lun":0,"transport":"tcp","user":"myname","password-secret":"libvirt-pflash1-storage-auth-secret0","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-iscsi.xml b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-iscsi.xml index af925e7ce7..e1483d404a 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-iscsi.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-iscsi.xml @@ -5,7 +5,7 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-i440fx-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <nvram type='network'> <source protocol='iscsi' name='iqn.2013-07.com.example:iscsi-nopool'> <host name='example.com' port='6000'/> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-nbd.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-nbd.x86_64-latest.args index e6f029cd50..b68fb184dd 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-nbd.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-nbd.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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":"nbd","server":{"type":"inet","host":"example.org","port":"6000"},"export":"bar","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-nbd.xml b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-nbd.xml index 133c08e63d..3064441720 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-nbd.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-network-nbd.xml @@ -5,7 +5,7 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-i440fx-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <nvram type='network'> <source protocol='nbd' name='bar'> <host name='example.org' port='6000'/> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-stateless.xml b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-stateless.xml index 4de3f30192..b352cfa341 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-stateless.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-stateless.xml @@ -5,7 +5,7 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-i440fx-4.0'>hvm</type> - <loader stateless='yes' readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader stateless='yes' readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <nvram type='file'> <source file='/path/to/guest_VARS.fd'/> </nvram> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.args deleted file mode 100644 index 6d388346a8..0000000000 --- a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.args +++ /dev/null @@ -1,37 +0,0 @@ -LC_ALL=C \ -PATH=/bin \ -HOME=/var/lib/libvirt/qemu/domain--1-guest \ -USER=test \ -LOGNAME=test \ -XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ -XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ -XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -/usr/bin/qemu-system-x86_64 \ --name guest=guest,debug-threads=on \ --S \ --object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-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,"discard":"unmap"}' \ --blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ --machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ --accel kvm \ --cpu qemu64 \ --m size=1048576k \ --object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ --overcommit mem-lock=off \ --smp 1,sockets=1,cores=1,threads=1 \ --uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ --display none \ --no-user-config \ --nodefaults \ --chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ --mon chardev=charmonitor,id=monitor,mode=control \ --rtc base=utc \ --no-shutdown \ --boot strict=on \ --audiodev '{"id":"audio1","driver":"none"}' \ --global ICH9-LPC.noreboot=off \ --watchdog-action reset \ --sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ --msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.err b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.err new file mode 100644 index 0000000000..6a1618a1aa --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.err @@ -0,0 +1 @@ +internal error: argument key 'filename' must not have null value diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.xml b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.xml index db11357455..ffa7c5f4cd 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.xml @@ -5,7 +5,7 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <nvram template='/path/to/OVMF_VARS.fd'/> </os> <features> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-stateless.xml b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-stateless.xml index e4f9d04aed..e0970b3341 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-stateless.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-stateless.xml @@ -5,8 +5,8 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-i440fx-4.0'>hvm</type> - <loader stateless='yes' readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template="/usr/share/OVMF/OVMF_VARS.fd"/> + <loader stateless='yes' readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template="/usr/share/edk2/ovmf/OVMF_VARS.fd"/> </os> <features> <acpi/> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template.x86_64-latest.args index f587e262fe..0943f3c656 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template.xml b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template.xml index 647c6166cf..73d310a7eb 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template.xml @@ -5,8 +5,8 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-i440fx-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template="/usr/share/OVMF/OVMF_VARS.fd"/> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template="/usr/share/edk2/ovmf/OVMF_VARS.fd"/> </os> <features> <acpi/> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.args index c26daad29f..2d45fa4792 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.args @@ -11,8 +11,10 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ -blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ --blockdev '{"node-name":"libvirt-pflash0-format","read-only":false,"driver":"raw","file":"libvirt-pflash0-storage"}' \ --machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,acpi=on \ +-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ -accel tcg \ -cpu qemu64 \ -m size=1048576k \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-secboot.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-secboot.x86_64-latest.args index 35f7f0238a..2b998868f4 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-secboot.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-secboot.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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":"/path/to/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-secboot.xml b/tests/qemuxml2argvdata/firmware-manual-efi-secboot.xml index 1850c2b241..bd31948e28 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-secboot.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-secboot.xml @@ -5,8 +5,8 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/path/to/guest_VARS.fd</nvram> </os> <features> <acpi/> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-stateless.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-stateless.x86_64-latest.args index a27264e403..6a6146b1bc 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-stateless.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-stateless.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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"}' \ -machine pc-i440fx-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,acpi=on \ -accel tcg \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-stateless.xml b/tests/qemuxml2argvdata/firmware-manual-efi-stateless.xml index 641c0f275f..55c0049c34 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-stateless.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi-stateless.xml @@ -5,7 +5,7 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-i440fx-4.0'>hvm</type> - <loader readonly='yes' type='pflash' stateless='yes'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash' stateless='yes'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> </os> <features> <acpi/> diff --git a/tests/qemuxml2argvdata/firmware-manual-efi.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi.x86_64-latest.args index d5f69b0d76..2268372cd8 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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":"/path/to/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi.xml b/tests/qemuxml2argvdata/firmware-manual-efi.xml index 5bbb50764a..b42f927684 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi.xml +++ b/tests/qemuxml2argvdata/firmware-manual-efi.xml @@ -5,7 +5,7 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-i440fx-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <nvram>/path/to/guest_VARS.fd</nvram> </os> <features> diff --git a/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.aarch64-latest.args b/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.aarch64-latest.args index 7559b9885f..512531afa3 100644 --- a/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.aarch64-latest.args +++ b/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.aarch64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \ -name guest=test,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-test/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw","node-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/test_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.x86_64-latest.args b/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.x86_64-latest.args index abea7bf158..03fa63585f 100644 --- a/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.x86_64-latest.args +++ b/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.x86_64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \ -name guest=test,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-test/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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/test_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/pvpanic-pci-aarch64.aarch64-latest.args b/tests/qemuxml2argvdata/pvpanic-pci-aarch64.aarch64-latest.args index 5bb5df19fd..bacf31006f 100644 --- a/tests/qemuxml2argvdata/pvpanic-pci-aarch64.aarch64-latest.args +++ b/tests/qemuxml2argvdata/pvpanic-pci-aarch64.aarch64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ 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 cc3dfc3159..f0b819d36c 100644 --- a/tests/qemuxml2argvdata/pvpanic-pci-no-address-aarch64.aarch64-latest.args +++ b/tests/qemuxml2argvdata/pvpanic-pci-no-address-aarch64.aarch64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvdata/virtio-iommu-aarch64.aarch64-latest.args b/tests/qemuxml2argvdata/virtio-iommu-aarch64.aarch64-latest.args index e4a1adf5db..dcad3bb88a 100644 --- a/tests/qemuxml2argvdata/virtio-iommu-aarch64.aarch64-latest.args +++ b/tests/qemuxml2argvdata/virtio-iommu-aarch64.aarch64-latest.args @@ -10,7 +10,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw","node-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,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 378cbaa55d..aaacef0e67 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1057,7 +1057,7 @@ mymain(void) DO_TEST_CAPS_LATEST("firmware-manual-efi-no-secboot"); DO_TEST_CAPS_LATEST("firmware-manual-efi-stateless"); DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-template"); - DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-template-nonstandard"); + DO_TEST_CAPS_LATEST_FAILURE("firmware-manual-efi-nvram-template-nonstandard"); DO_TEST_CAPS_LATEST_PARSE_ERROR("firmware-manual-efi-nvram-template-stateless"); DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-network-iscsi"); DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-network-nbd"); diff --git a/tests/qemuxml2xmloutdata/aarch64-virt-graphics.aarch64-latest.xml b/tests/qemuxml2xmloutdata/aarch64-virt-graphics.aarch64-latest.xml index 1150aceb02..e00283cd6d 100644 --- a/tests/qemuxml2xmloutdata/aarch64-virt-graphics.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/aarch64-virt-graphics.aarch64-latest.xml @@ -15,8 +15,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> + <nvram template='/usr/share/edk2/aarch64/vars-template-pflash.raw'>/path/to/guest_VARS.raw</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/aarch64-virt-headless.aarch64-latest.xml b/tests/qemuxml2xmloutdata/aarch64-virt-headless.aarch64-latest.xml index 68df856a28..70e84662b1 100644 --- a/tests/qemuxml2xmloutdata/aarch64-virt-headless.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/aarch64-virt-headless.aarch64-latest.xml @@ -15,8 +15,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> + <nvram template='/usr/share/edk2/aarch64/vars-template-pflash.raw'>/path/to/guest_VARS.raw</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-aarch64.aarch64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-aarch64.aarch64-latest.xml index 8eb6086e40..38c680fabd 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 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> + <nvram template='/usr/share/edk2/aarch64/vars-template-pflash.raw'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> 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 index 5779eca7a0..0088f3324b 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-abi-update-aarch64.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-abi-update-aarch64.aarch64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash' format='qcow2'>/usr/share/AAVMF/AAVMF_CODE.qcow2</loader> - <nvram template='/usr/share/AAVMF/AAVMF_VARS.qcow2' format='qcow2'>/var/lib/libvirt/qemu/nvram/guest_VARS.qcow2</nvram> + <loader readonly='yes' type='pflash' format='qcow2'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.qcow2</loader> + <nvram template='/usr/share/edk2/aarch64/vars-template-pflash.qcow2' format='qcow2'>/var/lib/libvirt/qemu/nvram/guest_VARS.qcow2</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-abi-update.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-abi-update.x86_64-latest.xml index 90c5040ca6..f4ff7a0fc2 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-abi-update.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-abi-update.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='yes' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash' format='qcow2'>/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS_4M.secboot.qcow2' format='qcow2'>/var/lib/libvirt/qemu/nvram/guest_VARS.qcow2</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-enrolled-keys.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-enrolled-keys.x86_64-latest.xml index 90c5040ca6..332d931ba1 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-enrolled-keys.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-enrolled-keys.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='yes' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git 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 index 310ee6ec73..f4ff7a0fc2 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 @@ -7,15 +7,16 @@ <os firmware='efi'> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> <firmware> - <feature enabled='no' name='enrolled-keys'/> - <feature enabled='no' name='secure-boot'/> + <feature enabled='yes' name='enrolled-keys'/> + <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash' format='qcow2'>/usr/share/OVMF/OVMF_CODE.qcow2</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.qcow2' format='qcow2'>/var/lib/libvirt/qemu/nvram/guest_VARS.qcow2</nvram> + <loader readonly='yes' secure='yes' type='pflash' format='qcow2'>/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS_4M.secboot.qcow2' format='qcow2'>/var/lib/libvirt/qemu/nvram/guest_VARS.qcow2</nvram> <boot dev='hd'/> </os> <features> <acpi/> + <smm state='on'/> </features> <cpu mode='custom' match='exact' check='none'> <model fallback='forbid'>qemu64</model> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.xml index 8eb6086e40..38c680fabd 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> + <nvram template='/usr/share/edk2/aarch64/vars-template-pflash.raw'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw.aarch64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw.aarch64-latest.xml index 8eb6086e40..38c680fabd 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 @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> + <nvram template='/usr/share/edk2/aarch64/vars-template-pflash.raw'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> 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 7ea870bbcd..35865b23c5 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 @@ -9,7 +9,7 @@ <firmware> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash' format='qcow2'>/usr/share/OVMF/OVMF_CODE.qcow2</loader> + <loader readonly='yes' type='pflash' format='qcow2'>/usr/share/edk2/ovmf/OVMF_CODE_4M.qcow2</loader> <nvram type='network' format='qcow2'> <source protocol='nbd' name='bar'> <host name='example.org' port='6000'/> 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 6cf33b0c76..49fdfc5c5f 100644 --- 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 @@ -7,15 +7,16 @@ <os firmware='efi'> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> <firmware> - <feature enabled='no' name='enrolled-keys'/> - <feature enabled='no' name='secure-boot'/> + <feature enabled='yes' name='enrolled-keys'/> + <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash' format='qcow2'>/usr/share/OVMF/OVMF_CODE.qcow2</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.qcow2' format='qcow2'>/path/to/guest_VARS.qcow2</nvram> + <loader readonly='yes' secure='yes' type='pflash' format='qcow2'>/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS_4M.secboot.qcow2' format='qcow2'>/path/to/guest_VARS.qcow2</nvram> <boot dev='hd'/> </os> <features> <acpi/> + <smm state='on'/> </features> <cpu mode='custom' match='exact' check='none'> <model fallback='forbid'>qemu64</model> 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 310ee6ec73..f4ff7a0fc2 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 @@ -7,15 +7,16 @@ <os firmware='efi'> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> <firmware> - <feature enabled='no' name='enrolled-keys'/> - <feature enabled='no' name='secure-boot'/> + <feature enabled='yes' name='enrolled-keys'/> + <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash' format='qcow2'>/usr/share/OVMF/OVMF_CODE.qcow2</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.qcow2' format='qcow2'>/var/lib/libvirt/qemu/nvram/guest_VARS.qcow2</nvram> + <loader readonly='yes' secure='yes' type='pflash' format='qcow2'>/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS_4M.secboot.qcow2' format='qcow2'>/var/lib/libvirt/qemu/nvram/guest_VARS.qcow2</nvram> <boot dev='hd'/> </os> <features> <acpi/> + <smm state='on'/> </features> <cpu mode='custom' match='exact' check='none'> <model fallback='forbid'>qemu64</model> 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 7717677c4b..4812c4e600 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-insecure.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-insecure.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='no' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' secure='no' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> 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 6f4bf4b5bb..6b8dc886a6 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 @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.xml index 90c5040ca6..332d931ba1 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='yes' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure.x86_64-latest.xml index 90c5040ca6..332d931ba1 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='yes' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.xml index e5caf31c4e..9cf30551a9 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-no-secboot.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-no-secboot.x86_64-latest.xml index 6f4bf4b5bb..6b8dc886a6 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-no-secboot.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-no-secboot.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-file.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-file.x86_64-latest.xml index 1418ddbfcd..ada0411fb3 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-file.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-file.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd' type='file'> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd' type='file'> <source file='/path/to/guest_VARS.fd'/> </nvram> <boot dev='hd'/> diff --git 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 index ec672780bb..23ff713347 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 @@ -9,7 +9,7 @@ <firmware> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <nvram type='network'> <source protocol='iscsi' name='iqn.2013-07.com.example:iscsi-nopool'> <host name='example.com' port='6000'/> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-network-nbd.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-network-nbd.x86_64-latest.xml index 3f59dc4d61..a318069d1d 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-network-nbd.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-network-nbd.x86_64-latest.xml @@ -9,7 +9,7 @@ <firmware> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <nvram type='network'> <source protocol='nbd' name='bar'> <host name='example.org' port='6000'/> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-path.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-path.x86_64-latest.xml index b7dc8fa140..135744cb7d 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-path.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-path.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='yes' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/path/to/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template-nonstandard.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template-nonstandard.x86_64-latest.xml index 26136fff10..6dcf5f23f7 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template-nonstandard.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template-nonstandard.x86_64-latest.xml @@ -6,7 +6,7 @@ <vcpu placement='static'>1</vcpu> <os firmware='efi'> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <nvram template='/path/to/OVMF_VARS.fd'/> <boot dev='hd'/> </os> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template.x86_64-latest.xml index e5caf31c4e..9cf30551a9 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram-template.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-rw-abi-update.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-rw-abi-update.x86_64-latest.xml index 90c5040ca6..332d931ba1 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-rw-abi-update.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-rw-abi-update.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='yes' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-rw.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-rw.x86_64-latest.xml index 90c5040ca6..332d931ba1 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-rw.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-rw.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='yes' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-secboot.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-secboot.x86_64-latest.xml index 90c5040ca6..332d931ba1 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-secboot.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-secboot.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='yes' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-smm-off.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-smm-off.x86_64-latest.xml index 4ab4d9587c..febaad7eae 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 @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-stateless.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-stateless.x86_64-latest.xml index b1aa817a56..006d338b3e 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-stateless.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-stateless.x86_64-latest.xml @@ -10,7 +10,7 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash' stateless='yes'>/usr/share/OVMF/OVMF.sev.fd</loader> + <loader readonly='yes' type='pflash' stateless='yes'>/usr/share/edk2/ovmf/OVMF.amdsev.fd</loader> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi.x86_64-latest.xml index 90c5040ca6..332d931ba1 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='yes' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-aarch64-legacy-paths.aarch64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-aarch64-legacy-paths.aarch64-latest.xml index 8eb6086e40..b53f39a72e 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-aarch64-legacy-paths.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-aarch64-legacy-paths.aarch64-latest.xml @@ -4,12 +4,8 @@ <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <vcpu placement='static'>1</vcpu> - <os firmware='efi'> + <os> <type arch='aarch64' machine='virt-4.0'>hvm</type> - <firmware> - <feature enabled='no' name='enrolled-keys'/> - <feature enabled='no' name='secure-boot'/> - </firmware> <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-aarch64.aarch64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-aarch64.aarch64-latest.xml index 318ffdf93c..637676d4ed 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-aarch64.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-aarch64.aarch64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> + <nvram template='/usr/share/edk2/aarch64/vars-template-pflash.raw'>/path/to/guest_VARS.raw</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-q35.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-q35.x86_64-latest.xml index ac58a278f9..a4af4ec25a 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-q35.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-q35.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-features.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-features.x86_64-latest.xml index dc4b8bb97f..4d6f2f20aa 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-features.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-features.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> 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 69b6d91e99..6c3355a3f6 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-loader-secure.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-loader-secure.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='yes' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/path/to/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.x86_64-latest.xml index b41fe20055..b8c2dfef66 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-no-enrolled-keys-legacy-paths.x86_64-latest.xml @@ -4,12 +4,8 @@ <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <vcpu placement='static'>1</vcpu> - <os firmware='efi'> + <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <firmware> - <feature enabled='no' name='enrolled-keys'/> - <feature enabled='yes' name='secure-boot'/> - </firmware> <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> diff --git 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 index 2e287b8cd1..083562ab0b 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 @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-no-secboot-legacy-paths.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-no-secboot-legacy-paths.x86_64-latest.xml index c1b0f2f54a..cfd7a6824f 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-no-secboot-legacy-paths.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-no-secboot-legacy-paths.x86_64-latest.xml @@ -4,12 +4,8 @@ <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <vcpu placement='static'>1</vcpu> - <os firmware='efi'> + <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <firmware> - <feature enabled='no' name='enrolled-keys'/> - <feature enabled='no' name='secure-boot'/> - </firmware> <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-no-secboot.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-no-secboot.x86_64-latest.xml index ac58a278f9..a4af4ec25a 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 @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-noacpi-aarch64.aarch64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-noacpi-aarch64.aarch64-latest.xml index 2b4dff8800..52f9fac842 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-noacpi-aarch64.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-noacpi-aarch64.aarch64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> + <nvram template='/usr/share/edk2/aarch64/vars-template-pflash.raw'>/path/to/guest_VARS.raw</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-file.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-file.x86_64-latest.xml index 1418ddbfcd..ada0411fb3 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 @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd' type='file'> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd' type='file'> <source file='/path/to/guest_VARS.fd'/> </nvram> <boot dev='hd'/> diff --git 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 index ec672780bb..23ff713347 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 @@ -9,7 +9,7 @@ <firmware> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <nvram type='network'> <source protocol='iscsi' name='iqn.2013-07.com.example:iscsi-nopool'> <host name='example.com' port='6000'/> diff --git 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 index 3f59dc4d61..a318069d1d 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 @@ -9,7 +9,7 @@ <firmware> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <nvram type='network'> <source protocol='nbd' name='bar'> <host name='example.org' port='6000'/> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.xml index 8b3853dc17..816e285621 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.xml @@ -6,8 +6,8 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template='/path/to/OVMF_VARS.fd'/> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template.x86_64-latest.xml index dc4b8bb97f..4d6f2f20aa 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.xml index c1b0f2f54a..cfd7a6824f 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.xml @@ -4,12 +4,8 @@ <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <vcpu placement='static'>1</vcpu> - <os firmware='efi'> + <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <firmware> - <feature enabled='no' name='enrolled-keys'/> - <feature enabled='no' name='secure-boot'/> - </firmware> <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.xml index 0d755a4306..468ca022ef 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.xml @@ -4,9 +4,14 @@ <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <vcpu placement='static'>1</vcpu> - <os> + <os firmware='efi'> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <loader readonly='no' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <firmware> + <feature enabled='no' name='enrolled-keys'/> + <feature enabled='no' name='secure-boot'/> + </firmware> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.xml index c4ff23f12b..b8c2dfef66 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.xml @@ -4,14 +4,10 @@ <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <vcpu placement='static'>1</vcpu> - <os firmware='efi'> + <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <firmware> - <feature enabled='yes' name='enrolled-keys'/> - <feature enabled='yes' name='secure-boot'/> - </firmware> <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot.x86_64-latest.xml index 69b6d91e99..6c3355a3f6 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='yes' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/path/to/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-stateless.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-stateless.x86_64-latest.xml index cb29b373d2..e4ed6a154b 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-stateless.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-stateless.x86_64-latest.xml @@ -6,7 +6,7 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-i440fx-4.0'>hvm</type> - <loader readonly='yes' type='pflash' stateless='yes'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <loader readonly='yes' type='pflash' stateless='yes'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi.x86_64-latest.xml index 11d7623e7c..5bdc9bd4c1 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/path/to/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/hvf-aarch64-virt-headless.aarch64-latest.xml b/tests/qemuxml2xmloutdata/hvf-aarch64-virt-headless.aarch64-latest.xml index 69c1d5deb3..5e4ebbdaa5 100644 --- a/tests/qemuxml2xmloutdata/hvf-aarch64-virt-headless.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/hvf-aarch64-virt-headless.aarch64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/test_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> + <nvram template='/usr/share/edk2/aarch64/vars-template-pflash.raw'>/var/lib/libvirt/qemu/nvram/test_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/hvf-x86_64-q35-headless.x86_64-latest.xml b/tests/qemuxml2xmloutdata/hvf-x86_64-q35-headless.x86_64-latest.xml index 032fd43471..b35ef7df9e 100644 --- a/tests/qemuxml2xmloutdata/hvf-x86_64-q35-headless.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/hvf-x86_64-q35-headless.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='yes' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/test_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/test_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/pvpanic-pci-aarch64.aarch64-latest.xml b/tests/qemuxml2xmloutdata/pvpanic-pci-aarch64.aarch64-latest.xml index 92dcd92d19..d318aa63a1 100644 --- a/tests/qemuxml2xmloutdata/pvpanic-pci-aarch64.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/pvpanic-pci-aarch64.aarch64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> + <nvram template='/usr/share/edk2/aarch64/vars-template-pflash.raw'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/pvpanic-pci-no-address-aarch64.aarch64-latest.xml b/tests/qemuxml2xmloutdata/pvpanic-pci-no-address-aarch64.aarch64-latest.xml index f3e7e2c911..92a81991e2 100644 --- a/tests/qemuxml2xmloutdata/pvpanic-pci-no-address-aarch64.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/pvpanic-pci-no-address-aarch64.aarch64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> + <nvram template='/usr/share/edk2/aarch64/vars-template-pflash.raw'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-latest.xml b/tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-latest.xml index ee747e7496..bc6d210458 100644 --- a/tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> - <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> - <nvram template='/usr/share/AAVMF/AAVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> + <nvram template='/usr/share/edk2/aarch64/vars-template-pflash.raw'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> -- 2.41.0

They aren't used for anything. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- tests/qemufirmwaredata/usr/share/qemu/firmware/91-bios.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/91-bios.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/91-bios.json index 137ff70779..378e6d93a5 100644 --- a/tests/qemufirmwaredata/usr/share/qemu/firmware/91-bios.json +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/91-bios.json @@ -28,8 +28,5 @@ "acpi-s4" ], "tags": [ - "CONFIG_BOOTSPLASH=n", - "CONFIG_ROM_SIZE=256", - "CONFIG_USE_SMM=n" ] } -- 2.41.0

libvirt doesn't really support the microvm machine type, but it can parse the firmware descriptor just fine. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- tests/qemufirmwaretest.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/qemufirmwaretest.c b/tests/qemufirmwaretest.c index 86c708c7ac..7596c746ab 100644 --- a/tests/qemufirmwaretest.c +++ b/tests/qemufirmwaretest.c @@ -295,6 +295,9 @@ mymain(void) DO_SUPPORTED_TEST("pc-q35-3.1", VIR_ARCH_I686, false, "/usr/share/seabios/bios-256k.bin:NULL", VIR_DOMAIN_OS_DEF_FIRMWARE_BIOS); + DO_SUPPORTED_TEST("microvm", VIR_ARCH_X86_64, false, + "/usr/share/edk2/ovmf/MICROVM.fd:NULL", + VIR_DOMAIN_OS_DEF_FIRMWARE_EFI); DO_SUPPORTED_TEST("virt-3.1", VIR_ARCH_AARCH64, false, "/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.qcow2:/usr/share/edk2/aarch64/vars-template-pflash.qcow2:" "/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw:/usr/share/edk2/aarch64/vars-template-pflash.raw:" -- 2.41.0

Just because we have found a matching entry, it doesn't mean that we should discard the information explicitly provided in the domain XML. https://bugzilla.redhat.com/show_bug.cgi?id=2196178 https://gitlab.com/libvirt/libvirt/-/issues/500 Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/qemu/qemu_firmware.c | 26 +++++++++++++++++-- ...efi-secboot-legacy-paths.x86_64-latest.xml | 2 +- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c index b1d342563b..a9437b5b95 100644 --- a/src/qemu/qemu_firmware.c +++ b/src/qemu/qemu_firmware.c @@ -1609,8 +1609,30 @@ qemuFirmwareFillDomainLegacy(virQEMUDriver *driver, loader->type = VIR_DOMAIN_LOADER_TYPE_PFLASH; loader->readonly = VIR_TRISTATE_BOOL_YES; - VIR_FREE(loader->nvramTemplate); - loader->nvramTemplate = g_strdup(cfg->firmwares[i]->nvram); + /* Only use the default template path if one hasn't been + * provided by the user. + * + * In addition to fully-custom templates, which are a valid + * use case, we could simply be in a situation where + * qemu.conf contains + * + * nvram = [ + * "/path/to/OVMF_CODE.secboot.fd:/path/to/OVMF_VARS.fd", + * "/path/to/OVMF_CODE.secboot.fd:/path/to/OVMF_VARS.secboot.fd" + * ] + * + * and the domain has been configured as + * + * <os> + * <loader readonly='yes' type='pflash'>/path/to/OVMF_CODE.secboot.fd</loader> + * <nvram template='/path/to/OVMF/OVMF_VARS.secboot.fd'> + * </os> + * + * In this case, the global default is to have Secure Boot + * disabled, but the domain configuration explicitly enables + * it, and we shouldn't overrule this choice */ + if (!loader->nvramTemplate) + loader->nvramTemplate = g_strdup(cfg->firmwares[i]->nvram); qemuFirmwareEnsureNVRAM(def, cfg, VIR_STORAGE_FILE_RAW); diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.xml index b8c2dfef66..9027123558 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-secboot-legacy-paths.x86_64-latest.xml @@ -7,7 +7,7 @@ <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> <loader readonly='yes' secure='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <nvram template='/usr/share/OVMF/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> -- 2.41.0

Right now, we only generate it after finding a matching entry either among firmware descriptors or in the legacy firmware list. Even if the domain is configured to use a custom firmware build that we know nothing about, however, we should still automatically generate the NVRAM path instead of requiring the user to provide it manually. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/qemu/qemu_firmware.c | 52 +++++++++++-------- ...loader-path-nonstandard.x86_64-latest.args | 37 +++++++++++++ ...-loader-path-nonstandard.x86_64-latest.err | 1 - ...am-template-nonstandard.x86_64-latest.args | 37 +++++++++++++ ...ram-template-nonstandard.x86_64-latest.err | 1 - tests/qemuxml2argvtest.c | 4 +- ...-loader-path-nonstandard.x86_64-latest.xml | 2 +- ...ram-template-nonstandard.x86_64-latest.xml | 2 +- 8 files changed, 109 insertions(+), 27 deletions(-) create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.args delete mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.err create mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.args delete mode 100644 tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.err diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c index a9437b5b95..2c9a03e6cf 100644 --- a/src/qemu/qemu_firmware.c +++ b/src/qemu/qemu_firmware.c @@ -1053,7 +1053,7 @@ qemuFirmwareOSInterfaceTypeFromOsDefLoaderType(virDomainLoader type) /** * qemuFirmwareEnsureNVRAM: * @def: domain definition - * @cfg: QEMU driver configuration + * @driver: QEMU driver * * Make sure that a source for the NVRAM file exists, possibly by * creating it. This might involve automatically generating the @@ -1061,15 +1061,24 @@ qemuFirmwareOSInterfaceTypeFromOsDefLoaderType(virDomainLoader type) */ static void qemuFirmwareEnsureNVRAM(virDomainDef *def, - const virQEMUDriverConfig *cfg, - virStorageFileFormat format) + virQEMUDriver *driver) { + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); virDomainLoaderDef *loader = def->os.loader; const char *ext = NULL; if (!loader) return; + if (loader->type != VIR_DOMAIN_LOADER_TYPE_PFLASH) + return; + + if (loader->readonly != VIR_TRISTATE_BOOL_YES) + return; + + if (loader->stateless == VIR_TRISTATE_BOOL_YES) + return; + /* If the source already exists and is fully specified, including * the path, leave it alone */ if (loader->nvram && loader->nvram->path) @@ -1080,11 +1089,11 @@ qemuFirmwareEnsureNVRAM(virDomainDef *def, loader->nvram = virStorageSourceNew(); loader->nvram->type = VIR_STORAGE_TYPE_FILE; - loader->nvram->format = format; + loader->nvram->format = loader->format; - if (format == VIR_STORAGE_FILE_RAW) + if (loader->nvram->format == VIR_STORAGE_FILE_RAW) ext = ".fd"; - if (format == VIR_STORAGE_FILE_QCOW2) + if (loader->nvram->format == VIR_STORAGE_FILE_QCOW2) ext = ".qcow2"; loader->nvram->path = g_strdup_printf("%s/%s_VARS%s", @@ -1347,8 +1356,7 @@ qemuFirmwareMatchDomain(const virDomainDef *def, static int -qemuFirmwareEnableFeaturesModern(virQEMUDriverConfig *cfg, - virDomainDef *def, +qemuFirmwareEnableFeaturesModern(virDomainDef *def, const qemuFirmware *fw) { const qemuFirmwareMappingFlash *flash = &fw->mapping.data.flash; @@ -1377,16 +1385,15 @@ qemuFirmwareEnableFeaturesModern(virQEMUDriverConfig *cfg, loader->path = g_strdup(flash->executable.filename); if (flash->mode == QEMU_FIRMWARE_FLASH_MODE_SPLIT) { - if ((format = virStorageFileFormatTypeFromString(flash->nvram_template.format)) < 0) - return -1; - - qemuFirmwareEnsureNVRAM(def, cfg, format); - - /* If the NVRAM is not a local path then we can't create or - * reset it, so in that case filling in the nvramTemplate - * field would be misleading */ + /* Only fill in nvramTemplate if the NVRAM location is already + * known to be a local path or hasn't been provided, in which + * case a local path will be generated by libvirt later. + * + * We can't create or reset non-local NVRAM files, so filling + * in nvramTemplate for those would be misleading */ VIR_FREE(loader->nvramTemplate); - if (loader->nvram && virStorageSourceIsLocalStorage(loader->nvram)) { + if (!loader->nvram || + (loader->nvram && virStorageSourceIsLocalStorage(loader->nvram))) { loader->nvramTemplate = g_strdup(flash->nvram_template.filename); } } @@ -1608,6 +1615,7 @@ qemuFirmwareFillDomainLegacy(virQEMUDriver *driver, loader->type = VIR_DOMAIN_LOADER_TYPE_PFLASH; loader->readonly = VIR_TRISTATE_BOOL_YES; + loader->format = VIR_STORAGE_FILE_RAW; /* Only use the default template path if one hasn't been * provided by the user. @@ -1634,8 +1642,6 @@ qemuFirmwareFillDomainLegacy(virQEMUDriver *driver, if (!loader->nvramTemplate) loader->nvramTemplate = g_strdup(cfg->firmwares[i]->nvram); - qemuFirmwareEnsureNVRAM(def, cfg, VIR_STORAGE_FILE_RAW); - VIR_DEBUG("decided on firmware '%s' template '%s'", loader->path, NULLSTR(loader->nvramTemplate)); @@ -1664,7 +1670,6 @@ static int qemuFirmwareFillDomainModern(virQEMUDriver *driver, virDomainDef *def) { - g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); g_auto(GStrv) paths = NULL; qemuFirmware **firmwares = NULL; ssize_t nfirmwares = 0; @@ -1695,7 +1700,7 @@ qemuFirmwareFillDomainModern(virQEMUDriver *driver, * likely that admin/FW manufacturer messed up. */ qemuFirmwareSanityCheck(theone, paths[i]); - if (qemuFirmwareEnableFeaturesModern(cfg, def, theone) < 0) + if (qemuFirmwareEnableFeaturesModern(def, theone) < 0) goto cleanup; ret = 0; @@ -1802,6 +1807,11 @@ qemuFirmwareFillDomain(virQEMUDriver *driver, } } + /* Always ensure that the NVRAM path is present, even if we + * haven't found a match: the configuration might simply be + * referring to a custom firmware build */ + qemuFirmwareEnsureNVRAM(def, driver); + return 0; } diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.args new file mode 100644 index 0000000000..4e989344b3 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.args @@ -0,0 +1,37 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/path/to/OVMF_CODE.fd","node-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-accel tcg \ +-cpu qemu64 \ +-m size=1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-global ICH9-LPC.noreboot=off \ +-watchdog-action reset \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.err b/tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.err deleted file mode 100644 index 6a1618a1aa..0000000000 --- a/tests/qemuxml2argvdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.err +++ /dev/null @@ -1 +0,0 @@ -internal error: argument key 'filename' must not have null value diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.args new file mode 100644 index 0000000000..1dc1993285 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.args @@ -0,0 +1,37 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/var/lib/libvirt/qemu/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=guest,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-accel kvm \ +-cpu qemu64 \ +-m size=1048576k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-global ICH9-LPC.noreboot=off \ +-watchdog-action reset \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.err b/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.err deleted file mode 100644 index 6a1618a1aa..0000000000 --- a/tests/qemuxml2argvdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.err +++ /dev/null @@ -1 +0,0 @@ -internal error: argument key 'filename' must not have null value diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index aaacef0e67..ea38d03ec4 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1051,13 +1051,13 @@ mymain(void) DO_TEST_CAPS_LATEST("firmware-manual-efi-rw-implicit"); DO_TEST_CAPS_LATEST("firmware-manual-efi-loader-secure"); DO_TEST_CAPS_LATEST_PARSE_ERROR("firmware-manual-efi-loader-no-path"); - DO_TEST_CAPS_LATEST_FAILURE("firmware-manual-efi-loader-path-nonstandard"); + DO_TEST_CAPS_LATEST("firmware-manual-efi-loader-path-nonstandard"); DO_TEST_CAPS_LATEST("firmware-manual-efi-secboot"); DO_TEST_CAPS_LATEST("firmware-manual-efi-no-enrolled-keys"); DO_TEST_CAPS_LATEST("firmware-manual-efi-no-secboot"); DO_TEST_CAPS_LATEST("firmware-manual-efi-stateless"); DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-template"); - DO_TEST_CAPS_LATEST_FAILURE("firmware-manual-efi-nvram-template-nonstandard"); + DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-template-nonstandard"); DO_TEST_CAPS_LATEST_PARSE_ERROR("firmware-manual-efi-nvram-template-stateless"); DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-network-iscsi"); DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-network-nbd"); diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.xml index 5940bfd0ea..039c485706 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-loader-path-nonstandard.x86_64-latest.xml @@ -7,7 +7,7 @@ <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> <loader readonly='yes' type='pflash'>/path/to/OVMF_CODE.fd</loader> - <nvram template='/path/to/OVMF_VARS.fd'/> + <nvram template='/path/to/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.xml index 816e285621..5433650516 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template-nonstandard.x86_64-latest.xml @@ -7,7 +7,7 @@ <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> - <nvram template='/path/to/OVMF_VARS.fd'/> + <nvram template='/path/to/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> <boot dev='hd'/> </os> <features> -- 2.41.0

If the user included loader.readonly=no in the domain XML, we should not pick a firmware build that expects to work with loader.readonly=yes. https://bugzilla.redhat.com/show_bug.cgi?id=2196178 Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/qemu/qemu_firmware.c | 12 ++++++ ...-auto-efi-rw-abi-update.x86_64-latest.args | 38 ----------------- ...e-auto-efi-rw-abi-update.x86_64-latest.err | 1 + .../firmware-auto-efi-rw.x86_64-latest.args | 38 ----------------- .../firmware-auto-efi-rw.x86_64-latest.err | 1 + ...ual-efi-rw-legacy-paths.x86_64-latest.args | 6 +-- ...ual-efi-rw-modern-paths.x86_64-latest.args | 6 +-- tests/qemuxml2argvtest.c | 4 +- ...e-auto-efi-rw-abi-update.x86_64-latest.xml | 41 ------------------- .../firmware-auto-efi-rw.x86_64-latest.xml | 8 +--- ...nual-efi-rw-legacy-paths.x86_64-latest.xml | 3 +- ...nual-efi-rw-modern-paths.x86_64-latest.xml | 9 +--- tests/qemuxml2xmltest.c | 1 - 13 files changed, 24 insertions(+), 144 deletions(-) delete mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.err delete mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.err delete mode 100644 tests/qemuxml2xmloutdata/firmware-auto-efi-rw-abi-update.x86_64-latest.xml diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c index 2c9a03e6cf..3538654913 100644 --- a/src/qemu/qemu_firmware.c +++ b/src/qemu/qemu_firmware.c @@ -1295,6 +1295,13 @@ qemuFirmwareMatchDomain(const virDomainDef *def, } } + if (loader && + loader->readonly == VIR_TRISTATE_BOOL_NO && + flash->mode != QEMU_FIRMWARE_FLASH_MODE_COMBINED) { + VIR_DEBUG("Discarding readonly loader"); + return false; + } + if (STRNEQ(flash->executable.format, "raw") && STRNEQ(flash->executable.format, "qcow2")) { VIR_DEBUG("Discarding loader with unsupported flash format '%s'", @@ -1593,6 +1600,11 @@ qemuFirmwareFillDomainLegacy(virQEMUDriver *driver, return 1; } + if (loader->readonly == VIR_TRISTATE_BOOL_NO) { + VIR_DEBUG("Ignoring legacy entries for read-write loader"); + return 1; + } + if (loader->stateless == VIR_TRISTATE_BOOL_YES) { VIR_DEBUG("Ignoring legacy entries for stateless loader"); return 1; diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.args deleted file mode 100644 index 48f357cbf9..0000000000 --- a/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.args +++ /dev/null @@ -1,38 +0,0 @@ -LC_ALL=C \ -PATH=/bin \ -HOME=/var/lib/libvirt/qemu/domain--1-guest \ -USER=test \ -LOGNAME=test \ -XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ -XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ -XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -/usr/bin/qemu-system-x86_64 \ --name guest=guest,debug-threads=on \ --S \ --object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ --blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ --machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ --accel kvm \ --cpu qemu64 \ --global driver=cfi.pflash01,property=secure,value=on \ --m size=1048576k \ --object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ --overcommit mem-lock=off \ --smp 1,sockets=1,cores=1,threads=1 \ --uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ --display none \ --no-user-config \ --nodefaults \ --chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ --mon chardev=charmonitor,id=monitor,mode=control \ --rtc base=utc \ --no-shutdown \ --boot strict=on \ --audiodev '{"id":"audio1","driver":"none"}' \ --global ICH9-LPC.noreboot=off \ --watchdog-action reset \ --sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ --msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.err b/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.err new file mode 100644 index 0000000000..4cfde1bd2e --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-rw-abi-update.x86_64-latest.err @@ -0,0 +1 @@ +operation failed: Unable to find any firmware to satisfy 'efi' diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.args deleted file mode 100644 index 48f357cbf9..0000000000 --- a/tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.args +++ /dev/null @@ -1,38 +0,0 @@ -LC_ALL=C \ -PATH=/bin \ -HOME=/var/lib/libvirt/qemu/domain--1-guest \ -USER=test \ -LOGNAME=test \ -XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ -XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ -XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -/usr/bin/qemu-system-x86_64 \ --name guest=guest,debug-threads=on \ --S \ --object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ --blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ --machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ --accel kvm \ --cpu qemu64 \ --global driver=cfi.pflash01,property=secure,value=on \ --m size=1048576k \ --object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \ --overcommit mem-lock=off \ --smp 1,sockets=1,cores=1,threads=1 \ --uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ --display none \ --no-user-config \ --nodefaults \ --chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ --mon chardev=charmonitor,id=monitor,mode=control \ --rtc base=utc \ --no-shutdown \ --boot strict=on \ --audiodev '{"id":"audio1","driver":"none"}' \ --global ICH9-LPC.noreboot=off \ --watchdog-action reset \ --sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ --msg timestamp=on diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.err b/tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.err new file mode 100644 index 0000000000..4cfde1bd2e --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-rw.x86_64-latest.err @@ -0,0 +1 @@ +operation failed: Unable to find any firmware to satisfy 'efi' diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.args index ccc279e4e3..85495da6f5 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.args @@ -11,10 +11,8 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ -blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-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,"discard":"unmap"}' \ --blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ --machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":false,"driver":"raw","file":"libvirt-pflash0-storage"}' \ +-machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,acpi=on \ -accel tcg \ -cpu qemu64 \ -m size=1048576k \ diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.args index 2d45fa4792..c26daad29f 100644 --- a/tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.args @@ -11,10 +11,8 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ -blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.fd","node-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,"discard":"unmap"}' \ --blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ --machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":false,"driver":"raw","file":"libvirt-pflash0-storage"}' \ +-machine pc-q35-4.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,acpi=on \ -accel tcg \ -cpu qemu64 \ -m size=1048576k \ diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index ea38d03ec4..1436e3724c 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1087,8 +1087,8 @@ mymain(void) DO_TEST_CAPS_LATEST("firmware-auto-efi"); DO_TEST_CAPS_LATEST_ABI_UPDATE("firmware-auto-efi-abi-update"); DO_TEST_CAPS_LATEST("firmware-auto-efi-stateless"); - DO_TEST_CAPS_LATEST("firmware-auto-efi-rw"); - DO_TEST_CAPS_LATEST_ABI_UPDATE("firmware-auto-efi-rw-abi-update"); + DO_TEST_CAPS_LATEST_FAILURE("firmware-auto-efi-rw"); + DO_TEST_CAPS_LATEST_ABI_UPDATE_PARSE_ERROR("firmware-auto-efi-rw-abi-update"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-secure"); DO_TEST_CAPS_LATEST_ABI_UPDATE("firmware-auto-efi-loader-secure-abi-update"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-insecure"); diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-rw-abi-update.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-rw-abi-update.x86_64-latest.xml deleted file mode 100644 index 332d931ba1..0000000000 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-rw-abi-update.x86_64-latest.xml +++ /dev/null @@ -1,41 +0,0 @@ -<domain type='kvm'> - <name>guest</name> - <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> - <memory unit='KiB'>1048576</memory> - <currentMemory unit='KiB'>1048576</currentMemory> - <vcpu placement='static'>1</vcpu> - <os firmware='efi'> - <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <firmware> - <feature enabled='yes' name='enrolled-keys'/> - <feature enabled='yes' name='secure-boot'/> - </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> - <boot dev='hd'/> - </os> - <features> - <acpi/> - <smm state='on'/> - </features> - <cpu mode='custom' match='exact' check='none'> - <model fallback='forbid'>qemu64</model> - </cpu> - <clock offset='utc'/> - <on_poweroff>destroy</on_poweroff> - <on_reboot>restart</on_reboot> - <on_crash>destroy</on_crash> - <devices> - <emulator>/usr/bin/qemu-system-x86_64</emulator> - <controller type='usb' index='0' model='none'/> - <controller type='sata' index='0'> - <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> - </controller> - <controller type='pci' index='0' model='pcie-root'/> - <input type='mouse' bus='ps2'/> - <input type='keyboard' bus='ps2'/> - <audio id='1' type='none'/> - <watchdog model='itco' action='reset'/> - <memballoon model='none'/> - </devices> -</domain> diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-rw.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-rw.x86_64-latest.xml index 332d931ba1..c2d0c33a0b 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-rw.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-rw.x86_64-latest.xml @@ -6,17 +6,11 @@ <vcpu placement='static'>1</vcpu> <os firmware='efi'> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <firmware> - <feature enabled='yes' name='enrolled-keys'/> - <feature enabled='yes' name='secure-boot'/> - </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='no'/> <boot dev='hd'/> </os> <features> <acpi/> - <smm state='on'/> </features> <cpu mode='custom' match='exact' check='none'> <model fallback='forbid'>qemu64</model> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.xml index cfd7a6824f..c5baedc42c 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-legacy-paths.x86_64-latest.xml @@ -6,8 +6,7 @@ <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> - <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='no' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.xml index 468ca022ef..0d755a4306 100644 --- a/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-modern-paths.x86_64-latest.xml @@ -4,14 +4,9 @@ <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <vcpu placement='static'>1</vcpu> - <os firmware='efi'> + <os> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> - <firmware> - <feature enabled='no' name='enrolled-keys'/> - <feature enabled='no' name='secure-boot'/> - </firmware> - <loader readonly='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> - <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='no' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <boot dev='hd'/> </os> <features> diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 51bae454ec..b378ce0f98 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -901,7 +901,6 @@ mymain(void) DO_TEST_CAPS_LATEST_ABI_UPDATE("firmware-auto-efi-abi-update"); DO_TEST_CAPS_LATEST("firmware-auto-efi-stateless"); DO_TEST_CAPS_LATEST("firmware-auto-efi-rw"); - DO_TEST_CAPS_LATEST_ABI_UPDATE("firmware-auto-efi-rw-abi-update"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-secure"); DO_TEST_CAPS_LATEST_ABI_UPDATE("firmware-auto-efi-loader-secure-abi-update"); DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-insecure"); -- 2.41.0

Keep things consistent by using the same file extension for the generated NVRAM path as the NVRAM template. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/qemu/qemu_domain.c | 2 +- src/qemu/qemu_firmware.c | 32 ++++++++++++++++--- src/qemu/qemu_firmware.h | 3 +- src/qemu/qemu_process.c | 2 +- ...-loader-raw-abi-update.aarch64-latest.args | 2 +- ...t-loader-raw-abi-update.aarch64-latest.xml | 2 +- 6 files changed, 33 insertions(+), 10 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 029238a9d7..50b4a65c4a 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4505,7 +4505,7 @@ qemuDomainDefBootPostParse(virDomainDef *def, * to start the domain, qemuFirmwareFillDomain() will be run * again, fail in the same way, and at that point we'll have a * chance to inform the user of any issues */ - if (qemuFirmwareFillDomain(driver, def) < 0) { + if (qemuFirmwareFillDomain(driver, def, abiUpdate) < 0) { if (abiUpdate) { return -1; } else { diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c index 3538654913..ebaf32cf71 100644 --- a/src/qemu/qemu_firmware.c +++ b/src/qemu/qemu_firmware.c @@ -32,6 +32,7 @@ #include "virlog.h" #include "viralloc.h" #include "virenum.h" +#include "virstring.h" #define VIR_FROM_THIS VIR_FROM_QEMU @@ -1054,6 +1055,7 @@ qemuFirmwareOSInterfaceTypeFromOsDefLoaderType(virDomainLoader type) * qemuFirmwareEnsureNVRAM: * @def: domain definition * @driver: QEMU driver + * @abiUpdate: whether a new domain is being defined * * Make sure that a source for the NVRAM file exists, possibly by * creating it. This might involve automatically generating the @@ -1061,7 +1063,8 @@ qemuFirmwareOSInterfaceTypeFromOsDefLoaderType(virDomainLoader type) */ static void qemuFirmwareEnsureNVRAM(virDomainDef *def, - virQEMUDriver *driver) + virQEMUDriver *driver, + bool abiUpdate) { g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); virDomainLoaderDef *loader = def->os.loader; @@ -1091,8 +1094,25 @@ qemuFirmwareEnsureNVRAM(virDomainDef *def, loader->nvram->type = VIR_STORAGE_TYPE_FILE; loader->nvram->format = loader->format; - if (loader->nvram->format == VIR_STORAGE_FILE_RAW) - ext = ".fd"; + if (loader->nvram->format == VIR_STORAGE_FILE_RAW) { + /* The extension used by raw edk2 builds has historically + * been .fd, but more recent aarch64 builds have started + * using the .raw extension instead. + * + * If we're defining a new domain, we should try to match the + * extension for the file backing its NVRAM store with the + * one used by the template to keep things nice and + * consistent. + * + * If we're loading an existing domain, however, we need to + * stick with the .fd extension to ensure compatibility */ + if (abiUpdate && + loader->nvramTemplate && + virStringHasSuffix(loader->nvramTemplate, ".raw")) + ext = ".raw"; + else + ext = ".fd"; + } if (loader->nvram->format == VIR_STORAGE_FILE_QCOW2) ext = ".qcow2"; @@ -1729,6 +1749,7 @@ qemuFirmwareFillDomainModern(virQEMUDriver *driver, * qemuFirmwareFillDomain: * @driver: QEMU driver * @def: domain definition + * @abiUpdate: whether a new domain is being defined * * Perform firmware selection. * @@ -1752,7 +1773,8 @@ qemuFirmwareFillDomainModern(virQEMUDriver *driver, */ int qemuFirmwareFillDomain(virQEMUDriver *driver, - virDomainDef *def) + virDomainDef *def, + bool abiUpdate) { virDomainLoaderDef *loader = def->os.loader; virStorageSource *nvram = loader ? loader->nvram : NULL; @@ -1822,7 +1844,7 @@ qemuFirmwareFillDomain(virQEMUDriver *driver, /* Always ensure that the NVRAM path is present, even if we * haven't found a match: the configuration might simply be * referring to a custom firmware build */ - qemuFirmwareEnsureNVRAM(def, driver); + qemuFirmwareEnsureNVRAM(def, driver, abiUpdate); return 0; } diff --git a/src/qemu/qemu_firmware.h b/src/qemu/qemu_firmware.h index 1ce0920713..39572d979d 100644 --- a/src/qemu/qemu_firmware.h +++ b/src/qemu/qemu_firmware.h @@ -44,7 +44,8 @@ qemuFirmwareFetchConfigs(char ***firmwares, int qemuFirmwareFillDomain(virQEMUDriver *driver, - virDomainDef *def); + virDomainDef *def, + bool abiUpdate); int qemuFirmwareGetSupported(const char *machine, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 0644f80161..23ab15d8cd 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -6705,7 +6705,7 @@ qemuProcessPrepareDomain(virQEMUDriver *driver, return -1; VIR_DEBUG("Prepare bios/uefi paths"); - if (qemuFirmwareFillDomain(driver, vm->def) < 0) + if (qemuFirmwareFillDomain(driver, vm->def, false) < 0) return -1; if (qemuDomainInitializePflashStorageSource(vm, cfg) < 0) return -1; diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.args index eb5cd8d5fc..3e319a29bf 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ -blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw","node-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,"discard":"unmap"}' \ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/guest_VARS.raw","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ -machine virt-4.0,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -accel tcg \ diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.xml index 38c680fabd..ee22b16831 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-raw-abi-update.aarch64-latest.xml @@ -11,7 +11,7 @@ <feature enabled='no' name='secure-boot'/> </firmware> <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw</loader> - <nvram template='/usr/share/edk2/aarch64/vars-template-pflash.raw'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <nvram template='/usr/share/edk2/aarch64/vars-template-pflash.raw'>/var/lib/libvirt/qemu/nvram/guest_VARS.raw</nvram> <boot dev='hd'/> </os> <features> -- 2.41.0

Due to the way the information is stored by the XML parser, we've had this quirk where specifying any information about the loader or NVRAM would implicitly set its format to raw. That is, <nvram>/path/to/guest_VARS.fd</nvram> would effectively be interpreted as <nvram format='raw'>/path/to/guest_VARS.fd</nvram> forcing the use of raw format firmware even when qcow2 format would normally be preferred based on the ordering of firmware descriptors. This behavior can be worked around in a number of ways, but it's fairly unintuitive. In order to remove this quirk, move the selection of the default firmware format from the parser down to the individual drivers. Most drivers only support raw firmware images, so they can unconditionally set the format early and be done with it; the QEMU driver, however, supports multiple formats and so in that case we want this default to be applied as late as possible, when we have already ruled out the possibility of using qcow2 formatted firmware images. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/bhyve/bhyve_firmware.c | 3 +++ src/conf/domain_conf.c | 21 +++++++++------ src/libxl/libxl_conf.c | 15 +++++++---- src/libxl/xen_xl.c | 2 ++ src/libxl/xen_xm.c | 1 + src/qemu/qemu_firmware.c | 27 ++++++++++++++++--- ...to-efi-format-mismatch.x86_64-latest.args} | 8 +++--- ...auto-efi-format-mismatch.x86_64-latest.err | 1 - .../firmware-auto-efi-format-mismatch.xml | 2 +- ...oader-secure-abi-update.x86_64-latest.args | 8 +++--- tests/qemuxml2argvtest.c | 2 +- ...loader-secure-abi-update.x86_64-latest.xml | 4 +-- 12 files changed, 64 insertions(+), 30 deletions(-) copy tests/qemuxml2argvdata/{firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args => firmware-auto-efi-format-mismatch.x86_64-latest.args} (80%) delete mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.x86_64-latest.err diff --git a/src/bhyve/bhyve_firmware.c b/src/bhyve/bhyve_firmware.c index 57ab9c7a82..8aaf05dc62 100644 --- a/src/bhyve/bhyve_firmware.c +++ b/src/bhyve/bhyve_firmware.c @@ -80,6 +80,9 @@ bhyveFirmwareFillDomain(bhyveConn *driver, if (!def->os.loader) def->os.loader = virDomainLoaderDefNew(); + if (!def->os.loader->format) + def->os.loader->format = VIR_STORAGE_FILE_RAW; + if (def->os.loader->format != VIR_STORAGE_FILE_RAW) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Unsupported loader format '%1$s'"), diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 47693a49bf..2e60927799 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -3728,7 +3728,6 @@ virDomainLoaderDefNew(void) virDomainLoaderDef *def = NULL; def = g_new0(virDomainLoaderDef, 1); - def->format = VIR_STORAGE_FILE_RAW; return def; } @@ -16771,10 +16770,11 @@ virDomainLoaderDefParseXMLNvram(virDomainLoaderDef *loader, if (virXMLPropEnumDefault(nvramNode, "format", virStorageFileFormatTypeFromString, VIR_XML_PROP_NONE, - &format, VIR_STORAGE_FILE_RAW) < 0) { + &format, VIR_STORAGE_FILE_NONE) < 0) { return -1; } - if (format != VIR_STORAGE_FILE_RAW && + if (format && + format != VIR_STORAGE_FILE_RAW && format != VIR_STORAGE_FILE_QCOW2) { virReportError(VIR_ERR_XML_ERROR, _("Unsupported nvram format '%1$s'"), @@ -16860,10 +16860,11 @@ virDomainLoaderDefParseXMLLoader(virDomainLoaderDef *loader, if (virXMLPropEnumDefault(loaderNode, "format", virStorageFileFormatTypeFromString, VIR_XML_PROP_NONE, - &format, VIR_STORAGE_FILE_RAW) < 0) { + &format, VIR_STORAGE_FILE_NONE) < 0) { return -1; } - if (format != VIR_STORAGE_FILE_RAW && + if (format && + format != VIR_STORAGE_FILE_RAW && format != VIR_STORAGE_FILE_QCOW2) { virReportError(VIR_ERR_XML_ERROR, _("Unsupported loader format '%1$s'"), @@ -16894,7 +16895,9 @@ virDomainLoaderDefParseXML(virDomainLoaderDef *loader, loaderNode) < 0) return -1; - if (loader->nvram && loader->format != loader->nvram->format) { + if (loader->nvram && + loader->format && loader->nvram->format && + loader->format != loader->nvram->format) { virReportError(VIR_ERR_XML_ERROR, _("Format mismatch: loader.format='%1$s' nvram.format='%2$s'"), virStorageFileFormatTypeToString(loader->format), @@ -26224,7 +26227,8 @@ virDomainLoaderDefFormatNvram(virBuffer *buf, return -1; } - if (src->format != VIR_STORAGE_FILE_RAW) { + if (src->format && + src->format != VIR_STORAGE_FILE_RAW) { virBufferEscapeString(&attrBuf, " format='%s'", virStorageFileFormatTypeToString(src->format)); } @@ -26262,7 +26266,8 @@ virDomainLoaderDefFormat(virBuffer *buf, virTristateBoolTypeToString(loader->stateless)); } - if (loader->format != VIR_STORAGE_FILE_RAW) { + if (loader->format && + loader->format != VIR_STORAGE_FILE_RAW) { virBufferEscapeString(&loaderAttrBuf, " format='%s'", virStorageFileFormatTypeToString(loader->format)); } diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index a1c76935b6..14ad320023 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -654,11 +654,16 @@ libxlMakeDomBuildInfo(virDomainDef *def, b_info->u.hvm.system_firmware = g_strdup(def->os.loader->path); } - if (def->os.loader && def->os.loader->format != VIR_STORAGE_FILE_RAW) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("Unsupported loader format '%1$s'"), - virStorageFileFormatTypeToString(def->os.loader->format)); - return -1; + if (def->os.loader) { + if (!def->os.loader->format) + def->os.loader->format = VIR_STORAGE_FILE_RAW; + + if (def->os.loader->format != VIR_STORAGE_FILE_RAW) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Unsupported loader format '%1$s'"), + virStorageFileFormatTypeToString(def->os.loader->format)); + return -1; + } } if (def->emulator) { diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c index 1cc42fa59f..ab1941454d 100644 --- a/src/libxl/xen_xl.c +++ b/src/libxl/xen_xl.c @@ -115,6 +115,7 @@ xenParseXLOS(virConf *conf, virDomainDef *def, virCaps *caps) if (bios && STREQ(bios, "ovmf")) { def->os.loader = virDomainLoaderDefNew(); + def->os.loader->format = VIR_STORAGE_FILE_RAW; def->os.loader->type = VIR_DOMAIN_LOADER_TYPE_PFLASH; def->os.loader->readonly = VIR_TRISTATE_BOOL_YES; if (bios_path) @@ -126,6 +127,7 @@ xenParseXLOS(virConf *conf, virDomainDef *def, virCaps *caps) if (caps->guests[i]->ostype == VIR_DOMAIN_OSTYPE_HVM && caps->guests[i]->arch.id == def->os.arch) { def->os.loader = virDomainLoaderDefNew(); + def->os.loader->format = VIR_STORAGE_FILE_RAW; def->os.loader->path = g_strdup(caps->guests[i]->arch.defaultInfo.loader); } } diff --git a/src/libxl/xen_xm.c b/src/libxl/xen_xm.c index 0031d6cbc6..5705a5ec0c 100644 --- a/src/libxl/xen_xm.c +++ b/src/libxl/xen_xm.c @@ -43,6 +43,7 @@ xenParseXMOS(virConf *conf, virDomainDef *def) g_autofree char *boot = NULL; def->os.loader = virDomainLoaderDefNew(); + def->os.loader->format = VIR_STORAGE_FILE_RAW; if (xenConfigCopyString(conf, "kernel", &def->os.loader->path) < 0) return -1; diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c index ebaf32cf71..3dcd139a47 100644 --- a/src/qemu/qemu_firmware.c +++ b/src/qemu/qemu_firmware.c @@ -1082,6 +1082,11 @@ qemuFirmwareEnsureNVRAM(virDomainDef *def, if (loader->stateless == VIR_TRISTATE_BOOL_YES) return; + /* If the NVRAM format hasn't been set yet, inherit the same as + * the loader */ + if (loader->nvram && !loader->nvram->format) + loader->nvram->format = loader->format; + /* If the source already exists and is fully specified, including * the path, leave it alone */ if (loader->nvram && loader->nvram->path) @@ -1328,7 +1333,7 @@ qemuFirmwareMatchDomain(const virDomainDef *def, flash->executable.format); return false; } - if (loader && + if (loader && loader->format && STRNEQ(flash->executable.format, virStorageFileFormatTypeToString(loader->format))) { VIR_DEBUG("Discarding loader with mismatching flash format '%s' != '%s'", flash->executable.format, @@ -1342,7 +1347,7 @@ qemuFirmwareMatchDomain(const virDomainDef *def, flash->nvram_template.format); return false; } - if (loader && loader->nvram && + if (loader && loader->nvram && loader->nvram->format && STRNEQ(flash->nvram_template.format, virStorageFileFormatTypeToString(loader->nvram->format))) { VIR_DEBUG("Discarding loader with mismatching nvram template format '%s' != '%s'", flash->nvram_template.format, @@ -1630,7 +1635,8 @@ qemuFirmwareFillDomainLegacy(virQEMUDriver *driver, return 1; } - if (loader->format != VIR_STORAGE_FILE_RAW) { + if (loader->format && + loader->format != VIR_STORAGE_FILE_RAW) { VIR_DEBUG("Ignoring legacy entries for loader with flash format '%s'", virStorageFileFormatTypeToString(loader->format)); return 1; @@ -1793,6 +1799,7 @@ qemuFirmwareFillDomain(virQEMUDriver *driver, return -1; if (loader && + loader->format && loader->format != VIR_STORAGE_FILE_RAW && loader->format != VIR_STORAGE_FILE_QCOW2) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, @@ -1801,6 +1808,7 @@ qemuFirmwareFillDomain(virQEMUDriver *driver, return -1; } if (nvram && + nvram->format && nvram->format != VIR_STORAGE_FILE_RAW && nvram->format != VIR_STORAGE_FILE_QCOW2) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, @@ -1831,8 +1839,19 @@ qemuFirmwareFillDomain(virQEMUDriver *driver, * CODE:NVRAM pairs that might have been provided at build * time */ if (!autoSelection) { - if (qemuFirmwareFillDomainLegacy(driver, def) < 0) + if ((ret = qemuFirmwareFillDomainLegacy(driver, def)) < 0) return -1; + + /* If we've gotten this far without finding a match, it + * means that we're dealing with a set of completely + * custom paths. In that case, unless the user has + * specified otherwise, we have to assume that they're in + * raw format */ + if (ret == 1) { + if (loader && !loader->format) { + loader->format = VIR_STORAGE_FILE_RAW; + } + } } else { virReportError(VIR_ERR_OPERATION_FAILED, _("Unable to find any firmware to satisfy '%1$s'"), diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.x86_64-latest.args similarity index 80% copy from tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args copy to tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.x86_64-latest.args index 48f357cbf9..e8d7d580f7 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.x86_64-latest.args @@ -10,10 +10,10 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ --blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"qcow2","file":"libvirt-pflash0-storage"}' \ +-blockdev '{"driver":"file","filename":"/path/to/guest_VARS.qcow2","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"qcow2","file":"libvirt-pflash1-storage"}' \ -machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ -accel kvm \ -cpu qemu64 \ diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.x86_64-latest.err b/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.x86_64-latest.err deleted file mode 100644 index abfdfc4357..0000000000 --- a/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.x86_64-latest.err +++ /dev/null @@ -1 +0,0 @@ -XML error: Format mismatch: loader.format='qcow2' nvram.format='raw' diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.xml b/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.xml index 6613d9e9a9..75fa44fd20 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.xml +++ b/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.xml @@ -6,7 +6,7 @@ <os firmware='efi'> <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> <loader format='qcow2'/> - <nvram>/path/to/guest_VARS.fd</nvram> + <nvram>/path/to/guest_VARS.qcow2</nvram> </os> <features> <acpi/> diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args index 48f357cbf9..790fb619e8 100644 --- a/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args +++ b/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.args @@ -10,10 +10,10 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ -name guest=guest,debug-threads=on \ -S \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ --blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd","node-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,"discard":"unmap"}' \ --blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ +-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,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"qcow2","file":"libvirt-pflash1-storage"}' \ -machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on \ -accel kvm \ -cpu qemu64 \ diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 1436e3724c..7df044e03b 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1115,7 +1115,7 @@ mymain(void) DO_TEST_CAPS_LATEST("firmware-auto-efi-format-nvram-qcow2-network-nbd"); DO_TEST_CAPS_ARCH_LATEST("firmware-auto-efi-format-loader-raw", "aarch64"); DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE("firmware-auto-efi-format-loader-raw-abi-update", "aarch64"); - DO_TEST_CAPS_LATEST_PARSE_ERROR("firmware-auto-efi-format-mismatch"); + DO_TEST_CAPS_LATEST("firmware-auto-efi-format-mismatch"); DO_TEST_NOCAPS("clock-utc"); DO_TEST_NOCAPS("clock-localtime"); diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.xml index 332d931ba1..f4ff7a0fc2 100644 --- a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.xml +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure-abi-update.x86_64-latest.xml @@ -10,8 +10,8 @@ <feature enabled='yes' name='enrolled-keys'/> <feature enabled='yes' name='secure-boot'/> </firmware> - <loader readonly='yes' secure='yes' type='pflash'>/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader> - <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + <loader readonly='yes' secure='yes' type='pflash' format='qcow2'>/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS_4M.secboot.qcow2' format='qcow2'>/var/lib/libvirt/qemu/nvram/guest_VARS.qcow2</nvram> <boot dev='hd'/> </os> <features> -- 2.41.0

Now that, after the recent changes, the test passes, its old name is no longer accurate. While at it, enable the xml2xml part for it as well. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ...oader-qcow2-nvram-path.x86_64-latest.args} | 0 ...to-efi-format-loader-qcow2-nvram-path.xml} | 0 tests/qemuxml2argvtest.c | 2 +- ...-loader-qcow2-nvram-path.x86_64-latest.xml | 41 +++++++++++++++++++ tests/qemuxml2xmltest.c | 1 + 5 files changed, 43 insertions(+), 1 deletion(-) rename tests/qemuxml2argvdata/{firmware-auto-efi-format-mismatch.x86_64-latest.args => firmware-auto-efi-format-loader-qcow2-nvram-path.x86_64-latest.args} (100%) rename tests/qemuxml2argvdata/{firmware-auto-efi-format-mismatch.xml => firmware-auto-efi-format-loader-qcow2-nvram-path.xml} (100%) create mode 100644 tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-qcow2-nvram-path.x86_64-latest.xml diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-qcow2-nvram-path.x86_64-latest.args similarity index 100% rename from tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.x86_64-latest.args rename to tests/qemuxml2argvdata/firmware-auto-efi-format-loader-qcow2-nvram-path.x86_64-latest.args diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.xml b/tests/qemuxml2argvdata/firmware-auto-efi-format-loader-qcow2-nvram-path.xml similarity index 100% rename from tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.xml rename to tests/qemuxml2argvdata/firmware-auto-efi-format-loader-qcow2-nvram-path.xml diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 7df044e03b..cb2c5af737 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1110,12 +1110,12 @@ mymain(void) DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram-network-iscsi"); DO_TEST_CAPS_LATEST("firmware-auto-efi-format-loader-qcow2"); + DO_TEST_CAPS_LATEST("firmware-auto-efi-format-loader-qcow2-nvram-path"); DO_TEST_CAPS_LATEST("firmware-auto-efi-format-nvram-qcow2"); DO_TEST_CAPS_LATEST("firmware-auto-efi-format-nvram-qcow2-path"); DO_TEST_CAPS_LATEST("firmware-auto-efi-format-nvram-qcow2-network-nbd"); DO_TEST_CAPS_ARCH_LATEST("firmware-auto-efi-format-loader-raw", "aarch64"); DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE("firmware-auto-efi-format-loader-raw-abi-update", "aarch64"); - DO_TEST_CAPS_LATEST("firmware-auto-efi-format-mismatch"); DO_TEST_NOCAPS("clock-utc"); DO_TEST_NOCAPS("clock-localtime"); diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-qcow2-nvram-path.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-qcow2-nvram-path.x86_64-latest.xml new file mode 100644 index 0000000000..49fdfc5c5f --- /dev/null +++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-format-loader-qcow2-nvram-path.x86_64-latest.xml @@ -0,0 +1,41 @@ +<domain type='kvm'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <firmware> + <feature enabled='yes' name='enrolled-keys'/> + <feature enabled='yes' name='secure-boot'/> + </firmware> + <loader readonly='yes' secure='yes' type='pflash' format='qcow2'>/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2</loader> + <nvram template='/usr/share/edk2/ovmf/OVMF_VARS_4M.secboot.qcow2' format='qcow2'>/path/to/guest_VARS.qcow2</nvram> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <smm state='on'/> + </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='none'/> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <watchdog model='itco' action='reset'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index b378ce0f98..e1d04f958a 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -921,6 +921,7 @@ mymain(void) DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram-network-iscsi"); DO_TEST_CAPS_LATEST("firmware-auto-efi-format-loader-qcow2"); + DO_TEST_CAPS_LATEST("firmware-auto-efi-format-loader-qcow2-nvram-path"); DO_TEST_CAPS_LATEST("firmware-auto-efi-format-nvram-qcow2"); DO_TEST_CAPS_LATEST("firmware-auto-efi-format-nvram-qcow2-path"); DO_TEST_CAPS_LATEST("firmware-auto-efi-format-nvram-qcow2-network-nbd"); -- 2.41.0

Since the previous version of this negative test now passes, create a new version that still triggers the intended failure. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ...auto-efi-format-mismatch.x86_64-latest.err | 1 + .../firmware-auto-efi-format-mismatch.xml | 19 +++++++++++++++++++ tests/qemuxml2argvtest.c | 1 + 3 files changed, 21 insertions(+) create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.x86_64-latest.err create mode 100644 tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.xml diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.x86_64-latest.err b/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.x86_64-latest.err new file mode 100644 index 0000000000..abfdfc4357 --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.x86_64-latest.err @@ -0,0 +1 @@ +XML error: Format mismatch: loader.format='qcow2' nvram.format='raw' diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.xml b/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.xml new file mode 100644 index 0000000000..4af77c3bee --- /dev/null +++ b/tests/qemuxml2argvdata/firmware-auto-efi-format-mismatch.xml @@ -0,0 +1,19 @@ +<domain type='kvm'> + <name>guest</name> + <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os firmware='efi'> + <type arch='x86_64' machine='pc-q35-4.0'>hvm</type> + <loader format='qcow2'/> + <nvram format='raw'/> + </os> + <features> + <acpi/> + </features> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' model='none'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index cb2c5af737..0c4d4d8b07 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1116,6 +1116,7 @@ mymain(void) DO_TEST_CAPS_LATEST("firmware-auto-efi-format-nvram-qcow2-network-nbd"); DO_TEST_CAPS_ARCH_LATEST("firmware-auto-efi-format-loader-raw", "aarch64"); DO_TEST_CAPS_ARCH_LATEST_ABI_UPDATE("firmware-auto-efi-format-loader-raw-abi-update", "aarch64"); + DO_TEST_CAPS_LATEST_PARSE_ERROR("firmware-auto-efi-format-mismatch"); DO_TEST_NOCAPS("clock-utc"); DO_TEST_NOCAPS("clock-localtime"); -- 2.41.0

Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- NEWS.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/NEWS.rst b/NEWS.rst index 73571f0019..3571c01b29 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -21,6 +21,12 @@ v9.7.0 (unreleased) * **Bug fixes** + * qemu: Various fixes to firmware selection + + The changes made to firmware selection in libvirt 9.2.0 have unfortunately + introduced a number of regressions. All known issues in this area have now + been resolved. + v9.6.0 (2023-08-01) =================== -- 2.41.0

On 8/10/23 18:50, Andrea Bolognani wrote:
Andrea Bolognani (21): tests: Use DO_TEST_CAPS_*_ABI_UPDATE() for ppc64 tests: Switch to firmware autoselection for hvf tests: Use virt-4.0 machine type for aarch64 tests: Consistently use /path/to/guest_VARS.fd tests: Turn abi-update.xml into a symlink tests: Rename firmware-auto-efi-nvram-path qemu: Fix return value for qemuFirmwareFillDomainLegacy() qemu: Fix lookup against stateless/combined pflash tests: Add some more DO_TEST*ABI_UPDATE* macros tests: Add more tests for firmware selection tests: Update firmware descriptor files tests: Drop tags from BIOS firmware descriptor tests: Include microvm in firmwaretest qemu: Don't overwrite NVRAM template for legacy firmware qemu: Generate NVRAM path in more cases qemu: Filter firmware based on loader.readonly qemu: Match NVRAM template extension for new domains conf: Don't default to raw format for loader/NVRAM tests: Rename firmware-auto-efi-format-loader-qcow2-nvram-path tests: Reintroduce firmware-auto-efi-format-mismatch NEWS: Mention fixes to firmware selection
196 files changed, 655 insertions(+), 491 deletions(-)
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
participants (2)
-
Andrea Bolognani
-
Michal Prívozník