Index: lib/libc/gen/sysconf.c =================================================================== --- lib/libc/gen/sysconf.c (revision 336933) +++ lib/libc/gen/sysconf.c (working copy) @@ -586,7 +602,6 @@ yesno: #endif case _SC_NPROCESSORS_CONF: - case _SC_NPROCESSORS_ONLN: if (_elf_aux_info(AT_NCPUS, &value, sizeof(value)) == 0) return ((long)value); mib[0] = CTL_HW; @@ -593,6 +608,12 @@ yesno: mib[1] = HW_NCPU; break; + case _SC_NPROCESSORS_ONLN: + len = sizeof(lvalue); + if (sysctlbyname("kern.smp.cpus", &lvalue, &len, NULL, 0) == -1) + return (-1); + return (lvalue); + #ifdef _SC_PHYS_PAGES case _SC_PHYS_PAGES: len = sizeof(lvalue); Index: sys/compat/linsysfs/linsysfs.c =================================================================== --- sys/compat/linsysfs/linsysfs.c (revision 336933) +++ sys/compat/linsysfs/linsysfs.c (working copy) @@ -473,7 +473,7 @@ linsysfs_listcpus(struct pfs_node *dir) len += sizeof("cpu"); name = malloc(len, M_TEMP, M_WAITOK); - for (i = 0; i < mp_ncpus; ++i) { + for (i = 0; i < smp_cpus; ++i) { /* /sys/devices/system/cpu/cpuX */ sprintf(name, "cpu%d", i); cpu = pfs_create_dir(dir, name, NULL, NULL, NULL, 0);