summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortedu <tedu@openbsd.org>2013-05-05 19:27:23 +0000
committertedu <tedu@openbsd.org>2013-05-05 19:27:23 +0000
commit3664a07211f2e8ef1ec727fb7bdb927b0f609a6e (patch)
tree9155583a76935eb5f6c51cfab0c18fd116484fe9
parentremove never used get/set ioperm sysarch functions. ok guenther (diff)
downloadwireguard-openbsd-3664a07211f2e8ef1ec727fb7bdb927b0f609a6e.tar.xz
wireguard-openbsd-3664a07211f2e8ef1ec727fb7bdb927b0f609a6e.zip
remove never implemented amd64 get/set ioperm sysarch. ok guenther
-rw-r--r--lib/libarch/amd64/Makefile11
-rw-r--r--lib/libarch/amd64/amd64_get_ioperm.2109
-rw-r--r--lib/libarch/amd64/amd64_get_ioperm.c48
-rw-r--r--lib/libarch/amd64/amd64_iopl.26
-rw-r--r--lib/libarch/amd64/amd64_set_ioperm.c48
5 files changed, 6 insertions, 216 deletions
diff --git a/lib/libarch/amd64/Makefile b/lib/libarch/amd64/Makefile
index c9c7b61baa9..bc11cd2ec78 100644
--- a/lib/libarch/amd64/Makefile
+++ b/lib/libarch/amd64/Makefile
@@ -1,17 +1,14 @@
-# $OpenBSD: Makefile,v 1.10 2011/04/13 02:49:12 guenther Exp $
+# $OpenBSD: Makefile,v 1.11 2013/05/05 19:27:23 tedu Exp $
# $NetBSD: Makefile,v 1.1 1996/02/21 02:45:47 jtk Exp $
MANSUBDIR=amd64
-MAN+= amd64_iopl.2 amd64_get_ioperm.2 \
- amd64_get_fsbase.2
-MLINKS+=amd64_get_ioperm.2 amd64_set_ioperm.2 \
- amd64_get_fsbase.2 amd64_set_fsbase.2
+MAN+= amd64_iopl.2 amd64_get_fsbase.2
+MLINKS+=amd64_get_fsbase.2 amd64_set_fsbase.2
.if ${MACHINE_ARCH} == "amd64"
.PATH: ${LIBC}/amd64
NOPIC=
-SRCS+= amd64_iopl.c amd64_get_ioperm.c amd64_set_ioperm.c \
- amd64_get_fsbase.c amd64_set_fsbase.c
+SRCS+= amd64_iopl.c amd64_get_fsbase.c amd64_set_fsbase.c
.include <bsd.lib.mk>
.else
NOPROG=
diff --git a/lib/libarch/amd64/amd64_get_ioperm.2 b/lib/libarch/amd64/amd64_get_ioperm.2
deleted file mode 100644
index 1885301deee..00000000000
--- a/lib/libarch/amd64/amd64_get_ioperm.2
+++ /dev/null
@@ -1,109 +0,0 @@
-.\" $OpenBSD: amd64_get_ioperm.2,v 1.4 2008/06/26 05:42:04 ray Exp $
-.\" $NetBSD: amd64_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: June 26 2008 $
-.Dt AMD64_GET_IOPERM 2 amd64
-.Os
-.Sh NAME
-.Nm amd64_get_ioperm ,
-.Nm amd64_set_ioperm
-.Nd manage amd64 per-process I/O permission bitmap
-.Sh SYNOPSIS
-.Fd #include <sys/types.h>
-.Fd #include <machine/sysarch.h>
-.Ft int
-.Fn amd64_get_ioperm "u_long *iomap"
-.Ft int
-.Fn amd64_set_ioperm "u_long *iomap"
-.Sh DESCRIPTION
-.Fn amd64_get_ioperm
-copies the current I/O permission bitmap into the memory referenced by
-.Fa iomap .
-.Pp
-.Fn amd64_set_ioperm
-sets the I/O permission bitmap from the data pointed to by
-.Fa iomap .
-This call is restricted to the superuser.
-.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 amd64_get_ioperm
-and
-.Fn amd64_set_ioperm
-functions must be compiled using
-.Cm -lamd64 .
-.Sh RETURN VALUES
-Upon successful completion,
-.Fn amd64_get_ioperm
-and
-.Fn amd64_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 amd64_get_ioperm
-and
-.Fn amd64_set_ioperm
-will fail if:
-.Bl -tag -width [EINVAL]
-.It Bq Er EFAULT
-.Fa iomap
-points outside the process's allocated address space.
-.It Bq Er EPERM
-The caller was not the superuser.
-.El
-.Sh SEE ALSO
-.Xr amd64_iopl 2
-.Rs
-.%A Intel
-.%T AMD64 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 amd64_iopl 2 .
diff --git a/lib/libarch/amd64/amd64_get_ioperm.c b/lib/libarch/amd64/amd64_get_ioperm.c
deleted file mode 100644
index e6da7cb0f92..00000000000
--- a/lib/libarch/amd64/amd64_get_ioperm.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* $OpenBSD: amd64_get_ioperm.c,v 1.3 2012/12/05 23:19:58 deraadt Exp $ */
-/* $NetBSD: amd64_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
-amd64_get_ioperm(iomap)
- u_long *iomap;
-{
- struct amd64_get_ioperm_args p;
-
- p.iomap = iomap;
-
- /* LINTED pointer casts may be troublesome */
- return sysarch(AMD64_GET_IOPERM, (char *)&p);
-}
diff --git a/lib/libarch/amd64/amd64_iopl.2 b/lib/libarch/amd64/amd64_iopl.2
index 066262ece28..c9e1559940f 100644
--- a/lib/libarch/amd64/amd64_iopl.2
+++ b/lib/libarch/amd64/amd64_iopl.2
@@ -1,4 +1,4 @@
-.\" $OpenBSD: amd64_iopl.2,v 1.6 2008/06/26 05:42:04 ray Exp $
+.\" $OpenBSD: amd64_iopl.2,v 1.7 2013/05/05 19:27:23 tedu Exp $
.\" $NetBSD: amd64_iopl.2,v 1.3 1996/02/27 22:57:25 jtc Exp $
.\"
.\" Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -28,7 +28,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd $Mdocdate: June 26 2008 $
+.Dd $Mdocdate: May 5 2013 $
.Dt AMD64_IOPL 2 amd64
.Os
.Sh NAME
@@ -74,8 +74,6 @@ The caller was not the superuser, or the securelevel is greater than zero and
has not been set to a non-zero value.
.El
.Sh SEE ALSO
-.Xr amd64_get_ioperm 2 ,
-.Xr amd64_set_ioperm 2 ,
.Xr securelevel 7
.Sh REFERENCES
.Rs
diff --git a/lib/libarch/amd64/amd64_set_ioperm.c b/lib/libarch/amd64/amd64_set_ioperm.c
deleted file mode 100644
index 7b356cd7417..00000000000
--- a/lib/libarch/amd64/amd64_set_ioperm.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* $OpenBSD: amd64_set_ioperm.c,v 1.3 2012/12/05 23:19:58 deraadt Exp $ */
-/* $NetBSD: amd64_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
-amd64_set_ioperm(iomap)
- u_long *iomap;
-{
- struct amd64_set_ioperm_args p;
-
- p.iomap = iomap;
-
- /* LINTED pointer casts may be troublesome */
- return sysarch(AMD64_SET_IOPERM, (char *)&p);
-}