Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: syssrc



Module Name:    syssrc
Committed By:   nisimura
Date:           Sat Mar 25 10:14:14 UTC 2000

Modified Files:
        syssrc/sys/arch/arc/arc: machdep.c
        syssrc/sys/arch/cobalt/cobalt: machdep.c
        syssrc/sys/arch/hpcmips/hpcmips: machdep.c
        syssrc/sys/arch/newsmips/newsmips: machdep.c
        syssrc/sys/arch/pmax/pmax: machdep.c

Log Message:
Make sure proc0 PCB has spl0 condition in CP0 status register field.

cpu_fork() mistakenly created processes forked by proc0, including
kthreads, in splhigh condition, because [1] proc0's PCB was zero
cleared during initialization, and [2] value 0 in status register
field made processes to have splhigh condition when CPU tick was
assigned for them.  This mostly doesn't matter as forked processes
dive immediately into user mode through proc_trampoline code path,
however, kthreads never do that and remain in splhigh.

Reported by Ethan Solomita <ethan%geocast.com@localhost>.


To generate a diff of this commit:
cvs rdiff -r1.31 -r1.32 syssrc/sys/arch/arc/arc/machdep.c
cvs rdiff -r1.3 -r1.4 syssrc/sys/arch/cobalt/cobalt/machdep.c
cvs rdiff -r1.19 -r1.20 syssrc/sys/arch/hpcmips/hpcmips/machdep.c
cvs rdiff -r1.38 -r1.39 syssrc/sys/arch/newsmips/newsmips/machdep.c
cvs rdiff -r1.167 -r1.168 syssrc/sys/arch/pmax/pmax/machdep.c

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




Home | Main Index | Thread Index | Old Index