Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/sparc64/sparc64 Remove left over pieces from reusin...



details:   https://anonhg.NetBSD.org/src/rev/30f37d4434aa
branches:  trunk
changeset: 542850:30f37d4434aa
user:      martin <martin%NetBSD.org@localhost>
date:      Sun Feb 09 19:44:19 2003 +0000

description:
Remove left over pieces from reusing the signal trampoline for upcalls.
This should fix signal delivery for 32bit kernels.

diffstat:

 sys/arch/sparc64/sparc64/locore.s           |  16 ++--------------
 sys/arch/sparc64/sparc64/machdep.c          |   3 +--
 sys/arch/sparc64/sparc64/netbsd32_machdep.c |   3 +--
 3 files changed, 4 insertions(+), 18 deletions(-)

diffs (71 lines):

diff -r ec9f6a31bab5 -r 30f37d4434aa sys/arch/sparc64/sparc64/locore.s
--- a/sys/arch/sparc64/sparc64/locore.s Sun Feb 09 18:40:31 2003 +0000
+++ b/sys/arch/sparc64/sparc64/locore.s Sun Feb 09 19:44:19 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.s,v 1.170 2003/02/05 12:06:52 nakayama Exp $    */
+/*     $NetBSD: locore.s,v 1.171 2003/02/09 19:44:19 martin Exp $      */
 
 /*
  * Copyright (c) 1996-2002 Eduardo Horvath
@@ -6641,11 +6641,6 @@
        .globl  _C_LABEL(esigcode)
 _C_LABEL(sigcode):
        /*
-        * The next 2 instructions are skipped for signal trampolines.
-        */
-       ba,a,pt %xcc, 99f
-        nop
-       /*
         * XXX  the `save' and `restore' below are unnecessary: should
         *      replace with simple arithmetic on %sp
         *
@@ -6735,14 +6730,7 @@
        ! sigreturn does not return unless it fails
        mov     SYS_exit, %g1           ! exit(errno)
        t       ST_SYSCALL
-99:
-       /*
-        * Upcall for scheduler activations.
-        */
-       call    %g1
-        nop
-       mov     SYS_exit, %g1           ! exit(errno)
-       t       ST_SYSCALL
+       /* NOTREACHED */
 _C_LABEL(esigcode):
 #endif
 
diff -r ec9f6a31bab5 -r 30f37d4434aa sys/arch/sparc64/sparc64/machdep.c
--- a/sys/arch/sparc64/sparc64/machdep.c        Sun Feb 09 18:40:31 2003 +0000
+++ b/sys/arch/sparc64/sparc64/machdep.c        Sun Feb 09 19:44:19 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: machdep.c,v 1.138 2003/01/24 21:55:15 fvdl Exp $ */
+/*     $NetBSD: machdep.c,v 1.139 2003/02/09 19:44:20 martin Exp $ */
 
 /*-
  * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc.
@@ -663,7 +663,6 @@
 #if 1 /* COMPAT_16 */
        case 0:         /* legacy on-stack sigtramp */
                addr = (vaddr_t)p->p_sigctx.ps_sigcode;
-               addr += 8; /* XXX skip the upcall code */
                break;
 #endif /* COMPAT_16 */
 
diff -r ec9f6a31bab5 -r 30f37d4434aa sys/arch/sparc64/sparc64/netbsd32_machdep.c
--- a/sys/arch/sparc64/sparc64/netbsd32_machdep.c       Sun Feb 09 18:40:31 2003 +0000
+++ b/sys/arch/sparc64/sparc64/netbsd32_machdep.c       Sun Feb 09 19:44:19 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: netbsd32_machdep.c,v 1.29 2003/01/24 16:54:34 nakayama Exp $   */
+/*     $NetBSD: netbsd32_machdep.c,v 1.30 2003/02/09 19:44:20 martin Exp $     */
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -270,7 +270,6 @@
         */
        addr = (long)p->p_psstr - szsigcode;
        tf->tf_global[1] = (long)catcher;
-       addr += 8; /* XXX skip the upcall code */
        tf->tf_pc = addr;
        tf->tf_npc = addr + 4;
        tf->tf_out[6] = (u_int64_t)(u_int)(u_long)newsp;



Home | Main Index | Thread Index | Old Index