[libvirt] [PATCH] qemu: Drop OVMF whitelist
Paolo Bonzini
pbonzini at redhat.com
Mon Dec 1 12:33:45 UTC 2014
On 19/11/2014 18:20, Michal Privoznik wrote:
> As discussed on the upstream list, it's better not to make this
> kind of predictions in libvirt. It may happen that qemu learns
> how to enable OVMF on other architectures too and we shouldn't
> try to chase that.
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
> src/qemu/qemu_capabilities.c | 9 +++------
> src/qemu/qemu_command.c | 10 ----------
> 2 files changed, 3 insertions(+), 16 deletions(-)
>
> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> index 4bd8a4d..56bd2d5 100644
> --- a/src/qemu/qemu_capabilities.c
> +++ b/src/qemu/qemu_capabilities.c
> @@ -3628,7 +3628,6 @@ virQEMUCapsGetDefaultMachine(virQEMUCapsPtr qemuCaps)
> static int
> virQEMUCapsFillDomainLoaderCaps(virQEMUCapsPtr qemuCaps,
> virDomainCapsLoaderPtr capsLoader,
> - virArch arch,
> char **loader,
> size_t nloader)
> {
> @@ -3656,8 +3655,7 @@ virQEMUCapsFillDomainLoaderCaps(virQEMUCapsPtr qemuCaps,
> VIR_DOMAIN_CAPS_ENUM_SET(capsLoader->type,
> VIR_DOMAIN_LOADER_TYPE_ROM);
>
> - if (arch == VIR_ARCH_X86_64 &&
> - virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE) &&
> + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE) &&
> virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_FORMAT))
> VIR_DOMAIN_CAPS_ENUM_SET(capsLoader->type,
> VIR_DOMAIN_LOADER_TYPE_PFLASH);
> @@ -3674,14 +3672,13 @@ virQEMUCapsFillDomainLoaderCaps(virQEMUCapsPtr qemuCaps,
> static int
> virQEMUCapsFillDomainOSCaps(virQEMUCapsPtr qemuCaps,
> virDomainCapsOSPtr os,
> - virArch arch,
> char **loader,
> size_t nloader)
> {
> virDomainCapsLoaderPtr capsLoader = &os->loader;
>
> os->device.supported = true;
> - if (virQEMUCapsFillDomainLoaderCaps(qemuCaps, capsLoader, arch,
> + if (virQEMUCapsFillDomainLoaderCaps(qemuCaps, capsLoader,
> loader, nloader) < 0)
> return -1;
> return 0;
> @@ -3777,7 +3774,7 @@ virQEMUCapsFillDomainCaps(virDomainCapsPtr domCaps,
>
> domCaps->maxvcpus = maxvcpus;
>
> - if (virQEMUCapsFillDomainOSCaps(qemuCaps, os, domCaps->arch,
> + if (virQEMUCapsFillDomainOSCaps(qemuCaps, os,
> loader, nloader) < 0 ||
> virQEMUCapsFillDomainDeviceDiskCaps(qemuCaps, disk) < 0 ||
> virQEMUCapsFillDomainDeviceHostdevCaps(qemuCaps, hostdev) < 0)
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index 3d62d11..8ed7934 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -7748,16 +7748,6 @@ qemuBuildDomainLoaderCommandLine(virCommandPtr cmd,
> break;
>
> case VIR_DOMAIN_LOADER_TYPE_PFLASH:
> - /* UEFI is supported only for x86_64 currently */
> - if (def->os.arch != VIR_ARCH_X86_64 &&
> - def->os.arch != VIR_ARCH_ARMV7L &&
> - def->os.arch != VIR_ARCH_AARCH64) {
> - virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> - _("pflash is not supported for %s guest architecture"),
> - virArchToString(def->os.arch));
> - goto cleanup;
> - }
> -
> if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE)) {
> virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> _("this QEMU binary doesn't support -drive"));
>
It should definitely be left blacklisted on ppc64/pseries, because it
uses pflash for the NVRAM and -bios for the firmware.
Paolo
More information about the libvir-list
mailing list