cvs commit: src/sys/alpha/alpha mp_machdep.c src/sys/amd64/amd64
mp_machdep.c src/sys/i386/i386 mp_machdep.c src/sys/ia64/ia64
mp_machdep.c src/sys/kern subr_smp.c src/sys/powerpc/powerpc
mp_machdep.c src/sys/sparc64/sparc64 mp_machdep.c src/sys/sys ...
John Baldwin
jhb at FreeBSD.org
Fri Nov 21 14:23:27 PST 2003
jhb 2003/11/21 14:23:26 PST
FreeBSD src repository
Modified files:
sys/alpha/alpha mp_machdep.c
sys/amd64/amd64 mp_machdep.c
sys/i386/i386 mp_machdep.c
sys/ia64/ia64 mp_machdep.c
sys/kern subr_smp.c
sys/powerpc/powerpc mp_machdep.c
sys/sparc64/sparc64 mp_machdep.c
sys/sys smp.h
Log:
- Split cpu_mp_probe() into two parts. cpu_mp_setmaxid() is still called
very early (SI_SUB_TUNABLES - 1) and is responsible for setting mp_maxid.
cpu_mp_probe() is now called at SI_SUB_CPU and determines if SMP is
actually present and sets mp_ncpus and all_cpus. Splitting these up
allows an architecture to probe CPUs later than SI_SUB_TUNABLES by just
setting mp_maxid to MAXCPU in cpu_mp_setmaxid(). This could allow the
CPU probing code to live in a module, for example, since modules
sysinit's in modules cannot be invoked prior to SI_SUB_KLD. This is
needed to re-enable the ACPI module on i386.
- For the alpha SMP probing code, use LOCATE_PCS() instead of duplicating
its contents in a few places. Also, add a smp_cpu_enabled() function
to avoid duplicating some code. There is room for further code
reduction later since much of this code is also present in cpu_mp_start().
- All archs besides i386 still set mp_maxid to the same values they set it
to before this change. i386 now sets mp_maxid to MAXCPU.
Tested on: alpha, amd64, i386, ia64, sparc64
Approved by: re (scottl)
Revision Changes Path
1.49 +45 -22 src/sys/alpha/alpha/mp_machdep.c
1.228 +20 -5 src/sys/amd64/amd64/mp_machdep.c
1.226 +7 -8 src/sys/i386/i386/mp_machdep.c
1.52 +8 -2 src/sys/ia64/ia64/mp_machdep.c
1.179 +6 -6 src/sys/kern/subr_smp.c
1.11 +5 -0 src/sys/powerpc/powerpc/mp_machdep.c
1.24 +9 -3 src/sys/sparc64/sparc64/mp_machdep.c
1.74 +6 -0 src/sys/sys/smp.h
More information about the cvs-src
mailing list