From: Daniel P. Berrangé <[email protected]> On x86 we can indicate VMX or SVM, while s390x would be SIE.
There are several choices on ppc64 and virt-host-validate does not try to detect any, so don't report a specific technology on ppc64 arch. Signed-off-by: Daniel P. Berrangé <[email protected]> --- tools/virt-host-validate-qemu.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/tools/virt-host-validate-qemu.c b/tools/virt-host-validate-qemu.c index 833bb1b914..f04fc61cb3 100644 --- a/tools/virt-host-validate-qemu.c +++ b/tools/virt-host-validate-qemu.c @@ -34,6 +34,7 @@ int virHostValidateQEMU(void) bool hasHwVirt = false; bool hasVirtFlag = false; virArch arch = virArchFromHost(); + const char *hwVirtName = NULL; const char *kvmhint = _("Check that CPU and firmware supports virtualization and kvm module is loaded"); if (!(flags = virHostValidateGetCPUFlags())) @@ -44,15 +45,22 @@ int virHostValidateQEMU(void) case VIR_ARCH_X86_64: hasVirtFlag = true; kvmhint = _("Check that the 'kvm-intel' or 'kvm-amd' modules are loaded & the BIOS has enabled virtualization"); - if (virBitmapIsBitSet(flags, VIR_HOST_VALIDATE_CPU_FLAG_SVM) || - virBitmapIsBitSet(flags, VIR_HOST_VALIDATE_CPU_FLAG_VMX)) + if (virBitmapIsBitSet(flags, VIR_HOST_VALIDATE_CPU_FLAG_SVM)) { + hwVirtName = "SVM"; hasHwVirt = true; + } + if (virBitmapIsBitSet(flags, VIR_HOST_VALIDATE_CPU_FLAG_VMX)) { + hwVirtName = "VMX"; + hasHwVirt = true; + } break; case VIR_ARCH_S390: case VIR_ARCH_S390X: hasVirtFlag = true; - if (virBitmapIsBitSet(flags, VIR_HOST_VALIDATE_CPU_FLAG_SIE)) + if (virBitmapIsBitSet(flags, VIR_HOST_VALIDATE_CPU_FLAG_SIE)) { + hwVirtName = "SIE"; hasHwVirt = true; + } break; case VIR_ARCH_PPC64: case VIR_ARCH_PPC64LE: @@ -66,7 +74,7 @@ int virHostValidateQEMU(void) if (hasVirtFlag) { virValidateCheck("QEMU", "%s", _("Checking for hardware virtualization")); if (hasHwVirt) { - virValidatePass(); + virValidatePassDetails(hwVirtName); } else { virValidateFail(VIR_VALIDATE_FAIL, _("Host not compatible with KVM; HW virtualization CPU features not found. Only emulated CPUs are available; performance will be significantly limited")); -- 2.51.1
