Subject: CVS commit: syssrc [sommerfeld_i386mp_1]
To: None <source-changes@netbsd.org>
From: Bill Sommerfeld <sommerfeld@netbsd.org>
List: source-changes
Date: 01/10/2001 06:38:35
Module Name:	syssrc
Committed By:	sommerfeld
Date:		Wed Jan 10 04:38:34 UTC 2001

Modified Files:
	syssrc/sys/arch/i386 [sommerfeld_i386mp_1]: MP-TODO
	syssrc/sys/arch/i386/i386 [sommerfeld_i386mp_1]: cpu.c genassym.cf
	    locore.s machdep.c mainbus.c mpbios.c
	syssrc/sys/arch/i386/include [sommerfeld_i386mp_1]: cpu.h cpuvar.h
	    npx.h
	syssrc/sys/arch/i386/isa [sommerfeld_i386mp_1]: clock.c npx.c

Log Message:
Significant rewrite of slave CPU attach and initialization, centering
on identifycpu() and spreading outward.

Separate feature probes (cpuid invocation), which runs on the cpu
being attached, from the display of this information, which runs on
the boot cpu; remove some of the probe code from locore as it doesn't
need to run that early.

We now spin up secondary cpu's during cpu_attach, have them do a cpu
feature probe, and then have them spin waiting for a "go" signal.

We no longer pay attention to the cpu signature and cpuid features
reported by the MP BIOS since those are known to be truncated for at
least some bioses.

We now do npx initialization (including FDIV bug detection) on all
cpus.

XXX Change some of the cyrix bug workarounds to fit the new
identifycpu() system; this is untested.


To generate a diff of this commit:
cvs rdiff -r1.1.2.3 -r1.1.2.4 syssrc/sys/arch/i386/MP-TODO
cvs rdiff -r1.1.2.18 -r1.1.2.19 syssrc/sys/arch/i386/i386/cpu.c
cvs rdiff -r1.17.10.8 -r1.17.10.9 syssrc/sys/arch/i386/i386/genassym.cf
cvs rdiff -r1.215.2.21 -r1.215.2.22 syssrc/sys/arch/i386/i386/locore.s
cvs rdiff -r1.376.2.16 -r1.376.2.17 syssrc/sys/arch/i386/i386/machdep.c
cvs rdiff -r1.29.2.3 -r1.29.2.4 syssrc/sys/arch/i386/i386/mainbus.c
cvs rdiff -r1.1.2.10 -r1.1.2.11 syssrc/sys/arch/i386/i386/mpbios.c
cvs rdiff -r1.59.2.19 -r1.59.2.20 syssrc/sys/arch/i386/include/cpu.h
cvs rdiff -r1.1.2.5 -r1.1.2.6 syssrc/sys/arch/i386/include/cpuvar.h
cvs rdiff -r1.14 -r1.14.16.1 syssrc/sys/arch/i386/include/npx.h
cvs rdiff -r1.63.2.2 -r1.63.2.3 syssrc/sys/arch/i386/isa/clock.c
cvs rdiff -r1.70.8.9 -r1.70.8.10 syssrc/sys/arch/i386/isa/npx.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.