summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2018-07-09 19:20:29 +0000
committerguenther <guenther@openbsd.org>2018-07-09 19:20:29 +0000
commit960764935485e42eecc2d33c8bf51acf59b80cd3 (patch)
treeff4e05b0cd69265fe9f503d47e0f03fbbb4182e1 /lib
parentsync (diff)
downloadwireguard-openbsd-960764935485e42eecc2d33c8bf51acf59b80cd3.tar.xz
wireguard-openbsd-960764935485e42eecc2d33c8bf51acf59b80cd3.zip
Delete the VM86 kernel option and i386_vm86(3) API: it's required
a custom kernel for over 20 years. testing mlarkin@ ok deraadt@ phessler@ jca@ matthieu@
Diffstat (limited to 'lib')
-rw-r--r--lib/libarch/i386/Makefile7
-rw-r--r--lib/libarch/i386/i386_vm86.2110
-rw-r--r--lib/libarch/i386/i386_vm86.c45
3 files changed, 3 insertions, 159 deletions
diff --git a/lib/libarch/i386/Makefile b/lib/libarch/i386/Makefile
index 331aca20597..6a059004f5c 100644
--- a/lib/libarch/i386/Makefile
+++ b/lib/libarch/i386/Makefile
@@ -1,8 +1,8 @@
-# $OpenBSD: Makefile,v 1.10 2016/03/30 06:38:41 jmc Exp $
+# $OpenBSD: Makefile,v 1.11 2018/07/09 19:20:29 guenther Exp $
# $NetBSD: Makefile,v 1.1 1996/02/21 02:45:47 jtk Exp $
MAN+= i386_get_fsbase.2 i386_get_gsbase.2 \
- i386_iopl.2 i386_vm86.2
+ i386_iopl.2
MANSUBDIR=i386
.if ${MACHINE} == "i386"
@@ -10,8 +10,7 @@ MANSUBDIR=i386
NOPIC=
SRCS+= i386_iopl.c \
i386_get_fsbase.c i386_get_gsbase.c \
- i386_set_fsbase.c i386_set_gsbase.c \
- i386_vm86.c
+ i386_set_fsbase.c i386_set_gsbase.c
.include <bsd.lib.mk>
.else
NOPROG=
diff --git a/lib/libarch/i386/i386_vm86.2 b/lib/libarch/i386/i386_vm86.2
deleted file mode 100644
index 1c9bfa0cb6b..00000000000
--- a/lib/libarch/i386/i386_vm86.2
+++ /dev/null
@@ -1,110 +0,0 @@
-.\" $OpenBSD: i386_vm86.2,v 1.13 2015/09/10 17:55:21 schwarze Exp $
-.\" $NetBSD: i386_vm86.2,v 1.1 1996/02/21 00:21:52 jtk Exp $
-.\"
-.\" Copyright (c) 1996 The NetBSD Foundation, Inc.
-.\" All rights reserved.
-.\"
-.\" This code is derived from software contributed to The NetBSD Foundation
-.\" by John Kohl.
-.\"
-.\" 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 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: @(#)fork.2 6.5 (Berkeley) 3/10/91
-.\"
-.Dd $Mdocdate: September 10 2015 $
-.Dt I386_VM86 2 i386
-.Os
-.Sh NAME
-.Nm i386_vm86
-.Nd set virtual 8086 processor registers and mode
-.Sh SYNOPSIS
-.In sys/types.h
-.In signal.h
-.In machine/segments.h
-.In machine/sysarch.h
-.In machine/vm86.h
-.Ft int
-.Fn i386_vm86 "struct vm86_struct *vmcp"
-.Sh DESCRIPTION
-.Fn i386_vm86
-will set the process into virtual 8086 mode using the registers and
-selectors specified by the context pointed to by
-.Ar vmcp .
-The processor registers are set from
-.Ar vmcp->substr.regs ,
-and the emulated processor type from
-.Ar vmcp->substr.ss_cpu_type .
-.Pp
-The kernel keeps a pointer to the context, and uses the tables stored at
-.Ar vmcp->int_byuser
-and
-.Ar vmcp->int21_byuser
-for fast virtual interrupt handling.
-If the
-.Ar n Ns Li th
-bit is clear in the first of
-these arrays, then the kernel may directly emulate the real-mode x86 INT
-.Ar n
-instruction handling.
-If the
-.Ar n Ns Li th
-bit is set, then the process is
-delivered a signal when an INT instruction is executed.
-.Pp
-Since MS-DOS puts many DOS functions onto interrupt 21, it is handled
-specially: the
-.Ar k Ns Li th
-bit in the
-.Ar vmcp->int21_byuser
-array is checked when INT
-.Ar 21
-is requested and the
-.Ar ah
-register is
-.Ar k .
-.Pp
-.Sy Note:
-Code using the
-.Fn i386_vm86
-function must be compiled using
-.Cm -li386 .
-.Sh RETURN VALUES
-This routine does not normally return: 32-bit mode will be restored by
-the delivery of a signal to the process.
-In case of an error in setting
-the VM86 mode, a value of \-1 is returned and the global variable
-.Va errno
-is set to indicate the error.
-.Sh ERRORS
-.Fn i386_vm86
-will fail if:
-.Bl -tag -width [EINVAL]
-.It Bq Er EFAULT
-The state at
-.Ar vmcp
-was not readable to the user process.
-.El
-.Sh REFERENCES
-.Rs
-.%A Intel
-.%T i386 Microprocessor Programmer's Reference Manual
-.Re
diff --git a/lib/libarch/i386/i386_vm86.c b/lib/libarch/i386/i386_vm86.c
deleted file mode 100644
index 23f5d708340..00000000000
--- a/lib/libarch/i386/i386_vm86.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* $OpenBSD: i386_vm86.c,v 1.7 2016/02/01 19:58:44 jca Exp $ */
-/* $NetBSD: i386_vm86.c,v 1.1 1996/02/21 00:21:56 jtk Exp $ */
-
-/*-
- * Copyright (c) 1996 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by John Kohl.
- *
- * 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 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.
- */
-
-#include <sys/types.h>
-#include <machine/signal.h>
-#include <machine/segments.h>
-#include <machine/sysarch.h>
-#include <machine/vm86.h>
-
-int
-i386_vm86(struct vm86_struct *vmcp)
-{
-
- return sysarch(I386_VM86, vmcp);
-}
-