From 042554182bcc782527dc74e035e2efaf6eb38aa4 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Mon, 8 Apr 2019 18:23:27 +0200 Subject: [PATCH] v2v: start reading the new libvirt firmware autoselect Starting with 5.2.0, libvirt has a way to select automatically the firmware for a guest using an attribute of the tag. Hence, use this information (when available, of course) to flag the firmware used by the guest. (cherry picked from commit fb7983f999004c1f8100776819ea65b21990956d) --- v2v/parse_libvirt_xml.ml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/v2v/parse_libvirt_xml.ml b/v2v/parse_libvirt_xml.ml index b9970cee8..14cd82afd 100644 --- a/v2v/parse_libvirt_xml.ml +++ b/v2v/parse_libvirt_xml.ml @@ -476,6 +476,13 @@ let parse_libvirt_xml ?conn xml = done; List.rev !nics in + (* Firmware. *) + let firmware = + match xpath_string "/domain/os/@firmware" with + | Some "bios" -> BIOS + | Some "efi" -> UEFI + | None | Some _ -> UnknownFirmware in + (* Check for hostdev devices. (RHBZ#1472719) *) let () = let obj = Xml.xpath_eval_expression xpathctx "/domain/devices/hostdev" in @@ -520,7 +527,7 @@ let parse_libvirt_xml ?conn xml = s_cpu_model = cpu_model; s_cpu_topology = cpu_topology; s_features = features; - s_firmware = UnknownFirmware; (* XXX until RHBZ#1217444 is fixed *) + s_firmware = firmware; s_display = display; s_video = video; s_sound = sound; -- 2.25.4