Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 May 2025 17:31:05 GMT
From:      Muhammad Moinur Rahman <bofh@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 5ea28c513979 - main - tests/ci: Switch vmm detection
Message-ID:  <202505021731.542HV5nD098584@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by bofh:

URL: https://cgit.FreeBSD.org/src/commit/?id=5ea28c51397906a7cabb06089974feb21e2a7979

commit 5ea28c51397906a7cabb06089974feb21e2a7979
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2025-05-02 17:28:51 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2025-05-02 17:28:51 +0000

    tests/ci: Switch vmm detection
    
    Previously, the CI Makefile used `kldload -n vmm` to determine whether
    the host supported bhyve virtualization. However, due to changes in how
    QEMU/KVM exposes CPU features to guests, this check no longer reliably
    indicates the presence of usable VMX/SVM support.
    
    In particular, modern QEMU configurations expose the vmx CPUID bit by
    default, allowing the vmm module to load even when nested virtualization
    is disabled.  This causes the old check to incorrectly succeed inside
    virtualized environments where bhyve cannot function.
    
    This patch replaces the check with a sysctl-based approach that inspects
    kern.vm_guest. If the system identifies itself as running inside a guest
    (!= "none"), we assume nested virtualization is unavailable and fallback
    to QEMU.
    
    This change ensures CI behaves correctly on platforms where the vmm
    module loads but is not usable.
    
    Approved by:    emaste
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D50115
---
 tests/ci/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/ci/Makefile b/tests/ci/Makefile
index e452d74679af..e51c97fa2b83 100644
--- a/tests/ci/Makefile
+++ b/tests/ci/Makefile
@@ -123,8 +123,8 @@ VM_MEM_SIZE=${QEMU_MAX_MEM_SIZE}g
 .else
 VM_MEM_SIZE=${VM_MEM}g
 .endif
-KLDVMMISLOADED!=kldload -q -n vmm 2>/dev/null && echo "1" || echo "0"
-.if ${KLDVMMISLOADED} == "0"
+VMGUEST!=sysctl -n kern.vm_guest 2>/dev/null || true
+.if ${VMGUEST} != "none"
 USE_QEMU?=1
 .endif
 KLDFILEMONISLOADED!=kldload -q -n filemon 2>/dev/null && echo "1" || echo "0"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202505021731.542HV5nD098584>