From: Daniel P. Berrangé Date: Thu, 20 Nov 2025 09:50:29 +0000 (-0500) Subject: tools: inform user which hardware virt was found during validation X-Git-Tag: v11.10.0-rc1~72 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ec501bdc5e2a7d59afde7215b61eab6196a37f79;p=thirdparty%2Flibvirt.git tools: inform user which hardware virt was found during validation On x86 we can indicate VMX or SVM, while s390x would be SIE, and PowerPC would be LCPR (Logical Partitioning Control Register). Reviewed-by: Peter Krempa Signed-off-by: Daniel P. Berrangé --- diff --git a/tools/virt-host-validate-qemu.c b/tools/virt-host-validate-qemu.c index 833bb1b914..c5c1a0ab7e 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,18 +45,26 @@ 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: + hwVirtName = "LPCR"; hasVirtFlag = true; hasHwVirt = true; break; @@ -66,7 +75,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"));