From 57778ff5c3e4ae6ecb1481997fec2fb34bf3177e Mon Sep 17 00:00:00 2001
From: Jim Fehlig <jfehlig@suse.com>
Date: Mon, 27 Jun 2022 16:33:05 -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 <jfehlig@suse.com>
---
 src/qemu/qemu.conf                 | 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.0.0/src/qemu/qemu.conf
===================================================================
--- libvirt-8.0.0.orig/src/qemu/qemu.conf
+++ libvirt-8.0.0/src/qemu/qemu.conf
@@ -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.0.0/src/qemu/qemu_conf.c
===================================================================
--- libvirt-8.0.0.orig/src/qemu/qemu_conf.c
+++ libvirt-8.0.0/src/qemu/qemu_conf.c
@@ -98,10 +98,9 @@ qemuDriverUnlock(virQEMUDriver *driver)
 
 #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.0.0/src/qemu/test_libvirtd_qemu.aug.in
===================================================================
--- libvirt-8.0.0.orig/src/qemu/test_libvirtd_qemu.aug.in
+++ libvirt-8.0.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.0.0/src/security/virt-aa-helper.c
===================================================================
--- libvirt-8.0.0.orig/src/security/virt-aa-helper.c
+++ libvirt-8.0.0/src/security/virt-aa-helper.c
@@ -480,7 +480,8 @@ valid_path(const char *path, const bool
         "/usr/share/ovmf/",              /* for OVMF images */
         "/usr/share/AAVMF/",             /* for AAVMF images */
         "/usr/share/qemu-efi/",          /* for AAVMF images */
-        "/usr/share/qemu-efi-aarch64/"   /* for AAVMF images */
+        "/usr/share/qemu-efi-aarch64/",  /* for AAVMF images */
+        "/usr/share/qemu/"               /* SUSE path for OVMF and AAVMF images */
     };
     /* override the above with these */
     const char * const override[] = {
