mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-24 22:55:23 +00:00
qemu: avoid launching non-x86 guests with 'pvspinlock' setting
The 'pvspinlock' feature is x86 only. The "<pvspinlock/>" declaration will always have a value 'on' or 'off', and both will break QEMU when launching non-x86 guests. This is the error message for "<pvspinlock state='on'/>" when running a ppc64 guest: qemu-kvm: Expected key=value format, found +kvm_pv_unhalt A similar error message is thrown for "<pvspinlock state='off'/>". This patch prevents non-x86 guests from launching with any pvspinlock setting with a more informative error message: error: unsupported configuration: The 'pvspinlock' feature is not supported for architecture 'ppc64' or machine type 'pseries' Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Andrea Bolognani <abologna@redhat.com>
This commit is contained in:
parent
dbda73ff27
commit
da7485c54e
@ -5271,13 +5271,25 @@ qemuDomainDefValidateFeatures(const virDomainDef *def,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case VIR_DOMAIN_FEATURE_PVSPINLOCK:
|
||||||
|
if (def->features[i] != VIR_TRISTATE_SWITCH_ABSENT &&
|
||||||
|
!ARCH_IS_X86(def->os.arch)) {
|
||||||
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||||
|
_("The '%s' feature is not supported for "
|
||||||
|
"architecture '%s' or machine type '%s'"),
|
||||||
|
featureName,
|
||||||
|
virArchToString(def->os.arch),
|
||||||
|
def->os.machine);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case VIR_DOMAIN_FEATURE_ACPI:
|
case VIR_DOMAIN_FEATURE_ACPI:
|
||||||
case VIR_DOMAIN_FEATURE_PAE:
|
case VIR_DOMAIN_FEATURE_PAE:
|
||||||
case VIR_DOMAIN_FEATURE_HAP:
|
case VIR_DOMAIN_FEATURE_HAP:
|
||||||
case VIR_DOMAIN_FEATURE_VIRIDIAN:
|
case VIR_DOMAIN_FEATURE_VIRIDIAN:
|
||||||
case VIR_DOMAIN_FEATURE_PRIVNET:
|
case VIR_DOMAIN_FEATURE_PRIVNET:
|
||||||
case VIR_DOMAIN_FEATURE_HYPERV:
|
case VIR_DOMAIN_FEATURE_HYPERV:
|
||||||
case VIR_DOMAIN_FEATURE_PVSPINLOCK:
|
|
||||||
case VIR_DOMAIN_FEATURE_CAPABILITIES:
|
case VIR_DOMAIN_FEATURE_CAPABILITIES:
|
||||||
case VIR_DOMAIN_FEATURE_PMU:
|
case VIR_DOMAIN_FEATURE_PMU:
|
||||||
case VIR_DOMAIN_FEATURE_MSRS:
|
case VIR_DOMAIN_FEATURE_MSRS:
|
||||||
|
Loading…
Reference in New Issue
Block a user