Hi,
> > I don't think that
> > external apps should have to care about where the firmware or the
> > firmware config files are installed - that's QEMU's build time
knowledge.
>
> Firmware is *not* built together with qemu.
It is installed together with it. eg if I do
./configure --prefix=$HOME/qemu-git && make install
then all the firmware goes into $HOME/qemu-git/share/qemu.
That is only half of the story.
First, there is firmware (with edk2 being the most prominent example)
which is not bundled with qemu.
Second, even bundled firmware is not used when distros are packaging up
qemu. Instead of using the prebuilt binaries from the qemu they have
separate packages for the firmware and build it from source.
Today distros are using symlinks to tell qemu where the firmware is, but
that scheme breaks with uefi because (a) we have multiple firmwares to
choose from now and (b) we need per-vm flash storage for the efi vars.
cheers,
Gerd