
On 02/06/2018 11:42 AM, Andrea Bolognani wrote:
Keep them along with other arch/machine type checks for features instead of waiting until command line generation time.
Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/qemu/qemu_command.c | 7 ------- src/qemu/qemu_domain.c | 11 ++++++++++- tests/qemuxml2argvtest.c | 12 ++++++------ 3 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 24b434a45..529079be0 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7192,13 +7192,6 @@ qemuBuildMachineCommandLine(virCommandPtr cmd,
if (def->features[VIR_DOMAIN_FEATURE_GIC] == VIR_TRISTATE_SWITCH_ON) { if (def->gic_version != VIR_GIC_VERSION_NONE) { - if (!qemuDomainIsVirt(def)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("gic-version option is available " - "only for ARM virt machine")); - goto cleanup; - } - /* The default GIC version (GICv2) should not be specified on * the QEMU commandline for backwards compatibility reasons */ if (def->gic_version != VIR_GIC_VERSION_2) { diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index dd36b42eb..98cba8789 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -3252,6 +3252,16 @@ qemuDomainDefValidateFeatures(const virDomainDef *def) } break;
+ case VIR_DOMAIN_FEATURE_GIC: + if (def->features[i] == VIR_TRISTATE_SWITCH_ON && + !qemuDomainIsVirt(def)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("The '%s' feature is only supported for %s guests"),
s/for %s guests/for '%s' guests/ ??
+ featureName, "mach-virt");
Not that I think it matters greatly, the error message changes from ARM specifically to mach-virt... I guess I'm just used to seeing 'ARM' or 'aarch64' and not 'mach-virt' (although the XML would be AIUI "<type arch='aarch64' machine='virt'>"). Suffice to say it caused me to wonder and I have to imagine it would do the same for anyone getting that message. I don't have a strong opinion one way or other and it's not really easily "decode-able" based on someone just reading the "<os... <type ... machine=''..." in the docs. Still - the change otherwise seems fine. I trust you'll come up with the right magical phrase ;-) Reviewed-by: John Ferlan <jferlan@redhat.com> John