
On 11/19/14 18:02, Daniel P. Berrange wrote:
On Wed, Nov 19, 2014 at 05:57:24PM +0100, Laszlo Ersek wrote:
On 11/19/14 17:46, Daniel P. Berrange wrote:
This arch check for OVMF is an arbitrary check placed in libvirt code which is not related to the current QEMU binary in any way.
It communicates what we had looked at and had determined to work. I preferred not to enable targets that (a) had been known not to work with UEFI, (b) had not been known to work or not with UEFI.
At that time noone knew that (1) edk2's ArmVirtualizationQemu platform would be born soon (in other words, a UEFI binary for 'qemu-system-aarch64 -M virt' would be implemented soon), (2) what switches 'qemu-system-aarch64 -M virt' would actually take for it to work.
That's exactly why this check is wrong in libvirt IMHO. Because it is not based on any detected feature from QEMU it amounts to an attempt to predict the future.
How is dropping the check completely *not* predicting the future? If you remove the check, then libvirt will compose command lines (for some arches) that will *maybe* work in the future. It'll take shots in the dark.
If the invocation syntax is supported by QEMU
That's a big "if", yes. The invocation syntax was supported for x86_64 for sure, definitely not supported for a bunch of other targets, and was *maybe* going to be supported (at that time) in aarch64. (But I had seen contradicting patches too on qemu-devel; for example '-bios' had been proposed to diverge on arm from how it used to work with x86_64, ie. for UEFI usage; ie. it looked possible that aarch64 would take one -bios and one -pflash rather than two -pflash options.)
then libvirt should not be trying to block it. libvirt should focus should be on the mechanism, not the usage policy
I agree.
& this check really amounts to a usage policy check.
The check was intended as "we really don't know how the mechanism will look like (apart from x86_64), so let's keep you safe". There was absolutely no promise from qemu that aarch64 would take the same options as x86_64, and now that it does (which is pure luck), there's still no promise that further targets would take the same (once they become interested in UEFI). Thanks Laszlo