Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-1-5]: src/sys/arch/sparc/sparc Pull up revision 1.139 (via patch, ...
details: https://anonhg.NetBSD.org/src/rev/fb72b253a890
branches: netbsd-1-5
changeset: 491302:fb72b253a890
user: he <he%NetBSD.org@localhost>
date: Sun Apr 22 17:59:57 2001 +0000
description:
Pull up revision 1.139 (via patch, requested by pk):
In proc_trampoline() make the new process run at base interrupt
priority level. Especially important for kernel threads, which
would otherwise keep running at splclock().
Eliminates system clock instability.
diffstat:
sys/arch/sparc/sparc/locore.s | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diffs (25 lines):
diff -r f0ee09e715fd -r fb72b253a890 sys/arch/sparc/sparc/locore.s
--- a/sys/arch/sparc/sparc/locore.s Sun Apr 22 17:46:04 2001 +0000
+++ b/sys/arch/sparc/sparc/locore.s Sun Apr 22 17:59:57 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.s,v 1.132.2.1 2000/07/26 22:46:37 pk Exp $ */
+/* $NetBSD: locore.s,v 1.132.2.2 2001/04/22 17:59:57 he Exp $ */
/*
* Copyright (c) 1996 Paul Kranenburg
@@ -4866,6 +4866,15 @@
* and when returning a child to user mode after a fork(2).
*/
ENTRY(proc_trampoline)
+
+ /* Reset interrupt level */
+ rd %psr, %o0
+ andn %o0, PSR_PIL, %o0 ! psr &= ~PSR_PIL;
+ wr %o0, 0, %psr ! (void) spl0();
+ nop ! psr delay; the next 2 instructions
+ ! can safely be made part of the
+ ! required 3 instructions psr delay
+
call %l0 ! re-use current frame
mov %l1, %o0
Home |
Main Index |
Thread Index |
Old Index