diff options
author | 2018-07-09 19:20:29 +0000 | |
---|---|---|
committer | 2018-07-09 19:20:29 +0000 | |
commit | 960764935485e42eecc2d33c8bf51acf59b80cd3 (patch) | |
tree | ff4e05b0cd69265fe9f503d47e0f03fbbb4182e1 /lib | |
parent | sync (diff) | |
download | wireguard-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/Makefile | 7 | ||||
-rw-r--r-- | lib/libarch/i386/i386_vm86.2 | 110 | ||||
-rw-r--r-- | lib/libarch/i386/i386_vm86.c | 45 |
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); -} - |