Source-Changes-HG archive

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

[src/netbsd-1-4]: src/sys/arch/m68k/m68k pullup 1.6->1.8 (christos): 1.7 pull...



details:   https://anonhg.NetBSD.org/src/rev/85960569641f
branches:  netbsd-1-4
changeset: 468580:85960569641f
user:      perry <perry%NetBSD.org@localhost>
date:      Fri Apr 30 15:51:42 1999 +0000

description:
pullup 1.6->1.8 (christos): 1.7 pulled up to avoid conflicts

diffstat:

 sys/arch/m68k/m68k/sigcode.s |  37 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 36 insertions(+), 1 deletions(-)

diffs (48 lines):

diff -r 260f02696594 -r 85960569641f sys/arch/m68k/m68k/sigcode.s
--- a/sys/arch/m68k/m68k/sigcode.s      Fri Apr 30 15:33:55 1999 +0000
+++ b/sys/arch/m68k/m68k/sigcode.s      Fri Apr 30 15:51:42 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: sigcode.s,v 1.6 1998/10/05 00:00:17 thorpej Exp $      */
+/*     $NetBSD: sigcode.s,v 1.6.6.1 1999/04/30 15:51:42 perry Exp $    */
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -77,3 +77,38 @@
        trap    #0              | exit(errno)                   (2 bytes)
        .align  2
 GLOBAL(esigcode)
+
+#ifdef COMPAT_SUNOS
+       .data
+       .align  2
+GLOBAL(sunos_sigcode)
+       movl    sp@(12),a0      | signal handler addr   (4 bytes)
+       jsr     a0@             | call signal handler   (2 bytes)
+       addql   #4,sp           | pop signal number     (2 bytes)
+       trap    #1              | special syscall entry (2 bytes)
+       movl    d0,sp@(4)       | save errno            (4 bytes)
+       moveq   #1,d0           | syscall == exit       (2 bytes)
+       trap    #0              | exit(errno)           (2 bytes)
+       .align  2
+GLOBAL(sunos_esigcode)
+#endif /* COMPAT_SUNOS */
+
+#ifdef COMPAT_SVR4
+       .data
+       .align  2
+GLOBAL(svr4_sigcode)
+       movl    sp@(SVR4_SIGF_HANDLER),a0       | signal handler addr
+       jsr     a0@                             | call signal handler
+       lea     sp@(SVR4_SIGF_UC),a0            | ucontext to resume addr
+       movl    a0,sp@-                         | push pointer to ucontext
+       movl    #SVR4_SETCONTEXT,sp@-           | push context() subcode
+       subql   #4,sp                           | padding for call frame layout
+       movql   #SVR4_SYS_context,d0            | setcontext(&sf.sf_uc)
+       trap    #0                              |  shouldn't return
+       movl    d0,sp@(4)                       |  so save `errno'
+       moveq   #SVR4_SYS_exit,d0               |  and exit hard
+       trap    #0                              | _exit(errno)
+       .align  2
+GLOBAL(svr4_esigcode)
+#endif /* COMPAT_SVR4 */
+



Home | Main Index | Thread Index | Old Index