/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: CpuId.BSD.cpp Date: 2022-1-25 Author: Reece ***/ #include #include "HWInfo.hpp" #include "CpuInfo.hpp" #include "CpuInfo.BSD.hpp" #if defined(AURORA_IS_BSD_DERIVED) #include #include #endif #if defined(AURORA_IS_POSIX_DERIVED) #include #include #endif namespace Aurora::HWInfo { void SetCpuTopologyBSD() { auto opt = QueryBsdHwStat(HW_AVAILCPU); if (opt.value_or(0) < 1) { opt = QueryBsdHwStat(HW_NCPU); } gCpuInfo.uSocket = 1; gCpuInfo.uCores = 1; gCpuInfo.uThreads = opt.value_or(1); // TODO: parse sysctl kern.sched.topology_spec gCpuInfo.bMaskMTHalf = true; } }