From 45b03e3c0e3dcf8f75083538b36238e03907e3fb Mon Sep 17 00:00:00 2001 From: Jim Fehlig Date: Tue, 5 Jul 2022 11:44:36 -0600 Subject: Adjust paths of OVMF firmwares on SUSE distros Note: SLE15 SP2 and newer support automatic firmware selection. Firmwares advertised and used by libvirt are automatically detected. Until upstream removes the old DEFAULT_LOADER_NVRAM approach and associated code, this patch will stay. Signed-off-by: Jim Fehlig --- src/qemu/qemu.conf.in | 7 +++---- src/qemu/qemu_conf.c | 7 +++---- src/qemu/test_libvirtd_qemu.aug.in | 7 +++---- src/security/virt-aa-helper.c | 3 ++- 4 files changed, 11 insertions(+), 13 deletions(-) Index: libvirt-8.10.0/src/qemu/qemu.conf.in =================================================================== --- libvirt-8.10.0.orig/src/qemu/qemu.conf.in +++ libvirt-8.10.0/src/qemu/qemu.conf.in @@ -857,10 +857,9 @@ # for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default # follows this scheme. #nvram = [ -# "/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd", -# "/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.fd", -# "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd", -# "/usr/share/AAVMF/AAVMF32_CODE.fd:/usr/share/AAVMF/AAVMF32_VARS.fd" +# "/usr/share/qemu/ovmf-x86_64-ms-4m-code.bin:/usr/share/qemu/ovmf-x86_64-ms-4m-vars.bin", +# "/usr/share/qemu/ovmf-x86_64-ms-code.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin", +# "/usr/share/qemu/aavmf-aarch64-code.bin:/usr/share/qemu/aavmf-aarch64-vars.bin" #] # The backend to use for handling stdout/stderr output from Index: libvirt-8.10.0/src/qemu/qemu_conf.c =================================================================== --- libvirt-8.10.0.orig/src/qemu/qemu_conf.c +++ libvirt-8.10.0/src/qemu/qemu_conf.c @@ -90,10 +90,9 @@ VIR_ONCE_GLOBAL_INIT(virQEMUConfig); #ifndef DEFAULT_LOADER_NVRAM # define DEFAULT_LOADER_NVRAM \ - "/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd:" \ - "/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.fd:" \ - "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd:" \ - "/usr/share/AAVMF/AAVMF32_CODE.fd:/usr/share/AAVMF/AAVMF32_VARS.fd" + "/usr/share/qemu/ovmf-x86_64-ms-4m-code.bin:/usr/share/qemu/ovmf-x86_64-ms-4m-vars.bin:" \ + "/usr/share/qemu/ovmf-x86_64-ms-code.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin:" \ + "/usr/share/qemu/aavmf-aarch64-code.bin:/usr/share/qemu/aavmf-aarch64-vars.bin" #endif Index: libvirt-8.10.0/src/qemu/test_libvirtd_qemu.aug.in =================================================================== --- libvirt-8.10.0.orig/src/qemu/test_libvirtd_qemu.aug.in +++ libvirt-8.10.0/src/qemu/test_libvirtd_qemu.aug.in @@ -96,10 +96,9 @@ module Test_libvirtd_qemu = { "migration_port_max" = "49215" } { "log_timestamp" = "0" } { "nvram" - { "1" = "/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd" } - { "2" = "/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.fd" } - { "3" = "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd" } - { "4" = "/usr/share/AAVMF/AAVMF32_CODE.fd:/usr/share/AAVMF/AAVMF32_VARS.fd" } + { "1" = "/usr/share/qemu/ovmf-x86_64-ms-4m-code.bin:/usr/share/qemu/ovmf-x86_64-ms-4m-vars.bin" } + { "2" = "/usr/share/qemu/ovmf-x86_64-ms-code.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin" } + { "3" = "/usr/share/qemu/aavmf-aarch64-code.bin:/usr/share/qemu/aavmf-aarch64-vars.bin" } } { "stdio_handler" = "logd" } { "gluster_debug_level" = "9" } Index: libvirt-8.10.0/src/security/virt-aa-helper.c =================================================================== --- libvirt-8.10.0.orig/src/security/virt-aa-helper.c +++ libvirt-8.10.0/src/security/virt-aa-helper.c @@ -482,7 +482,8 @@ valid_path(const char *path, const bool "/usr/share/qemu-efi/", /* for AAVMF images */ "/usr/share/qemu-efi-aarch64/", /* for AAVMF images */ "/usr/lib/u-boot/", /* u-boot loaders for qemu */ - "/usr/lib/riscv64-linux-gnu/opensbi" /* RISC-V SBI implementation */ + "/usr/lib/riscv64-linux-gnu/opensbi", /* RISC-V SBI implementation */ + "/usr/share/qemu/" /* SUSE path for OVMF and AAVMF images */ }; /* override the above with these */ const char * const override[] = {