On Thu, Jul 19, 2018 at 03:51:04PM +0200, Tomáš Golembiovský wrote:
+let get_ovirt_biostype guestcaps target_firmware = + let uefi_firmware = + match target_firmware with + | TargetBIOS -> None + | TargetUEFI -> Some (find_uefi_firmware guestcaps.gcaps_arch) in + let secure_boot_required = + match uefi_firmware with + | Some { Uefi.flags = flags } + when List.mem Uefi.UEFI_FLAG_SECURE_BOOT_REQUIRED flags -> true + | _ -> false in + match target_firmware, secure_boot_required with + | TargetUEFI, true -> 3 (* q35 + UEFI + secure boot *) + | TargetUEFI, _ -> 2 (* q35 + UEFI *) + (* 1 is q35 + SeaBIOS *) + | _, _ -> 0 (* i440fx + SeaBIOS *)
I think it would be better as well as simpler if this change depended on this (not upstream) patch: https://www.redhat.com/archives/libguestfs/2018-June/thread.html#00085 Unfortunately that patch can't go upstream yet for a couple of reasons: (1) It breaks a test. (2) We've decided to get the data from osinfo instead of pivoting on a particular year, so the patch needs to be reworked for that. Maybe we can split that patch into the Types module change and the other stuff. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW