add uefi boot support in qemu/KVM

Registered by Chen Fan

uefi is a firmware type that is widespread on recent computers, especially those more recent than 2010. It is intended to replace the traditional BIOS firmware that is prevalent on earlier machines, which can bring more safe and functionality feature
to user, more to see: https://help.ubuntu.com/community/UEFI

UEFI for x86 QEMU/KVM VMs is called OVMF (Open Virtual Machine Firmware). It comes from EDK2 (EFI Development Kit), which is the UEFI reference implementation. currently, libvirt has been support the efi bootloader, we can got the OVMF from EDK2 project to get the OVMF.fd nvram file, libvirt spec also support uefi bootloader in http://libvirt.org/formatdomain.html#elementsOSBIOS, so it's time to add the uefi support in nova, in additional, the boot pci devices rom files also can be found in /usr/share/qemu/ with the linux distribution release.

   in particular, it can be more useful for gpu passthrough, currently, to support the legacy vga mode gpu pass through we must do some extra effort to add the support, e.g. need the vga-arbitration module involved... meanwhile, present gpu device mostly has been
support efi rom load, so if we support uefi in nova, it will be easy to assign a gpu to VM in openstack.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Chen Fan
Direction:
Needs approval
Assignee:
Chen Fan
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.