Source-Changes-HG archive

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

[src/trunk]: src Remove compat_ibcs2 from i386. After a discussion on port-va...



details:   https://anonhg.NetBSD.org/src/rev/4efe6b08c0f3
branches:  trunk
changeset: 355678:4efe6b08c0f3
user:      maxv <maxv%NetBSD.org@localhost>
date:      Wed Aug 09 18:45:30 2017 +0000

description:
Remove compat_ibcs2 from i386. After a discussion on port-vax, it turns
out that compat_ibcs2 does not implement the iBCS2 standard - which is
x86-specific - but rather SVR3. Our real iBCS2 implementation was a
mixture of compat_ibcs2 and compat_svr4, and was only partial. Keeping
support for this in i386 is totally irrelevant today. I also asked on
port-i386 but didn't wait long.

The main issue is that compat_ibcs2 should have been called compat_svr3.
But CVS does not support renaming files, and moving things around is both
painful and tiring, even more so when no one seems to be interested in
doing this work or in the feature at all. For now compat_ibcs2 is available
on Vax and will stay, until someone (not me) cleans it up.

diffstat:

 distrib/sets/lists/modules/md.i386     |    6 +-
 sys/arch/i386/conf/ALL                 |    5 +-
 sys/arch/i386/conf/GENERIC             |    5 +-
 sys/arch/i386/conf/GENERIC_TINY        |    3 +-
 sys/arch/i386/conf/INSTALL_FLOPPY      |    3 +-
 sys/arch/i386/conf/INSTALL_TINY        |    3 +-
 sys/arch/i386/conf/MODULAR             |    3 +-
 sys/arch/i386/conf/NET4501             |    5 +-
 sys/arch/i386/conf/XEN3_DOM0           |    3 +-
 sys/arch/i386/conf/XEN3_DOMU           |    3 +-
 sys/arch/i386/conf/files.i386          |   10 +-
 sys/arch/i386/i386/compat_16_machdep.c |    6 +-
 sys/arch/i386/i386/ibcs2_machdep.c     |  200 ---------------------------------
 sys/arch/i386/i386/ibcs2_sigcode.S     |   91 ---------------
 sys/arch/i386/i386/ibcs2_syscall.c     |  150 ------------------------
 sys/modules/compat_ibcs2/Makefile      |    8 +-
 16 files changed, 21 insertions(+), 483 deletions(-)

diffs (truncated from 724 to 300 lines):

diff -r 1f4a67910ea8 -r 4efe6b08c0f3 distrib/sets/lists/modules/md.i386
--- a/distrib/sets/lists/modules/md.i386        Wed Aug 09 18:44:32 2017 +0000
+++ b/distrib/sets/lists/modules/md.i386        Wed Aug 09 18:45:30 2017 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: md.i386,v 1.74 2017/08/01 17:04:06 maya Exp $
+# $NetBSD: md.i386,v 1.75 2017/08/09 18:45:30 maxv Exp $
 #
 # NOTE that there are three sets of files here:
 # @MODULEDIR@, i386-xen, and i386pae-xen
@@ -52,8 +52,8 @@
 ./@MODULEDIR@/cac_eisa/cac_eisa.kmod           base-obsolete           obsolete
 ./@MODULEDIR@/compat_freebsd                   base-kernel-modules     kmod
 ./@MODULEDIR@/compat_freebsd/compat_freebsd.kmod       base-kernel-modules     kmod
-./@MODULEDIR@/compat_ibcs2                     base-kernel-modules     kmod
-./@MODULEDIR@/compat_ibcs2/compat_ibcs2.kmod   base-kernel-modules     kmod
+./@MODULEDIR@/compat_ibcs2                     base-obsolete           obsolete
+./@MODULEDIR@/compat_ibcs2/compat_ibcs2.kmod   base-obsolete           obsolete
 ./@MODULEDIR@/compat_linux                     base-kernel-modules     kmod
 ./@MODULEDIR@/compat_linux/compat_linux.kmod   base-kernel-modules     kmod
 ./@MODULEDIR@/compat_svr4                      base-obsolete           obsolete
diff -r 1f4a67910ea8 -r 4efe6b08c0f3 sys/arch/i386/conf/ALL
--- a/sys/arch/i386/conf/ALL    Wed Aug 09 18:44:32 2017 +0000
+++ b/sys/arch/i386/conf/ALL    Wed Aug 09 18:45:30 2017 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: ALL,v 1.424 2017/07/29 18:08:58 maxv Exp $
+# $NetBSD: ALL,v 1.425 2017/08/09 18:45:30 maxv Exp $
 # From NetBSD: GENERIC,v 1.787 2006/10/01 18:37:54 bouyer Exp
 #
 # ALL machine description file
@@ -17,7 +17,7 @@
 
 options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident         "ALL-$Revision: 1.424 $"
+#ident         "ALL-$Revision: 1.425 $"
 
 maxusers       64              # estimated number of users
 
@@ -148,7 +148,6 @@
 options        COMPAT_386BSD_MBRPART # recognize old partition ID
 
 options        COMPAT_OSSAUDIO # OSS (Voxware) audio driver compatibility
-options        COMPAT_IBCS2    # binary compatibility with SCO and ISC
 options        COMPAT_LINUX    # binary compatibility with Linux
 options        COMPAT_FREEBSD  # binary compatibility with FreeBSD
 options        COMPAT_NDIS     # NDIS network driver
diff -r 1f4a67910ea8 -r 4efe6b08c0f3 sys/arch/i386/conf/GENERIC
--- a/sys/arch/i386/conf/GENERIC        Wed Aug 09 18:44:32 2017 +0000
+++ b/sys/arch/i386/conf/GENERIC        Wed Aug 09 18:45:30 2017 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.1163 2017/08/04 09:30:19 maxv Exp $
+# $NetBSD: GENERIC,v 1.1164 2017/08/09 18:45:30 maxv Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@
 
 options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident         "GENERIC-$Revision: 1.1163 $"
+#ident         "GENERIC-$Revision: 1.1164 $"
 
 maxusers       64              # estimated number of users
 
@@ -143,7 +143,6 @@
 #options       COMPAT_386BSD_MBRPART # recognize old partition ID
 
 options        COMPAT_OSSAUDIO # OSS (Voxware) audio driver compatibility
-#options       COMPAT_IBCS2    # binary compatibility with SCO and ISC
 options        COMPAT_LINUX    # binary compatibility with Linux
 #options       COMPAT_FREEBSD  # binary compatibility with FreeBSD
 #options       COMPAT_NDIS     # NDIS network driver
diff -r 1f4a67910ea8 -r 4efe6b08c0f3 sys/arch/i386/conf/GENERIC_TINY
--- a/sys/arch/i386/conf/GENERIC_TINY   Wed Aug 09 18:44:32 2017 +0000
+++ b/sys/arch/i386/conf/GENERIC_TINY   Wed Aug 09 18:45:30 2017 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: GENERIC_TINY,v 1.152 2017/07/31 15:43:33 maxv Exp $
+#      $NetBSD: GENERIC_TINY,v 1.153 2017/08/09 18:45:30 maxv Exp $
 #
 #      GENERIC_TINY -- suitable default for 4M machines
 #                      No EISA, PCI, or SCSI.
@@ -75,7 +75,6 @@
 #options       COMPAT_43       # 4.3BSD, 386BSD, and BSDI
 #options       COMPAT_386BSD_MBRPART # recognize old partition ID
 
-#options       COMPAT_IBCS2    # binary compatibility with SCO and ISC
 #options       COMPAT_LINUX    # binary compatibility with Linux
 #options       COMPAT_FREEBSD  # binary compatibility with FreeBSD
 options        COMPAT_BSDPTY   # /dev/[pt]ty?? ptys.
diff -r 1f4a67910ea8 -r 4efe6b08c0f3 sys/arch/i386/conf/INSTALL_FLOPPY
--- a/sys/arch/i386/conf/INSTALL_FLOPPY Wed Aug 09 18:44:32 2017 +0000
+++ b/sys/arch/i386/conf/INSTALL_FLOPPY Wed Aug 09 18:45:30 2017 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: INSTALL_FLOPPY,v 1.39 2017/07/29 18:08:58 maxv Exp $
+#      $NetBSD: INSTALL_FLOPPY,v 1.40 2017/08/09 18:45:30 maxv Exp $
 #
 #      INSTALL - Installation kernel.
 #
@@ -97,7 +97,6 @@
 #options       COMPAT_43       # 4.3BSD, 386BSD, and BSDI
 #options       COMPAT_386BSD_MBRPART # recognize old partition ID
 
-#options       COMPAT_IBCS2    # binary compatibility with SCO and ISC
 #options       COMPAT_LINUX    # binary compatibility with Linux
 #options       COMPAT_FREEBSD  # binary compatibility with FreeBSD
 options        COMPAT_BSDPTY   # /dev/[pt]ty?? ptys.
diff -r 1f4a67910ea8 -r 4efe6b08c0f3 sys/arch/i386/conf/INSTALL_TINY
--- a/sys/arch/i386/conf/INSTALL_TINY   Wed Aug 09 18:44:32 2017 +0000
+++ b/sys/arch/i386/conf/INSTALL_TINY   Wed Aug 09 18:45:30 2017 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: INSTALL_TINY,v 1.152 2017/07/29 18:08:58 maxv Exp $
+#      $NetBSD: INSTALL_TINY,v 1.153 2017/08/09 18:45:30 maxv Exp $
 #
 #      This kernel should be derived from INSTALL (which is derived
 #      from GENERIC) with some features commented out.
@@ -84,7 +84,6 @@
 #options       COMPAT_43       # 4.3BSD, 386BSD, and BSDI compatibility.
 #options       COMPAT_386BSD_MBRPART # recognize old partition ID
 
-#options       COMPAT_IBCS2    # binary compatibility with SCO and ISC
 #options       COMPAT_LINUX    # binary compatibility with Linux
 #options       COMPAT_FREEBSD  # binary compatibility with FreeBSD
 options        COMPAT_BSDPTY   # /dev/[pt]ty?? ptys.
diff -r 1f4a67910ea8 -r 4efe6b08c0f3 sys/arch/i386/conf/MODULAR
--- a/sys/arch/i386/conf/MODULAR        Wed Aug 09 18:44:32 2017 +0000
+++ b/sys/arch/i386/conf/MODULAR        Wed Aug 09 18:45:30 2017 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: MODULAR,v 1.4 2017/07/29 12:00:56 maxv Exp $
+# $NetBSD: MODULAR,v 1.5 2017/08/09 18:45:30 maxv Exp $
 #
 # MODULAR kernel
 # This kernel config prefers loading kernel drivers from file system.
@@ -15,7 +15,6 @@
 # compatibility options, built as modules
 #
 no options     COMPAT_OSSAUDIO # OSS (Voxware) audio driver compatibility
-no options     COMPAT_IBCS2    # binary compatibility with SCO and ISC
 no options     COMPAT_LINUX    # binary compatibility with Linux
 
 # build non boot critical file systems as modules
diff -r 1f4a67910ea8 -r 4efe6b08c0f3 sys/arch/i386/conf/NET4501
--- a/sys/arch/i386/conf/NET4501        Wed Aug 09 18:44:32 2017 +0000
+++ b/sys/arch/i386/conf/NET4501        Wed Aug 09 18:45:30 2017 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: NET4501,v 1.95 2017/07/31 15:43:33 maxv Exp $
+# $NetBSD: NET4501,v 1.96 2017/08/09 18:45:30 maxv Exp $
 #
 # NET4501 -- kernel configuration for a Soekris Engineering net4501
 # single-board computer.
@@ -10,7 +10,7 @@
 
 #options       INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident                 "NET4501-$Revision: 1.95 $"
+#ident                 "NET4501-$Revision: 1.96 $"
 
 maxusers       32              # estimated number of users
 
@@ -95,7 +95,6 @@
 #options       COMPAT_43       # 4.3BSD, 386BSD, and BSDI compatibility.
 options        COMPAT_386BSD_MBRPART # recognize old partition ID
 
-#options       COMPAT_IBCS2    # binary compatibility with SCO and ISC
 #options       COMPAT_LINUX    # binary compatibility with Linux
 #options       COMPAT_FREEBSD  # binary compatibility with FreeBSD
 options        COMPAT_BSDPTY   # /dev/[pt]ty?? ptys.
diff -r 1f4a67910ea8 -r 4efe6b08c0f3 sys/arch/i386/conf/XEN3_DOM0
--- a/sys/arch/i386/conf/XEN3_DOM0      Wed Aug 09 18:44:32 2017 +0000
+++ b/sys/arch/i386/conf/XEN3_DOM0      Wed Aug 09 18:45:30 2017 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: XEN3_DOM0,v 1.118 2017/07/31 15:43:33 maxv Exp $
+#      $NetBSD: XEN3_DOM0,v 1.119 2017/08/09 18:45:30 maxv Exp $
 #
 #      XEN3_0: Xen 3.0 domain0 kernel
 
@@ -96,7 +96,6 @@
 #options       COMPAT_386BSD_MBRPART # recognize old partition ID
 
 options        COMPAT_OSSAUDIO # OSS (Voxware) audio driver compatibility
-#options       COMPAT_IBCS2    # binary compatibility with SCO and ISC
 options        COMPAT_LINUX    # binary compatibility with Linux
 #options       COMPAT_FREEBSD  # binary compatibility with FreeBSD
 options        COMPAT_BSDPTY   # /dev/[pt]ty?? ptys.
diff -r 1f4a67910ea8 -r 4efe6b08c0f3 sys/arch/i386/conf/XEN3_DOMU
--- a/sys/arch/i386/conf/XEN3_DOMU      Wed Aug 09 18:44:32 2017 +0000
+++ b/sys/arch/i386/conf/XEN3_DOMU      Wed Aug 09 18:45:30 2017 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: XEN3_DOMU,v 1.82 2017/07/31 15:43:33 maxv Exp $
+# $NetBSD: XEN3_DOMU,v 1.83 2017/08/09 18:45:30 maxv Exp $
 
 include        "arch/xen/conf/std.xen"
 
@@ -80,7 +80,6 @@
 #options       COMPAT_386BSD_MBRPART # recognize old partition ID
 
 options        COMPAT_OSSAUDIO # OSS (Voxware) audio driver compatibility
-#options       COMPAT_IBCS2    # binary compatibility with SCO and ISC
 options        COMPAT_LINUX    # binary compatibility with Linux
 #options       COMPAT_FREEBSD  # binary compatibility with FreeBSD
 options        COMPAT_BSDPTY   # /dev/[pt]ty?? ptys.
diff -r 1f4a67910ea8 -r 4efe6b08c0f3 sys/arch/i386/conf/files.i386
--- a/sys/arch/i386/conf/files.i386     Wed Aug 09 18:44:32 2017 +0000
+++ b/sys/arch/i386/conf/files.i386     Wed Aug 09 18:45:30 2017 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files.i386,v 1.383 2017/08/01 14:43:54 maxv Exp $
+#      $NetBSD: files.i386,v 1.384 2017/08/09 18:45:30 maxv Exp $
 #
 # new style config file for i386 architecture
 #
@@ -323,13 +323,7 @@
 
 # Binary compatibility with previous NetBSD releases (COMPAT_XX)
 file   arch/i386/i386/compat_13_machdep.c      compat_13
-file   arch/i386/i386/compat_16_machdep.c      compat_16 | compat_ibcs2
-
-# iBCS-2 binary compatibility (COMPAT_IBCS2)
-include        "compat/ibcs2/files.ibcs2"
-file   arch/i386/i386/ibcs2_machdep.c          compat_ibcs2
-file   arch/i386/i386/ibcs2_sigcode.S          compat_ibcs2
-file   arch/i386/i386/ibcs2_syscall.c          compat_ibcs2
+file   arch/i386/i386/compat_16_machdep.c      compat_16
 
 # Linux binary compatibility (COMPAT_LINUX)
 include        "compat/linux/files.linux"
diff -r 1f4a67910ea8 -r 4efe6b08c0f3 sys/arch/i386/i386/compat_16_machdep.c
--- a/sys/arch/i386/i386/compat_16_machdep.c    Wed Aug 09 18:44:32 2017 +0000
+++ b/sys/arch/i386/i386/compat_16_machdep.c    Wed Aug 09 18:45:30 2017 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: compat_16_machdep.c,v 1.26 2014/02/19 21:23:01 dsl Exp $       */
+/*     $NetBSD: compat_16_machdep.c,v 1.27 2017/08/09 18:45:30 maxv Exp $      */
 
 /*-
  * Copyright (c) 1996, 1997, 1998, 2000 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: compat_16_machdep.c,v 1.26 2014/02/19 21:23:01 dsl Exp $");
+__KERNEL_RCSID(0, "$NetBSD: compat_16_machdep.c,v 1.27 2017/08/09 18:45:30 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_vm86.h"
@@ -57,7 +57,7 @@
 #include <machine/vmparam.h>
 #include <x86/fpu.h>
 
-#if defined(COMPAT_16) || defined(COMPAT_IBCS2)
+#if defined(COMPAT_16)
 
 #include <compat/sys/signal.h>
 #include <compat/sys/signalvar.h>
diff -r 1f4a67910ea8 -r 4efe6b08c0f3 sys/arch/i386/i386/ibcs2_machdep.c
--- a/sys/arch/i386/i386/ibcs2_machdep.c        Wed Aug 09 18:44:32 2017 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +0,0 @@
-/*     $NetBSD: ibcs2_machdep.c,v 1.44 2014/02/23 22:35:27 dsl Exp $   */
-
-/*-
- * Copyright (c) 1997, 2000 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Charles M. Hannum.
- *
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ibcs2_machdep.c,v 1.44 2014/02/23 22:35:27 dsl Exp $");
-
-#if defined(_KERNEL_OPT)
-#include "opt_vm86.h"
-#include "opt_compat_ibcs2.h"
-#endif
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/proc.h>
-#include <sys/exec.h>
-#include <sys/signalvar.h>
-#include <sys/signal.h>



Home | Main Index | Thread Index | Old Index