bpo-41440: add os.cpu_count() support for VxWorks RTOS (GH-21685)
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index efd9954..a6a4b9f 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -32,6 +32,9 @@
# include <windows.h>
#endif
+#ifdef __VXWORKS__
+# include "pycore_bitutils.h" // _Py_popcount32()
+#endif
#include "pycore_ceval.h" // _PyEval_ReInitThreads()
#include "pycore_import.h" // _PyImport_ReInitLock()
#include "pycore_initconfig.h" // _PyStatus_EXCEPTION()
@@ -12607,6 +12610,8 @@
ncpu = mpctl(MPC_GETNUMSPUS, NULL, NULL);
#elif defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN)
ncpu = sysconf(_SC_NPROCESSORS_ONLN);
+#elif defined(__VXWORKS__)
+ ncpu = _Py_popcount32(vxCpuEnabledGet());
#elif defined(__DragonFly__) || \
defined(__OpenBSD__) || \
defined(__FreeBSD__) || \