From 345ed4d3bccc435b7b36bd529743e1358cd7e438 Mon Sep 17 00:00:00 2001 From: Pedro Ramos <131530838+pr9000@users.noreply.github.com> Date: Wed, 15 Jul 2026 00:39:18 +0100 Subject: [PATCH 1/2] fix(foundation): use HW_PHYSMEM for physical memory detection on FreeBSD Signed-off-by: Pedro Ramos <131530838+pr9000@users.noreply.github.com> --- src/foundation/system_info.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/foundation/system_info.c b/src/foundation/system_info.c index 21e0a9cb3..8ba237f6c 100644 --- a/src/foundation/system_info.c +++ b/src/foundation/system_info.c @@ -95,7 +95,7 @@ static cbm_system_info_t detect_system_bsd(void) { info.total_cores = nprocs > 0 ? (int)nprocs : 1; info.perf_cores = info.total_cores; -#if defined(__OpenBSD__) +#if defined(__OpenBSD__) || defined(__FreeBSD__) int mib[2] = {CTL_HW, HW_PHYSMEM}; #else int mib[2] = {CTL_HW, HW_PHYSMEM64}; From 62808da92e8100580b8980ce75e3729be41ff30a Mon Sep 17 00:00:00 2001 From: Pedro Ramos <131530838+pr9000@users.noreply.github.com> Date: Thu, 16 Jul 2026 02:20:08 +0100 Subject: [PATCH 2/2] tests: add platform_system_info regression test Signed-off-by: Pedro Ramos <131530838+pr9000@users.noreply.github.com> --- tests/test_platform.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/test_platform.c b/tests/test_platform.c index 7ae9237c3..127edd8ab 100644 --- a/tests/test_platform.c +++ b/tests/test_platform.c @@ -132,6 +132,13 @@ TEST(platform_default_workers_env_unset) { PASS(); } +TEST(platform_system_info) { + cbm_system_info_t info = cbm_system_info(); + ASSERT_GT(info.total_cores, 0); + ASSERT_GT(info.total_ram, 0); + PASS(); +} + /* ── cgroup-aware detection (Linux only) ─────────────────────────── */ #ifdef __linux__ @@ -316,6 +323,7 @@ SUITE(platform) { RUN_TEST(platform_default_workers_env_override); RUN_TEST(platform_default_workers_env_invalid); RUN_TEST(platform_default_workers_env_unset); + RUN_TEST(platform_system_info); #ifdef __linux__ RUN_TEST(cgroup_v2_cpu_quota); RUN_TEST(cgroup_v2_cpu_quota_rounds_up);