freebsd-dev/sys/sparc64
John Baldwin 798a45964d - 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)
2003-11-21 22:23:26 +00:00
..
central
compile
conf Fix more spammage with local changes. Didn't look at the diffs before 2003-11-14 20:36:12 +00:00
creator Assume that unit 0 is the graphics console initialized by syscons, instead 2003-11-11 06:47:00 +00:00
ebus
fhc
include - Modify alpha's sf_buf implementation to use the direct virtual-to- 2003-11-16 06:11:26 +00:00
isa
pci - Clear the CE AFSR bits which indicate the error condition when handling 2003-09-04 15:25:10 +00:00
sbus
sparc64 - Split cpu_mp_probe() into two parts. cpu_mp_setmaxid() is still called 2003-11-21 22:23:26 +00:00