From: Andrea Bolognani Date: Fri, 27 Jan 2023 16:48:43 +0000 (+0100) Subject: tests: Add descriptors for QCOW2 format firmware builds X-Git-Tag: v9.2.0-rc1~254 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ba5b338ee3e3f704a87aa7ebb51e3a45436c9a2b;p=thirdparty%2Flibvirt.git tests: Add descriptors for QCOW2 format firmware builds Now that we ignore all firmwares that are not in raw format while performing autoselection, we can have descriptors for firmware builds in QCOW2 format without breaking anything. Note that the descriptors are arranged so that they have the highest priority on aarch64, but the lowest one on x86_64. This matches the expectation that QCOW2 will quickly be adopted as the default on aarch64, where its use produces significant benefits in terms of memory usage, while x86_64 will likely stick with raw for the foreseeable future. Signed-off-by: Andrea Bolognani Reviewed-by: Michal Privoznik --- diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/65-ovmf-qcow2.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/65-ovmf-qcow2.json new file mode 100644 index 0000000000..3a45cf70f2 --- /dev/null +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/65-ovmf-qcow2.json @@ -0,0 +1,35 @@ +{ + "description": "UEFI firmware for x86_64 virtual machines (QCOW2 format)", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "mode": "split", + "executable": { + "filename": "/usr/share/OVMF/OVMF_CODE.qcow2", + "format": "qcow2" + }, + "nvram-template": { + "filename": "/usr/share/OVMF/OVMF_VARS.qcow2", + "format": "qcow2" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "amd-sev", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/tests/qemufirmwaredata/usr/share/qemu/firmware/66-aavmf-qcow2.json b/tests/qemufirmwaredata/usr/share/qemu/firmware/66-aavmf-qcow2.json new file mode 100644 index 0000000000..9d80971ee4 --- /dev/null +++ b/tests/qemufirmwaredata/usr/share/qemu/firmware/66-aavmf-qcow2.json @@ -0,0 +1,36 @@ +{ + "description": "UEFI firmware for ARM64 virtual machines (QCOW2 format)", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "mode": "split", + "executable": { + "filename": "/usr/share/AAVMF/AAVMF_CODE.qcow2", + "format": "qcow2" + }, + "nvram-template": { + "filename": "/usr/share/AAVMF/AAVMF_VARS.qcow2", + "format": "qcow2" + } + }, + "targets": [ + { + "architecture": "aarch64", + "machines": [ + "virt-*" + ] + } + ], + "features": [ + + ], + "tags": [ + "-a AARCH64", + "-p ArmVirtPkg/ArmVirtQemu.dsc", + "-t GCC48", + "-b DEBUG", + "-D DEBUG_PRINT_ERROR_LEVEL=0x80000000" + ] +} diff --git a/tests/qemufirmwaretest.c b/tests/qemufirmwaretest.c index fc3416b2ae..6817c93d9a 100644 --- a/tests/qemufirmwaretest.c +++ b/tests/qemufirmwaretest.c @@ -73,6 +73,8 @@ testFWPrecedence(const void *opaque G_GNUC_UNUSED) PREFIX "/share/qemu/firmware/50-ovmf-sb-keys.json", PREFIX "/share/qemu/firmware/55-ovmf-sb-combined.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", NULL }; @@ -234,6 +236,8 @@ mymain(void) 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"); if (virTestRun("QEMU FW precedence test", testFWPrecedence, NULL) < 0) @@ -254,7 +258,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.fd:/usr/share/OVMF/OVMF_VARS.fd:" + "/usr/share/OVMF/OVMF_CODE.qcow2:/usr/share/OVMF/OVMF_VARS.qcow2", VIR_DOMAIN_OS_DEF_FIRMWARE_BIOS, VIR_DOMAIN_OS_DEF_FIRMWARE_EFI); DO_SUPPORTED_TEST("pc-i440fx-3.1", VIR_ARCH_I686, false, @@ -265,13 +270,15 @@ mymain(void) "/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.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", 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", VIR_DOMAIN_OS_DEF_FIRMWARE_EFI);