virt-manager/virtinst-support-other-boot-methods.patch

50 lines
2.2 KiB
Diff

References: boo#981836
Tell libvirt what machine type the user chose for Xen (PV or HVM).
Without a type specified, the default is to return the capabilities of a pv
machine. This will allow the UEFI Customize option to show up when Xen HVM
is selected. Also specify the name of our aavmf firmware for aarch64.
Index: virt-manager-1.3.2/virtinst/domcapabilities.py
===================================================================
--- virt-manager-1.3.2.orig/virtinst/domcapabilities.py
+++ virt-manager-1.3.2/virtinst/domcapabilities.py
@@ -73,13 +73,20 @@ class _Devices(_CapsBlock):
class DomainCapabilities(XMLBuilder):
@staticmethod
- def build_from_params(conn, emulator, arch, machine, hvtype):
+ def build_from_params(conn, emulator, arch, machine, hvtype, os_type):
xml = None
if conn.check_support(
conn.SUPPORT_CONN_DOMAIN_CAPABILITIES):
+ machine_type = machine
+ # For Xen capabilities pass either xenpv or xenfv
+ if hvtype == "xen":
+ if os_type == "hvm":
+ machine_type = "xenfv"
+ else:
+ machine_type = "xenpv"
try:
xml = conn.getDomainCapabilities(emulator, arch,
- machine, hvtype)
+ machine_type, hvtype)
except:
logging.debug("Error fetching domcapabilities XML",
exc_info=True)
@@ -92,7 +99,7 @@ class DomainCapabilities(XMLBuilder):
@staticmethod
def build_from_guest(guest):
return DomainCapabilities.build_from_params(guest.conn,
- guest.emulator, guest.os.arch, guest.os.machine, guest.type)
+ guest.emulator, guest.os.arch, guest.os.machine, guest.type, guest.os.os_type)
# Mapping of UEFI binary names to their associated architectures. We
# only use this info to do things automagically for the user, it shouldn't
@@ -106,6 +113,7 @@ class DomainCapabilities(XMLBuilder):
"aarch64": [
".*AAVMF_CODE\.fd", # RHEL
".*aarch64/QEMU_EFI.*", # gerd's firmware repo
+ ".*aavmf-aarch64-.*" # SUSE
],
}