]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
util: implement virHostCPUGetOnlineBitmap() for FreeBSD
authorRoman Bogorodskiy <bogorodskiy@gmail.com>
Tue, 10 Mar 2026 19:05:39 +0000 (20:05 +0100)
committerRoman Bogorodskiy <bogorodskiy@gmail.com>
Thu, 12 Mar 2026 17:19:29 +0000 (18:19 +0100)
Implement virHostCPUGetOnlineBitmap() for FreeBSD. As FreeBSD
supports neither plugging nor taking CPUs offline,
all CPUs are always online.

Signed-off-by: Roman Bogorodskiy <bogorodskiy@gmail.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/util/virhostcpu.c

index 7cecb4b2c8adcc9817de2ec5639efdfe4e7b5f1d..8688b6ec67a6459b5501c0f93a5405662b732478 100644 (file)
@@ -1120,6 +1120,19 @@ virHostCPUGetOnlineBitmap(void)
 
     virFileReadValueBitmap(&ret, "%s/cpu/online", SYSFS_SYSTEM_PATH);
 
+    return ret;
+#elif defined(__FreeBSD__)
+    virBitmap *ret = NULL;
+    int ncpus = virHostCPUGetCountAppleFreeBSD();
+
+    if (ncpus == -1)
+        return ret;
+
+    /* FreeBSD does not support CPU hotplug, so it is safe to assume
+     * that all available CPUs are online */
+    ret = virBitmapNew(ncpus);
+    virBitmapSetAll(ret);
+
     return ret;
 #else
     virReportError(VIR_ERR_NO_SUPPORT, "%s",