Suggested approach
------------------
Based on an upstream discussion on 'virt-tools'[1] mailing list and some
Bugzillas, Gerd Hoffmann, Laszlo Ersek and Dan Berrangé had a suggestion
to define a firmware metadata format and file (example in [1]):
- For each firmware file we need a metadata file in a well defined
location, e.g. /usr/share/qemu/bios/ that lists stuff like:
- Path to the firmware binary
- Path to the pre-built OVMF 'vars' file (if any)
How to load the binary (using -bios, -pflash, possibly also -kernel, for
uboot @ arm).
- Support architectures - associated QEMU feature flags
(Secure
Boot)
Also machine types. ovmf builds with smm don't boot on pc. coreboot
has hardware-specific roms too, so the pc build wouldn't boot on q35 and
visa versa. Same on arm, where the firmware typically is board-specific.
- If the binary provides / requires SMM (System Management
Mode)
Possibly a more generic "flags" or "properties" thing, I can easily
imagine that simliar requirements show up on other platforms too.
Also a "name" and a "description" field would be useful.
cheers,
Gerd