Module Name: src
Committed By: maxv
Date: Sat Jul 29 11:54:14 UTC 2017
Modified Files:
src/sys/arch/i386/conf: files.i386
src/sys/arch/i386/i386: locore.S machdep.c
src/sys/arch/xen/conf: files.xen
Removed Files:
src/sys/arch/i386/i386: svr4_machdep.c svr4_sigcode.S svr4_syscall.c
Log Message:
Drop support for svr4 on i386. This feature is not maintained, not
reliable, and of a limited use case. Most svr4 applications got time to be
ported to linux, and we do have a functional, maintained linux emulation.
Reduces the number of entry points into the kernel, the number of
places that need special care (cpu context).
Note that compat_svr4 is still available on sparc.
To generate a diff of this commit:
cvs rdiff -u -r1.380 -r1.381 src/sys/arch/i386/conf/files.i386
cvs rdiff -u -r1.147 -r1.148 src/sys/arch/i386/i386/locore.S
cvs rdiff -u -r1.786 -r1.787 src/sys/arch/i386/i386/machdep.c
cvs rdiff -u -r1.99 -r0 src/sys/arch/i386/i386/svr4_machdep.c
cvs rdiff -u -r1.13 -r0 src/sys/arch/i386/i386/svr4_sigcode.S
cvs rdiff -u -r1.48 -r0 src/sys/arch/i386/i386/svr4_syscall.c
cvs rdiff -u -r1.149 -r1.150 src/sys/arch/xen/conf/files.xen
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/i386/conf/files.i386
diff -u src/sys/arch/i386/conf/files.i386:1.380 src/sys/arch/i386/conf/files.i386:1.381
--- src/sys/arch/i386/conf/files.i386:1.380 Sat Jul 29 06:29:31 2017
+++ src/sys/arch/i386/conf/files.i386 Sat Jul 29 11:54:14 2017
@@ -1,4 +1,4 @@
-# $NetBSD: files.i386,v 1.380 2017/07/29 06:29:31 maxv Exp $
+# $NetBSD: files.i386,v 1.381 2017/07/29 11:54:14 maxv Exp $
#
# new style config file for i386 architecture
#
@@ -327,9 +327,6 @@ file arch/i386/i386/compat_16_machdep.c
# SVR4 binary compatibility (COMPAT_SVR4)
include "compat/svr4/files.svr4"
-file arch/i386/i386/svr4_machdep.c compat_svr4
-file arch/i386/i386/svr4_sigcode.S compat_svr4
-file arch/i386/i386/svr4_syscall.c compat_svr4
# iBCS-2 binary compatibility (COMPAT_IBCS2)
include "compat/ibcs2/files.ibcs2"
Index: src/sys/arch/i386/i386/locore.S
diff -u src/sys/arch/i386/i386/locore.S:1.147 src/sys/arch/i386/i386/locore.S:1.148
--- src/sys/arch/i386/i386/locore.S:1.147 Sat Jul 29 06:29:31 2017
+++ src/sys/arch/i386/i386/locore.S Sat Jul 29 11:54:14 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.S,v 1.147 2017/07/29 06:29:31 maxv Exp $ */
+/* $NetBSD: locore.S,v 1.148 2017/07/29 11:54:14 maxv Exp $ */
/*
* Copyright-o-rama!
@@ -128,7 +128,7 @@
*/
#include <machine/asm.h>
-__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.147 2017/07/29 06:29:31 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.148 2017/07/29 11:54:14 maxv Exp $");
#include "opt_copy_symtab.h"
#include "opt_ddb.h"
@@ -1330,39 +1330,6 @@ IDTVEC(syscall)
jmp .Lsyscall_checkast /* re-check ASTs */
IDTVEC_END(syscall)
-IDTVEC(svr4_fasttrap)
- pushl $2 /* size of instruction for restart */
- pushl $T_ASTFLT /* trap # for doing ASTs */
- INTRENTRY
- STI(%eax)
- pushl $RW_READER
- pushl $_C_LABEL(svr4_fasttrap_lock)
- call _C_LABEL(rw_enter)
- addl $8,%esp
- call *_C_LABEL(svr4_fasttrap_vec)
- pushl $_C_LABEL(svr4_fasttrap_lock)
- call _C_LABEL(rw_exit)
- addl $4,%esp
-2: /* Check for ASTs on exit to user mode. */
- cli
- CHECK_ASTPENDING(%eax)
- je 1f
- /* Always returning to user mode here. */
- CLEAR_ASTPENDING(%eax)
- sti
- /* Pushed T_ASTFLT into tf_trapno on entry. */
- pushl %esp
- call _C_LABEL(trap)
- addl $4,%esp
- jmp 2b
-1: CHECK_DEFERRED_SWITCH
- jnz 9f
- INTRFASTEXIT
-9: sti
- call _C_LABEL(pmap_load)
- cli
- jmp 2b
-
/*
* int npx586bug1(int a, int b)
* Used when checking for the FDIV bug on first generations pentiums.
Index: src/sys/arch/i386/i386/machdep.c
diff -u src/sys/arch/i386/i386/machdep.c:1.786 src/sys/arch/i386/i386/machdep.c:1.787
--- src/sys/arch/i386/i386/machdep.c:1.786 Sat Jul 29 06:29:32 2017
+++ src/sys/arch/i386/i386/machdep.c Sat Jul 29 11:54:14 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.786 2017/07/29 06:29:32 maxv Exp $ */
+/* $NetBSD: machdep.c,v 1.787 2017/07/29 11:54:14 maxv Exp $ */
/*-
* Copyright (c) 1996, 1997, 1998, 2000, 2004, 2006, 2008, 2009
@@ -67,13 +67,12 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.786 2017/07/29 06:29:32 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.787 2017/07/29 11:54:14 maxv Exp $");
#include "opt_beep.h"
#include "opt_compat_ibcs2.h"
#include "opt_compat_freebsd.h"
#include "opt_compat_netbsd.h"
-#include "opt_compat_svr4.h"
#include "opt_cpureset_delay.h"
#include "opt_ddb.h"
#include "opt_ipkdb.h"
@@ -923,9 +922,6 @@ setsegment(struct segment_descriptor *sd
typedef void (vector)(void);
extern vector IDTVEC(syscall);
extern vector *IDTVEC(exceptions)[];
-extern vector IDTVEC(svr4_fasttrap);
-void (*svr4_fasttrap_vec)(void) = (void (*)(void))nullop;
-krwlock_t svr4_fasttrap_lock;
#ifdef XEN
#define MAX_XEN_IDT 128
trap_info_t xen_idt[MAX_XEN_IDT];
@@ -1295,9 +1291,6 @@ init386(paddr_t first_avail)
idt_vec_reserve(128);
setgate(&idt[128], &IDTVEC(syscall), 0, SDT_SYS386IGT, SEL_UPL,
GSEL(GCODE_SEL, SEL_KPL));
- idt_vec_reserve(0xd2);
- setgate(&idt[0xd2], &IDTVEC(svr4_fasttrap), 0, SDT_SYS386IGT,
- SEL_UPL, GSEL(GCODE_SEL, SEL_KPL));
setregion(®ion, gdtstore, NGDT * sizeof(gdtstore[0]) - 1);
lgdt(®ion);
@@ -1336,11 +1329,6 @@ init386(paddr_t first_avail)
xen_idt[xen_idt_idx].address = (uint32_t)&IDTVEC(syscall);
xen_idt_idx++;
KASSERT(xen_idt_idx < MAX_XEN_IDT);
- xen_idt[xen_idt_idx].vector = 0xd2;
- xen_idt[xen_idt_idx].flags = SEL_UPL;
- xen_idt[xen_idt_idx].cs = GSEL(GCODE_SEL, SEL_KPL);
- xen_idt[xen_idt_idx].address = (uint32_t)&IDTVEC(svr4_fasttrap);
- xen_idt_idx++;
lldt(GSEL(GLDT_SEL, SEL_KPL));
cpu_init_idt();
#endif /* XEN */
@@ -1390,8 +1378,6 @@ init386(paddr_t first_avail)
cngetc();
}
- rw_init(&svr4_fasttrap_lock);
-
pcb->pcb_dbregs = NULL;
x86_dbregs_setup_initdbstate();
Index: src/sys/arch/xen/conf/files.xen
diff -u src/sys/arch/xen/conf/files.xen:1.149 src/sys/arch/xen/conf/files.xen:1.150
--- src/sys/arch/xen/conf/files.xen:1.149 Sun Jul 16 14:02:48 2017
+++ src/sys/arch/xen/conf/files.xen Sat Jul 29 11:54:14 2017
@@ -1,4 +1,4 @@
-# $NetBSD: files.xen,v 1.149 2017/07/16 14:02:48 cherry Exp $
+# $NetBSD: files.xen,v 1.150 2017/07/29 11:54:14 maxv Exp $
# NetBSD: files.x86,v 1.10 2003/10/08 17:30:00 bouyer Exp
# NetBSD: files.i386,v 1.254 2004/03/25 23:32:10 jmc Exp
@@ -321,9 +321,6 @@ file arch/i386/i386/compat_16_machdep.c
# SVR4 binary compatibility (COMPAT_SVR4)
include "compat/svr4/files.svr4"
-file arch/i386/i386/svr4_machdep.c compat_svr4
-file arch/i386/i386/svr4_sigcode.S compat_svr4
-file arch/i386/i386/svr4_syscall.c compat_svr4
# iBCS-2 binary compatibility (COMPAT_IBCS2)
include "compat/ibcs2/files.ibcs2"