Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Jason R Thorpe <thorpej@netbsd.org>
List: source-changes
Date: 08/17/2000 02:18:30
Module Name:	syssrc
Committed By:	thorpej
Date:		Wed Aug 16 23:18:28 UTC 2000

Modified Files:
	syssrc/sys/arch/i386/i386 [netbsd-1-5]: gdt.c genassym.cf locore.s
	    machdep.c pmap.c vm_machdep.c
	syssrc/sys/arch/i386/include [netbsd-1-5]: gdt.h pcb.h proc.h

Log Message:
Update from trunk:
Move the TSS selector out of the PCB and put it into mdproc.  We
need to access this when we have the proclist locked for reading,
and thus cannot store it in the PCB (which may be swapped out).

As part of this, call pmap_activate() from cpu_switch() to switch
to the new address space, and refresh the PCB's copy of the LDT
selector from the pmap structure (see above paragraph).  We need
to do this for MP support anyhow.

Fixes a "panic: spinlock_switchcheck: CPU 0 has 1 spin locks" via
gdt_compact() reported by Nathan Williams.


To generate a diff of this commit:
cvs rdiff -r1.20 -r1.20.14.1 syssrc/sys/arch/i386/i386/gdt.c
cvs rdiff -r1.19 -r1.19.4.1 syssrc/sys/arch/i386/i386/genassym.cf
cvs rdiff -r1.222 -r1.222.2.1 syssrc/sys/arch/i386/i386/locore.s
cvs rdiff -r1.389 -r1.389.2.1 syssrc/sys/arch/i386/i386/machdep.c
cvs rdiff -r1.94 -r1.94.2.1 syssrc/sys/arch/i386/i386/pmap.c
cvs rdiff -r1.89 -r1.89.2.1 syssrc/sys/arch/i386/i386/vm_machdep.c
cvs rdiff -r1.7 -r1.7.14.1 syssrc/sys/arch/i386/include/gdt.h
cvs rdiff -r1.26 -r1.26.14.1 syssrc/sys/arch/i386/include/pcb.h
cvs rdiff -r1.10 -r1.10.44.1 syssrc/sys/arch/i386/include/proc.h

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