Author: kib
Date: Tue Feb 13 12:54:03 2018
New Revision: 329199
URL: https://svnweb.freebsd.org/changeset/base/329199

Log:
  MFC r328913:
  Move signal trampolines out of locore.s into separate source file.

Added:
  stable/11/sys/i386/i386/sigtramp.s
     - copied unchanged from r328913, head/sys/i386/i386/sigtramp.s
Modified:
  stable/11/sys/conf/files.i386
  stable/11/sys/i386/i386/locore.s
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/conf/files.i386
==============================================================================
--- stable/11/sys/conf/files.i386       Tue Feb 13 11:43:57 2018        
(r329198)
+++ stable/11/sys/conf/files.i386       Tue Feb 13 12:54:03 2018        
(r329199)
@@ -504,6 +504,7 @@ i386/i386/mpboot.s          optional smp
 i386/i386/perfmon.c            optional perfmon
 i386/i386/pmap.c               standard
 i386/i386/ptrace_machdep.c     standard
+i386/i386/sigtramp.s           standard
 i386/i386/support.s            standard
 i386/i386/swtch.s              standard
 i386/i386/sys_machdep.c                standard

Modified: stable/11/sys/i386/i386/locore.s
==============================================================================
--- stable/11/sys/i386/i386/locore.s    Tue Feb 13 11:43:57 2018        
(r329198)
+++ stable/11/sys/i386/i386/locore.s    Tue Feb 13 12:54:03 2018        
(r329199)
@@ -44,7 +44,6 @@
 #include "opt_nfsroot.h"
 #include "opt_pmap.h"
 
-#include <sys/syscall.h>
 #include <sys/reboot.h>
 
 #include <machine/asmacros.h>
@@ -327,77 +326,6 @@ begin:
        call    mi_startup              /* autoconfiguration, mountroot etc */
        /* NOTREACHED */
        addl    $0,%esp                 /* for db_numargs() again */
-
-/*
- * Signal trampoline, copied to top of user stack
- */
-NON_GPROF_ENTRY(sigcode)
-       calll   *SIGF_HANDLER(%esp)
-       leal    SIGF_UC(%esp),%eax      /* get ucontext */
-       pushl   %eax
-       testl   $PSL_VM,UC_EFLAGS(%eax)
-       jne     1f
-       mov     UC_GS(%eax),%gs         /* restore %gs */
-1:
-       movl    $SYS_sigreturn,%eax
-       pushl   %eax                    /* junk to fake return addr. */
-       int     $0x80                   /* enter kernel with args */
-                                       /* on stack */
-1:
-       jmp     1b
-
-#ifdef COMPAT_FREEBSD4
-       ALIGN_TEXT
-freebsd4_sigcode:
-       calll   *SIGF_HANDLER(%esp)
-       leal    SIGF_UC4(%esp),%eax     /* get ucontext */
-       pushl   %eax
-       testl   $PSL_VM,UC4_EFLAGS(%eax)
-       jne     1f
-       mov     UC4_GS(%eax),%gs        /* restore %gs */
-1:
-       movl    $344,%eax               /* 4.x SYS_sigreturn */
-       pushl   %eax                    /* junk to fake return addr. */
-       int     $0x80                   /* enter kernel with args */
-                                       /* on stack */
-1:
-       jmp     1b
-#endif
-
-#ifdef COMPAT_43
-       ALIGN_TEXT
-osigcode:
-       call    *SIGF_HANDLER(%esp)     /* call signal handler */
-       lea     SIGF_SC(%esp),%eax      /* get sigcontext */
-       pushl   %eax
-       testl   $PSL_VM,SC_PS(%eax)
-       jne     9f
-       mov     SC_GS(%eax),%gs         /* restore %gs */
-9:
-       movl    $103,%eax               /* 3.x SYS_sigreturn */
-       pushl   %eax                    /* junk to fake return addr. */
-       int     $0x80                   /* enter kernel with args */
-0:     jmp     0b
-#endif /* COMPAT_43 */
-
-       ALIGN_TEXT
-esigcode:
-
-       .data
-       .globl  szsigcode
-szsigcode:
-       .long   esigcode-sigcode
-#ifdef COMPAT_FREEBSD4
-       .globl  szfreebsd4_sigcode
-szfreebsd4_sigcode:
-       .long   esigcode-freebsd4_sigcode
-#endif
-#ifdef COMPAT_43
-       .globl  szosigcode
-szosigcode:
-       .long   esigcode-osigcode
-#endif
-       .text
 
 /**********************************************************************
  *

Copied: stable/11/sys/i386/i386/sigtramp.s (from r328913, 
head/sys/i386/i386/sigtramp.s)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/11/sys/i386/i386/sigtramp.s  Tue Feb 13 12:54:03 2018        
(r329199, copy of r328913, head/sys/i386/i386/sigtramp.s)
@@ -0,0 +1,118 @@
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *     from: @(#)locore.s      7.3 (Berkeley) 5/13/91
+ * $FreeBSD$
+ *
+ *             originally from: locore.s, by William F. Jolitz
+ *
+ *             Substantially rewritten by David Greenman, Rod Grimes,
+ *                     Bruce Evans, Wolfgang Solfrank, Poul-Henning Kamp
+ *                     and many others.
+ */
+
+#include "opt_compat.h"
+
+#include <sys/syscall.h>
+#include <machine/asmacros.h>
+#include <machine/psl.h>
+
+#include "assym.s"
+
+/*
+ * Signal trampoline, copied to top of user stack
+ */
+NON_GPROF_ENTRY(sigcode)
+       calll   *SIGF_HANDLER(%esp)
+       leal    SIGF_UC(%esp),%eax      /* get ucontext */
+       pushl   %eax
+       testl   $PSL_VM,UC_EFLAGS(%eax)
+       jne     1f
+       mov     UC_GS(%eax),%gs         /* restore %gs */
+1:
+       movl    $SYS_sigreturn,%eax
+       pushl   %eax                    /* junk to fake return addr. */
+       int     $0x80                   /* enter kernel with args */
+                                       /* on stack */
+1:
+       jmp     1b
+
+#ifdef COMPAT_FREEBSD4
+       ALIGN_TEXT
+freebsd4_sigcode:
+       calll   *SIGF_HANDLER(%esp)
+       leal    SIGF_UC4(%esp),%eax     /* get ucontext */
+       pushl   %eax
+       testl   $PSL_VM,UC4_EFLAGS(%eax)
+       jne     1f
+       mov     UC4_GS(%eax),%gs        /* restore %gs */
+1:
+       movl    $344,%eax               /* 4.x SYS_sigreturn */
+       pushl   %eax                    /* junk to fake return addr. */
+       int     $0x80                   /* enter kernel with args */
+                                       /* on stack */
+1:
+       jmp     1b
+#endif
+
+#ifdef COMPAT_43
+       ALIGN_TEXT
+osigcode:
+       call    *SIGF_HANDLER(%esp)     /* call signal handler */
+       lea     SIGF_SC(%esp),%eax      /* get sigcontext */
+       pushl   %eax
+       testl   $PSL_VM,SC_PS(%eax)
+       jne     9f
+       mov     SC_GS(%eax),%gs         /* restore %gs */
+9:
+       movl    $103,%eax               /* 3.x SYS_sigreturn */
+       pushl   %eax                    /* junk to fake return addr. */
+       int     $0x80                   /* enter kernel with args */
+0:     jmp     0b
+#endif /* COMPAT_43 */
+
+       ALIGN_TEXT
+esigcode:
+
+       .data
+       .globl  szsigcode
+szsigcode:
+       .long   esigcode-sigcode
+#ifdef COMPAT_FREEBSD4
+       .globl  szfreebsd4_sigcode
+szfreebsd4_sigcode:
+       .long   esigcode-freebsd4_sigcode
+#endif
+#ifdef COMPAT_43
+       .globl  szosigcode
+szosigcode:
+       .long   esigcode-osigcode
+#endif
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to