Source-Changes-HG archive

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

[src/netbsd-2-0]: src/sys/arch/sparc/sparc Pull up revision 1.252 (requested ...



details:   https://anonhg.NetBSD.org/src/rev/20951dde5e2e
branches:  netbsd-2-0
changeset: 564725:20951dde5e2e
user:      tron <tron%NetBSD.org@localhost>
date:      Sun Mar 20 11:58:32 2005 +0000

description:
Pull up revision 1.252 (requested by chs in ticket #1160):
define a new LWP flag which indicates that we're in the process of
doing a context switch.  use this on sparc and sparc64 to avoid trying
to access user memory (writing the register windows back to the stack)
in this case (since it's both unnecessary and wrong).

diffstat:

 sys/arch/sparc/sparc/machdep.c |  6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diffs (27 lines):

diff -r bcd0039632cd -r 20951dde5e2e sys/arch/sparc/sparc/machdep.c
--- a/sys/arch/sparc/sparc/machdep.c    Thu Mar 17 10:30:20 2005 +0000
+++ b/sys/arch/sparc/sparc/machdep.c    Sun Mar 20 11:58:32 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: machdep.c,v 1.245.2.1 2004/04/29 04:19:33 jmc Exp $ */
+/*     $NetBSD: machdep.c,v 1.245.2.2 2005/03/20 11:58:32 tron Exp $ */
 
 /*-
  * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc.
@@ -78,7 +78,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.245.2.1 2004/04/29 04:19:33 jmc Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.245.2.2 2005/03/20 11:58:32 tron Exp $");
 
 #include "opt_compat_netbsd.h"
 #include "opt_compat_sunos.h"
@@ -863,7 +863,7 @@
         * registers into the pcb; we need them in the process's memory.
         */
        write_user_windows();
-       if (rwindow_save(l))
+       if ((l->l_flag & L_SA_SWITCHING) == 0 && rwindow_save(l))
                sigexit(l, SIGILL);
 
        /*



Home | Main Index | Thread Index | Old Index