On 3/7/19 1:04 PM, Daniel P. Berrangé wrote:
On Thu, Mar 07, 2019 at 10:29:10AM +0100, Michal Privoznik wrote:
> v2 of:
>
>
https://www.redhat.com/archives/libvir-list/2019-February/msg01503.html
>
> As usual, you can find my patches at my github:
>
>
https://github.com/zippy2/libvirt/commits/firmware_v2
>
> diff to v1:
> - Hopefully all Lazlo's comment are worked in (fixing the logic that
> chooses suitable firmware for secboot/SMM domains, commit message
> adjustements, sanity check for parsed FW descriptions, etc.)
>
> - Added more debug messages around FW selection code, i.e. it'll be
> visible from the logs why given FS is not suitable (or that it is).
I've done a very quick review of the patches and the design and
overall implementation strategy looks good to me. A few misc
points
- We ought to expose the list of firmware types supported
in the domain capabilities, so mgmt apps can probe if
uefi is available
Makes sense, I'll start working on this after these are merged.
- What should we do about the 'nvram' config from /etc/libvirt/qemu.conf
We can't get rid of it for a while, since the new firmware configs
won't be widely supported by distros in forseeable future. In the
places which currently use the 'nvram' config though, should we
make sure we consult the firmware configs in prefereence to
resolve the var store ? Maybe your code is already doing this and
I missed the logic from the diffs.
I think we can ignore 'nvram' from qemu.conf safely. The whole point of
nvram variable is to define which varstore corresponds to which fw
image. These pairs are consulted if and only if no template was
specified in domain XML. With firmware autoselect I don't think we are
going to fulfil the condition as my code takes whatever FW config said
the path to NVRAM is and uses that as template for the domain.
And even if FW config did not provide any NVRAM path (which can be
viewed as bug IMO) then we would consult qemu.conf (or some hardwired
defaults).
- We support 'bios' and 'efi' right now, but QEMU also reoprts
'openfirmware' and 'uboot' as supported types. In practice
no config files probably exist for those yet, but if it is
easy to make the code support them we should try todo it to
get parity with the QEMU spec
Sure. It's just that I don't think there is a way to even configure thos
via our domain XML, is there?
I don't think any of these are blockers though - all would work
as followup patches I expect.
Yes, agreed.
Michal