summaryrefslogtreecommitdiff
path: root/lib/libarch/i386
diff options
context:
space:
mode:
authorPhilip Guenther <guenther@cvs.openbsd.org>2016-03-24 04:56:09 +0000
committerPhilip Guenther <guenther@cvs.openbsd.org>2016-03-24 04:56:09 +0000
commit06456ba3b2aeb195a33e45543899cd6635970735 (patch)
tree2c48eef06101fb5e0601d10a7e5093701a2b8590 /lib/libarch/i386
parentde55781ae318a6442cab130d6d09ec19efc89ef2 (diff)
Delete i386_{get,set}_ioperm(2) APIs and underlying sysarch(2) bits.
They're no longer used by anything and should let us simplify the TSS handling. ok mikeb@ naddy@
Diffstat (limited to 'lib/libarch/i386')
-rw-r--r--lib/libarch/i386/Makefile10
-rw-r--r--lib/libarch/i386/i386_get_ioperm.2122
-rw-r--r--lib/libarch/i386/i386_get_ioperm.c46
-rw-r--r--lib/libarch/i386/i386_set_ioperm.c46
4 files changed, 4 insertions, 220 deletions
diff --git a/lib/libarch/i386/Makefile b/lib/libarch/i386/Makefile
index 873c20531ef..0a1aa651f61 100644
--- a/lib/libarch/i386/Makefile
+++ b/lib/libarch/i386/Makefile
@@ -1,18 +1,16 @@
-# $OpenBSD: Makefile,v 1.8 2016/03/03 12:41:29 naddy Exp $
+# $OpenBSD: Makefile,v 1.9 2016/03/24 04:56:08 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_get_ioperm.2 \
- i386_vm86.2
+ i386_iopl.2 i386_vm86.2
MANSUBDIR=i386
MLINKS+=i386_get_fsbase.2 i386_set_fsbase.2 \
- i386_get_gsbase.2 i386_set_gsbase.2 \
- i386_get_ioperm.2 i386_set_ioperm.2
+ i386_get_gsbase.2 i386_set_gsbase.2
.if ${MACHINE} == "i386"
.PATH: ${LIBC}/i386
NOPIC=
-SRCS+= i386_iopl.c i386_get_ioperm.c i386_set_ioperm.c \
+SRCS+= i386_iopl.c \
i386_get_fsbase.c i386_get_gsbase.c \
i386_set_fsbase.c i386_set_gsbase.c \
i386_vm86.c
diff --git a/lib/libarch/i386/i386_get_ioperm.2 b/lib/libarch/i386/i386_get_ioperm.2
deleted file mode 100644
index 997ea04e57d..00000000000
--- a/lib/libarch/i386/i386_get_ioperm.2
+++ /dev/null
@@ -1,122 +0,0 @@
-.\" $OpenBSD: i386_get_ioperm.2,v 1.16 2015/09/10 17:55:21 schwarze Exp $
-.\" $NetBSD: i386_get_ioperm.2,v 1.3 1996/02/27 22:57:17 jtc Exp $
-.\"
-.\" Copyright (c) 1996 The NetBSD Foundation, Inc.
-.\" All rights reserved.
-.\"
-.\" This code is derived from software contributed to The NetBSD Foundation
-.\" by John T. Kohl and 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 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.
-.\"
-.Dd $Mdocdate: September 10 2015 $
-.Dt I386_GET_IOPERM 2 i386
-.Os
-.Sh NAME
-.Nm i386_get_ioperm ,
-.Nm i386_set_ioperm
-.Nd manage i386 per-process I/O permission bitmap
-.Sh SYNOPSIS
-.In sys/types.h
-.In machine/sysarch.h
-.Ft int
-.Fn i386_get_ioperm "u_long *iomap"
-.Ft int
-.Fn i386_set_ioperm "u_long *iomap"
-.Sh DESCRIPTION
-.Fn i386_get_ioperm
-copies the current I/O permission bitmap into the memory referenced by
-.Fa iomap .
-.Pp
-.Fn i386_set_ioperm
-sets the I/O permission bitmap from the data pointed to by
-.Fa iomap .
-This call may only be made by the superuser.
-Additionally, it is only permitted when the
-.Xr securelevel 7
-is less than or equal to 0 or the
-.Va machdep.allowaperture
-sysctl has been set to a non-zero value.
-.Pp
-The permission bitmap contains 1024 bits in 32 longwords.
-If bit
-.Va n
-is clear in the bitmap, then access is granted to I/O port
-.Va n .
-If bit
-.Va n
-is set in the bitmap, then an attempt to access I/O port
-.Va n
-results in delivery of a
-.Dv SIGBUS
-signal unless the process's I/O permission level would grant I/O access.
-.Pp
-.Sy Note:
-Code using the
-.Fn i386_get_ioperm
-and
-.Fn i386_set_ioperm
-functions must be compiled using
-.Cm -li386 .
-.Sh RETURN VALUES
-Upon successful completion,
-.Fn i386_get_ioperm
-and
-.Fn i386_set_ioperm
-return 0.
-Otherwise, a value of \-1 is returned and the global variable
-.Va errno
-is set to indicate the error.
-.Sh ERRORS
-.Fn i386_get_ioperm
-and
-.Fn i386_set_ioperm
-will fail if:
-.Bl -tag -width [EINVAL]
-.It Bq Er EFAULT
-.Fa iomap
-points outside the process's allocated address space.
-.El
-.Pp
-Additionally
-.Fn i386_set_ioperm
-will fail if:
-.Bl -tag -width [EINVAL]
-.It Bq Er EPERM
-The caller was not the superuser, or the securelevel is greater than zero and
-.Va machdep.allowaperture
-has not been set to a non-zero value.
-.El
-.Sh SEE ALSO
-.Xr i386_iopl 2
-.Rs
-.%A Intel
-.%T i386 Microprocessor Programmer's Reference Manual
-.Re
-.Sh WARNING
-You can really hose your machine if you enable user-level I/O and
-write to hardware ports without care.
-.Sh BUGS
-The bitmap should really cover 65536 bits, but that's just too big for
-allocation in a kernel structure.
-If you need access to ports beyond 1024, use
-.Xr i386_iopl 2 .
diff --git a/lib/libarch/i386/i386_get_ioperm.c b/lib/libarch/i386/i386_get_ioperm.c
deleted file mode 100644
index 790672b18c4..00000000000
--- a/lib/libarch/i386/i386_get_ioperm.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* $OpenBSD: i386_get_ioperm.c,v 1.8 2016/02/01 19:58:44 jca Exp $ */
-/* $NetBSD: i386_get_ioperm.c,v 1.2 1996/02/27 22:57:22 jtc Exp $ */
-
-/*-
- * Copyright (c) 1996 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by John T. Kohl and 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 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/segments.h>
-#include <machine/sysarch.h>
-
-int
-i386_get_ioperm(u_long *iomap)
-{
- struct i386_get_ioperm_args p;
-
- p.iomap = iomap;
-
- return sysarch(I386_GET_IOPERM, &p);
-}
diff --git a/lib/libarch/i386/i386_set_ioperm.c b/lib/libarch/i386/i386_set_ioperm.c
deleted file mode 100644
index 6f477c90ef1..00000000000
--- a/lib/libarch/i386/i386_set_ioperm.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* $OpenBSD: i386_set_ioperm.c,v 1.8 2016/02/01 19:58:44 jca Exp $ */
-/* $NetBSD: i386_set_ioperm.c,v 1.2 1996/02/27 22:57:31 jtc Exp $ */
-
-/*-
- * Copyright (c) 1996 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by John T. Kohl and 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 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/segments.h>
-#include <machine/sysarch.h>
-
-int
-i386_set_ioperm(u_long *iomap)
-{
- struct i386_set_ioperm_args p;
-
- p.iomap = iomap;
-
- return sysarch(I386_SET_IOPERM, &p);
-}