Module Name: src
Committed By: maxv
Date: Tue Aug 8 08:04:06 UTC 2017
Modified Files:
src/distrib/sets/lists/comp: md.amd64 md.i386
src/sys/arch/i386/i386: genassym.cf
src/sys/arch/i386/include: Makefile
src/sys/compat/freebsd: freebsd_exec.c freebsd_exec_elf32.c
freebsd_fork.c freebsd_machdep.c freebsd_ptrace.c freebsd_syscall.c
freebsd_syscalls.c freebsd_sysent.c syscalls.master
Added Files:
src/sys/compat/freebsd: freebsd_machdep.h
Removed Files:
src/sys/arch/i386/include: freebsd_machdep.h
Log Message:
Move freebsd_machdep.h into sys/compat/freebsd, and don't install it. Now,
the compat_freebsd files are all contained in sys/compat/freebsd.
To generate a diff of this commit:
cvs rdiff -u -r1.247 -r1.248 src/distrib/sets/lists/comp/md.amd64
cvs rdiff -u -r1.171 -r1.172 src/distrib/sets/lists/comp/md.i386
cvs rdiff -u -r1.101 -r1.102 src/sys/arch/i386/i386/genassym.cf
cvs rdiff -u -r1.45 -r1.46 src/sys/arch/i386/include/Makefile
cvs rdiff -u -r1.14 -r0 src/sys/arch/i386/include/freebsd_machdep.h
cvs rdiff -u -r1.38 -r1.39 src/sys/compat/freebsd/freebsd_exec.c
cvs rdiff -u -r1.20 -r1.21 src/sys/compat/freebsd/freebsd_exec_elf32.c \
src/sys/compat/freebsd/freebsd_ptrace.c
cvs rdiff -u -r1.7 -r1.8 src/sys/compat/freebsd/freebsd_fork.c
cvs rdiff -u -r1.1 -r1.2 src/sys/compat/freebsd/freebsd_machdep.c \
src/sys/compat/freebsd/freebsd_syscall.c
cvs rdiff -u -r0 -r1.1 src/sys/compat/freebsd/freebsd_machdep.h
cvs rdiff -u -r1.84 -r1.85 src/sys/compat/freebsd/freebsd_syscalls.c
cvs rdiff -u -r1.86 -r1.87 src/sys/compat/freebsd/freebsd_sysent.c
cvs rdiff -u -r1.67 -r1.68 src/sys/compat/freebsd/syscalls.master
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/distrib/sets/lists/comp/md.amd64
diff -u src/distrib/sets/lists/comp/md.amd64:1.247 src/distrib/sets/lists/comp/md.amd64:1.248
--- src/distrib/sets/lists/comp/md.amd64:1.247 Tue Aug 1 20:07:43 2017
+++ src/distrib/sets/lists/comp/md.amd64 Tue Aug 8 08:04:05 2017
@@ -1,4 +1,4 @@
-# $NetBSD: md.amd64,v 1.247 2017/08/01 20:07:43 joerg Exp $
+# $NetBSD: md.amd64,v 1.248 2017/08/08 08:04:05 maxv Exp $
./usr/include/amd64 comp-c-include
./usr/include/amd64/ansi.h comp-c-include
@@ -485,7 +485,7 @@
./usr/include/i386/fenv.h comp-c-include
./usr/include/i386/float.h comp-c-include
./usr/include/i386/frame.h comp-c-include
-./usr/include/i386/freebsd_machdep.h comp-c-include
+./usr/include/i386/freebsd_machdep.h comp-obsolete obsolete
./usr/include/i386/gdt.h comp-c-include
./usr/include/i386/ibcs2_machdep.h comp-c-include
./usr/include/i386/ieee.h comp-c-include
Index: src/distrib/sets/lists/comp/md.i386
diff -u src/distrib/sets/lists/comp/md.i386:1.171 src/distrib/sets/lists/comp/md.i386:1.172
--- src/distrib/sets/lists/comp/md.i386:1.171 Tue Aug 1 20:07:43 2017
+++ src/distrib/sets/lists/comp/md.i386 Tue Aug 8 08:04:05 2017
@@ -1,4 +1,4 @@
-# $NetBSD: md.i386,v 1.171 2017/08/01 20:07:43 joerg Exp $
+# $NetBSD: md.i386,v 1.172 2017/08/08 08:04:05 maxv Exp $
./usr/include/clang-3.4/__wmmintrin_aes.h comp-obsolete obsolete
./usr/include/clang-3.4/__wmmintrin_pclmul.h comp-obsolete obsolete
./usr/include/clang-3.4/ammintrin.h comp-obsolete obsolete
@@ -414,7 +414,7 @@
./usr/include/i386/fenv.h comp-c-include
./usr/include/i386/float.h comp-c-include
./usr/include/i386/frame.h comp-c-include
-./usr/include/i386/freebsd_machdep.h comp-c-include
+./usr/include/i386/freebsd_machdep.h comp-obsolete obsolete
./usr/include/i386/gdt.h comp-c-include
./usr/include/i386/ibcs2_machdep.h comp-c-include
./usr/include/i386/ieee.h comp-c-include
Index: src/sys/arch/i386/i386/genassym.cf
diff -u src/sys/arch/i386/i386/genassym.cf:1.101 src/sys/arch/i386/i386/genassym.cf:1.102
--- src/sys/arch/i386/i386/genassym.cf:1.101 Sat Jul 29 12:07:45 2017
+++ src/sys/arch/i386/i386/genassym.cf Tue Aug 8 08:04:05 2017
@@ -1,4 +1,4 @@
-# $NetBSD: genassym.cf,v 1.101 2017/07/29 12:07:45 maxv Exp $
+# $NetBSD: genassym.cf,v 1.102 2017/08/08 08:04:05 maxv Exp $
#
# Copyright (c) 1998, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -113,7 +113,7 @@ include <compat/linux/common/linux_machd
endif
ifdef COMPAT_FREEBSD
-include <machine/freebsd_machdep.h>
+include <compat/freebsd/freebsd_machdep.h>
endif
if NIOAPIC > 0
Index: src/sys/arch/i386/include/Makefile
diff -u src/sys/arch/i386/include/Makefile:1.45 src/sys/arch/i386/include/Makefile:1.46
--- src/sys/arch/i386/include/Makefile:1.45 Sat Jul 29 12:07:45 2017
+++ src/sys/arch/i386/include/Makefile Tue Aug 8 08:04:06 2017
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.45 2017/07/29 12:07:45 maxv Exp $
+# $NetBSD: Makefile,v 1.46 2017/08/08 08:04:06 maxv Exp $
INCSDIR= /usr/include/i386
@@ -7,7 +7,7 @@ INCS= ansi.h aout_machdep.h apmvar.h asm
cdefs.h cpu.h cpu_rng.h cputypes.h \
disklabel.h \
elf_machdep.h endian.h endian_machdep.h \
- fenv.h float.h frame.h freebsd_machdep.h \
+ fenv.h float.h frame.h \
gdt.h \
ibcs2_machdep.h ieee.h ieeefp.h \
int_const.h int_fmtio.h int_limits.h int_mwgwtypes.h int_types.h \
Index: src/sys/compat/freebsd/freebsd_exec.c
diff -u src/sys/compat/freebsd/freebsd_exec.c:1.38 src/sys/compat/freebsd/freebsd_exec.c:1.39
--- src/sys/compat/freebsd/freebsd_exec.c:1.38 Sun Feb 19 21:06:36 2012
+++ src/sys/compat/freebsd/freebsd_exec.c Tue Aug 8 08:04:06 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: freebsd_exec.c,v 1.38 2012/02/19 21:06:36 rmind Exp $ */
+/* $NetBSD: freebsd_exec.c,v 1.39 2017/08/08 08:04:06 maxv Exp $ */
/*
* Copyright (c) 1993, 1994 Christopher G. Demetriou
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: freebsd_exec.c,v 1.38 2012/02/19 21:06:36 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: freebsd_exec.c,v 1.39 2017/08/08 08:04:06 maxv Exp $");
#if defined(_KERNEL_OPT)
#include "opt_syscall_debug.h"
@@ -51,7 +51,7 @@ __KERNEL_RCSID(0, "$NetBSD: freebsd_exec
#include <compat/freebsd/freebsd_signal.h>
#include <compat/common/compat_util.h>
-#include <machine/freebsd_machdep.h>
+#include <compat/freebsd/freebsd_machdep.h>
extern struct sysent freebsd_sysent[];
extern const char * const freebsd_syscallnames[];
Index: src/sys/compat/freebsd/freebsd_exec_elf32.c
diff -u src/sys/compat/freebsd/freebsd_exec_elf32.c:1.20 src/sys/compat/freebsd/freebsd_exec_elf32.c:1.21
--- src/sys/compat/freebsd/freebsd_exec_elf32.c:1.20 Sun Nov 9 18:30:38 2014
+++ src/sys/compat/freebsd/freebsd_exec_elf32.c Tue Aug 8 08:04:06 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: freebsd_exec_elf32.c,v 1.20 2014/11/09 18:30:38 maxv Exp $ */
+/* $NetBSD: freebsd_exec_elf32.c,v 1.21 2017/08/08 08:04:06 maxv Exp $ */
/*
* Copyright (c) 1993, 1994 Christopher G. Demetriou
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: freebsd_exec_elf32.c,v 1.20 2014/11/09 18:30:38 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: freebsd_exec_elf32.c,v 1.21 2017/08/08 08:04:06 maxv Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -46,7 +46,7 @@ __KERNEL_RCSID(0, "$NetBSD: freebsd_exec
#include <compat/freebsd/freebsd_exec.h>
#include <compat/common/compat_util.h>
-#include <machine/freebsd_machdep.h>
+#include <compat/freebsd/freebsd_machdep.h>
int
ELFNAME2(freebsd,probe)(struct lwp *l, struct exec_package *epp, void *veh,
Index: src/sys/compat/freebsd/freebsd_ptrace.c
diff -u src/sys/compat/freebsd/freebsd_ptrace.c:1.20 src/sys/compat/freebsd/freebsd_ptrace.c:1.21
--- src/sys/compat/freebsd/freebsd_ptrace.c:1.20 Sun Jan 19 13:35:58 2014
+++ src/sys/compat/freebsd/freebsd_ptrace.c Tue Aug 8 08:04:06 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: freebsd_ptrace.c,v 1.20 2014/01/19 13:35:58 dsl Exp $ */
+/* $NetBSD: freebsd_ptrace.c,v 1.21 2017/08/08 08:04:06 maxv Exp $ */
/*-
* Copyright (c) 1982, 1986, 1989, 1993
@@ -71,7 +71,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: freebsd_ptrace.c,v 1.20 2014/01/19 13:35:58 dsl Exp $");
+__KERNEL_RCSID(0, "$NetBSD: freebsd_ptrace.c,v 1.21 2017/08/08 08:04:06 maxv Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -87,7 +87,7 @@ __KERNEL_RCSID(0, "$NetBSD: freebsd_ptra
#include <compat/sys/signalvar.h>
#include <machine/reg.h>
-#include <machine/freebsd_machdep.h>
+#include <compat/freebsd/freebsd_machdep.h>
#include <compat/common/compat_util.h>
#include <compat/freebsd/freebsd_syscallargs.h>
Index: src/sys/compat/freebsd/freebsd_fork.c
diff -u src/sys/compat/freebsd/freebsd_fork.c:1.7 src/sys/compat/freebsd/freebsd_fork.c:1.8
--- src/sys/compat/freebsd/freebsd_fork.c:1.7 Mon Apr 28 20:23:41 2008
+++ src/sys/compat/freebsd/freebsd_fork.c Tue Aug 8 08:04:06 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: freebsd_fork.c,v 1.7 2008/04/28 20:23:41 martin Exp $ */
+/* $NetBSD: freebsd_fork.c,v 1.8 2017/08/08 08:04:06 maxv Exp $ */
/*-
* Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: freebsd_fork.c,v 1.7 2008/04/28 20:23:41 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: freebsd_fork.c,v 1.8 2017/08/08 08:04:06 maxv Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -44,7 +44,7 @@ __KERNEL_RCSID(0, "$NetBSD: freebsd_fork
#include <compat/freebsd/freebsd_syscallargs.h>
#include <compat/freebsd/freebsd_fork.h>
-#include <machine/freebsd_machdep.h>
+#include <compat/freebsd/freebsd_machdep.h>
/*
* rfork()
Index: src/sys/compat/freebsd/freebsd_machdep.c
diff -u src/sys/compat/freebsd/freebsd_machdep.c:1.1 src/sys/compat/freebsd/freebsd_machdep.c:1.2
--- src/sys/compat/freebsd/freebsd_machdep.c:1.1 Tue Aug 1 14:43:54 2017
+++ src/sys/compat/freebsd/freebsd_machdep.c Tue Aug 8 08:04:06 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: freebsd_machdep.c,v 1.1 2017/08/01 14:43:54 maxv Exp $ */
+/* $NetBSD: freebsd_machdep.c,v 1.2 2017/08/08 08:04:06 maxv Exp $ */
/*-
* Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: freebsd_machdep.c,v 1.1 2017/08/01 14:43:54 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: freebsd_machdep.c,v 1.2 2017/08/08 08:04:06 maxv Exp $");
#if defined(_KERNEL_OPT)
#include "opt_vm86.h"
@@ -50,7 +50,7 @@ __KERNEL_RCSID(0, "$NetBSD: freebsd_mach
#include <machine/reg.h>
#include <machine/vm86.h>
#include <machine/vmparam.h>
-#include <machine/freebsd_machdep.h>
+#include <compat/freebsd/freebsd_machdep.h>
#include <compat/freebsd/freebsd_syscallargs.h>
@@ -249,4 +249,3 @@ freebsd_sys_sigreturn(struct lwp *l, con
return (EJUSTRETURN);
}
-
Index: src/sys/compat/freebsd/freebsd_syscall.c
diff -u src/sys/compat/freebsd/freebsd_syscall.c:1.1 src/sys/compat/freebsd/freebsd_syscall.c:1.2
--- src/sys/compat/freebsd/freebsd_syscall.c:1.1 Tue Aug 1 14:43:54 2017
+++ src/sys/compat/freebsd/freebsd_syscall.c Tue Aug 8 08:04:06 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: freebsd_syscall.c,v 1.1 2017/08/01 14:43:54 maxv Exp $ */
+/* $NetBSD: freebsd_syscall.c,v 1.2 2017/08/08 08:04:06 maxv Exp $ */
/*-
* Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: freebsd_syscall.c,v 1.1 2017/08/01 14:43:54 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: freebsd_syscall.c,v 1.2 2017/08/08 08:04:06 maxv Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -47,7 +47,7 @@ __KERNEL_RCSID(0, "$NetBSD: freebsd_sysc
#include <compat/sys/signal.h>
-#include <machine/freebsd_machdep.h>
+#include <compat/freebsd/freebsd_machdep.h>
#include <compat/freebsd/freebsd_syscall.h>
void freebsd_syscall(struct trapframe *);
Index: src/sys/compat/freebsd/freebsd_syscalls.c
diff -u src/sys/compat/freebsd/freebsd_syscalls.c:1.84 src/sys/compat/freebsd/freebsd_syscalls.c:1.85
--- src/sys/compat/freebsd/freebsd_syscalls.c:1.84 Wed May 10 06:19:48 2017
+++ src/sys/compat/freebsd/freebsd_syscalls.c Tue Aug 8 08:04:06 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: freebsd_syscalls.c,v 1.84 2017/05/10 06:19:48 riastradh Exp $ */
+/* $NetBSD: freebsd_syscalls.c,v 1.85 2017/08/08 08:04:06 maxv Exp $ */
/*
* System call names.
@@ -8,7 +8,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: freebsd_syscalls.c,v 1.84 2017/05/10 06:19:48 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: freebsd_syscalls.c,v 1.85 2017/08/08 08:04:06 maxv Exp $");
#if defined(_KERNEL_OPT)
#if defined(_KERNEL_OPT)
@@ -25,7 +25,7 @@ __KERNEL_RCSID(0, "$NetBSD: freebsd_sysc
#include <compat/sys/signal.h>
#include <compat/sys/time.h>
#include <compat/freebsd/freebsd_syscallargs.h>
-#include <machine/freebsd_machdep.h>
+#include <compat/freebsd/freebsd_machdep.h>
#else /* _KERNEL_OPT */
#include <sys/null.h>
#endif /* _KERNEL_OPT */
Index: src/sys/compat/freebsd/freebsd_sysent.c
diff -u src/sys/compat/freebsd/freebsd_sysent.c:1.86 src/sys/compat/freebsd/freebsd_sysent.c:1.87
--- src/sys/compat/freebsd/freebsd_sysent.c:1.86 Wed May 10 06:19:48 2017
+++ src/sys/compat/freebsd/freebsd_sysent.c Tue Aug 8 08:04:06 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: freebsd_sysent.c,v 1.86 2017/05/10 06:19:48 riastradh Exp $ */
+/* $NetBSD: freebsd_sysent.c,v 1.87 2017/08/08 08:04:06 maxv Exp $ */
/*
* System call switch table.
@@ -8,7 +8,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: freebsd_sysent.c,v 1.86 2017/05/10 06:19:48 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: freebsd_sysent.c,v 1.87 2017/08/08 08:04:06 maxv Exp $");
#if defined(_KERNEL_OPT)
#include "opt_ktrace.h"
@@ -24,7 +24,7 @@ __KERNEL_RCSID(0, "$NetBSD: freebsd_syse
#include <compat/sys/signal.h>
#include <compat/sys/time.h>
#include <compat/freebsd/freebsd_syscallargs.h>
-#include <machine/freebsd_machdep.h>
+#include <compat/freebsd/freebsd_machdep.h>
#define s(type) sizeof(type)
#define n(type) (sizeof(type)/sizeof (register_t))
Index: src/sys/compat/freebsd/syscalls.master
diff -u src/sys/compat/freebsd/syscalls.master:1.67 src/sys/compat/freebsd/syscalls.master:1.68
--- src/sys/compat/freebsd/syscalls.master:1.67 Thu Nov 7 19:37:18 2013
+++ src/sys/compat/freebsd/syscalls.master Tue Aug 8 08:04:06 2017
@@ -1,4 +1,4 @@
- $NetBSD: syscalls.master,v 1.67 2013/11/07 19:37:18 njoly Exp $
+ $NetBSD: syscalls.master,v 1.68 2017/08/08 08:04:06 maxv Exp $
; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94
@@ -49,7 +49,7 @@
#include <compat/freebsd/freebsd_syscallargs.h>
-#include <machine/freebsd_machdep.h>
+#include <compat/freebsd/freebsd_machdep.h>
%%
Added files:
Index: src/sys/compat/freebsd/freebsd_machdep.h
diff -u /dev/null src/sys/compat/freebsd/freebsd_machdep.h:1.1
--- /dev/null Tue Aug 8 08:04:06 2017
+++ src/sys/compat/freebsd/freebsd_machdep.h Tue Aug 8 08:04:06 2017
@@ -0,0 +1,115 @@
+/* $NetBSD: freebsd_machdep.h,v 1.1 2017/08/08 08:04:06 maxv Exp $ */
+
+/*
+ * Copyright (c) 1986, 1989, 1991, 1993
+ * 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: @(#)signal.h 8.1 (Berkeley) 6/11/93
+ * from: Id: signal.h,v 1.4 1994/08/21 04:55:30 paul Exp
+ *
+ * from: @(#)frame.h 5.2 (Berkeley) 1/18/91
+ * from: Id: frame.h,v 1.10 1995/03/16 18:11:42 bde Exp
+ */
+#ifndef _FREEBSD_MACHDEP_H
+#define _FREEBSD_MACHDEP_H
+
+#include <compat/sys/sigtypes.h>
+
+/*
+ * signal support
+ */
+
+struct freebsd_osigcontext {
+ int sc_onstack; /* sigstack state to restore */
+ sigset13_t sc_mask; /* signal mask to restore */
+ int sc_esp; /* machine state */
+ int sc_ebp;
+ int sc_isp;
+ int sc_eip;
+ int sc_eflags;
+ int sc_es;
+ int sc_ds;
+ int sc_cs;
+ int sc_ss;
+ int sc_edi;
+ int sc_esi;
+ int sc_ebx;
+ int sc_edx;
+ int sc_ecx;
+ int sc_eax;
+};
+
+/*
+ * The sequence of the fields/registers in struct sigcontext should match
+ * those in mcontext_t.
+ */
+struct freebsd_sigcontext {
+ sigset_t sc_mask; /* signal mask to restore */
+ int sc_onstack; /* sigstack state to restore */
+ int sc_gs; /* machine state (struct trapframe): */
+ int sc_fs;
+ int sc_es;
+ int sc_ds;
+ int sc_edi;
+ int sc_esi;
+ int sc_ebp;
+ int sc_isp;
+ int sc_ebx;
+ int sc_edx;
+ int sc_ecx;
+ int sc_eax;
+ int sc_trapno;
+ int sc_err;
+ int sc_eip;
+ int sc_cs;
+ int sc_efl;
+ int sc_esp;
+ int sc_ss;
+ /*
+ * XXX FPU state is 27 * 4 bytes h/w, 1 * 4 bytes s/w (probably not
+ * needed here), or that + 16 * 4 bytes for emulators (probably all
+ * needed here). The "spare" bytes are mostly not spare.
+ */
+ int sc_fpregs[28]; /* machine state (FPU): */
+ int sc_spare[17];
+};
+
+struct freebsd_sigframe {
+ int sf_signum;
+ int sf_code;
+ struct freebsd_sigcontext *sf_scp;
+ char *sf_addr;
+ sig_t sf_handler;
+ struct freebsd_sigcontext sf_sc;
+};
+
+void freebsd_syscall_intern(struct proc *);
+
+#endif /* _FREEBSD_MACHDEP_H */