[libvirt] OVMF exposure in libvirt

Daniel P. Berrange berrange at redhat.com
Mon Jul 14 09:27:15 UTC 2014

On Mon, Jul 14, 2014 at 09:32:34AM +0200, Michal Privoznik wrote:
> Dear list,
> there's been a lot of development in QEMU on this part. And I think it's
> settled down enough long so I can start looking at it. So I'd like to hear
> you opinion what's the best way to expose this in libvirt.
> OVMF can bee looked at as a UEFI enablement in guest. Standard UEFI consists
> of two parts:
> a) the firmware binary image (RO)
> b) UEFI variables flash (RW)
> IIUC both of these are to be passed to qemu on the command line as:
>       -drive file=img_1,if=pflash,format=raw,readonly \
>       -drive file=img_2,if=pflash,format=raw
> Subsequently, -bios parameter should be dropped. The idea of splitting the
> UEFI into two files allows distros to update the UEFI firmware (FW for
> short) without modifying guest written UEFI variables file (the variables
> should have unified name so they should be transferable between two versions
> of UEFI FW).
> So my question is: how to expose this in the domain XML? We have the <os/>
> element which handles the booting arguments. It can have <loader/> (which
> would be great for the FW, wouldn't it?). But then we need to invent a
> different element (say <vars/>) which would contain path the the UEFI vars
> file. Moreover, the element would exclude other elements like <boot/>,
> <bios/> or <smbios/>. So my proposal is:
> <os>
>   <type>hvm</type>
>   <loader>/path/to/uefi.fw</loader>
>   <vars>/path/to/uefi.nvvarstore</vars>
> </os>
> Does this make any sense or am I just blabbing?

We already use <loader/> for specifying alternative BIOS blobs for
the QEMU -bios arg. Since you say this obsoletes the -bios arg, I
think it makes sense to use <loader/> for the read-only firmware

For the variable storage, I'd probably suggest <nvram/> as the
element name, since IIUC that's a fairly commonly used term for
this concept.

|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

More information about the libvir-list mailing list