mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
qemu: Refactor KVM features check
The checks are now in a dedicated qemuProcessVerifyKVMFeatures function. Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
parent
e9dbe70110
commit
d5f47d7d75
@ -3787,6 +3787,28 @@ qemuProcessVerifyHypervFeatures(virDomainDefPtr def,
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
qemuProcessVerifyKVMFeatures(virDomainDefPtr def,
|
||||
virCPUDataPtr cpu)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
if (def->features[VIR_DOMAIN_FEATURE_PVSPINLOCK] != VIR_TRISTATE_SWITCH_ON)
|
||||
return 0;
|
||||
|
||||
rc = virCPUDataCheckFeature(cpu, VIR_CPU_x86_KVM_PV_UNHALT);
|
||||
|
||||
if (rc <= 0) {
|
||||
if (rc == 0)
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("host doesn't support paravirtual spinlocks"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static bool
|
||||
qemuProcessVerifyGuestCPU(virQEMUDriverPtr driver,
|
||||
virDomainObjPtr vm,
|
||||
@ -3816,15 +3838,8 @@ qemuProcessVerifyGuestCPU(virQEMUDriverPtr driver,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (def->features[VIR_DOMAIN_FEATURE_PVSPINLOCK] == VIR_TRISTATE_SWITCH_ON) {
|
||||
if (!virCPUDataCheckFeature(guestcpu, VIR_CPU_x86_KVM_PV_UNHALT)) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("host doesn't support paravirtual spinlocks"));
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
if (qemuProcessVerifyHypervFeatures(def, guestcpu) < 0)
|
||||
if (qemuProcessVerifyKVMFeatures(def, guestcpu) < 0 ||
|
||||
qemuProcessVerifyHypervFeatures(def, guestcpu) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (def->cpu) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user