summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/libarch/amd64/Makefile9
-rw-r--r--lib/libarch/amd64/amd64_get_ldt.2124
-rw-r--r--lib/libarch/amd64/amd64_get_ldt.c50
-rw-r--r--lib/libarch/amd64/amd64_set_ldt.c50
-rw-r--r--share/man/man3/intro.35
5 files changed, 6 insertions, 232 deletions
diff --git a/lib/libarch/amd64/Makefile b/lib/libarch/amd64/Makefile
index 5e17493b768..53cc79a3095 100644
--- a/lib/libarch/amd64/Makefile
+++ b/lib/libarch/amd64/Makefile
@@ -1,16 +1,15 @@
-# $OpenBSD: Makefile,v 1.5 2004/02/28 23:51:35 deraadt Exp $
+# $OpenBSD: Makefile,v 1.6 2008/05/23 15:38:34 jasper Exp $
# $NetBSD: Makefile,v 1.1 1996/02/21 02:45:47 jtk Exp $
MANSUBDIR=amd64
-MAN+= amd64_get_ldt.2 amd64_iopl.2 amd64_get_ioperm.2 amd64_get_mtrr.2
-MLINKS+=amd64_get_ldt.2 amd64_set_ldt.2 \
- amd64_get_ioperm.2 amd64_set_ioperm.2 \
+MAN+= amd64_iopl.2 amd64_get_ioperm.2 amd64_get_mtrr.2
+MLINKS+=amd64_get_ioperm.2 amd64_set_ioperm.2 \
amd64_get_mtrr.2 amd64_set_mtrr.2
.if ${MACHINE_ARCH} == "amd64"
.PATH: ${LIBC}/amd64
NOPIC=
-SRCS+= amd64_get_ldt.c amd64_set_ldt.c amd64_iopl.c amd64_get_ioperm.c \
+SRCS+= amd64_iopl.c amd64_get_ioperm.c \
amd64_set_ioperm.c amd64_set_mtrr.c amd64_get_mtrr.c
.include <bsd.lib.mk>
.else
diff --git a/lib/libarch/amd64/amd64_get_ldt.2 b/lib/libarch/amd64/amd64_get_ldt.2
deleted file mode 100644
index 735cb893d71..00000000000
--- a/lib/libarch/amd64/amd64_get_ldt.2
+++ /dev/null
@@ -1,124 +0,0 @@
-.\" $OpenBSD: amd64_get_ldt.2,v 1.4 2007/05/31 19:19:27 jmc Exp $
-.\"
-.\" Copyright (c) 1980, 1991 Regents of the University of California.
-.\" All rights reserved.
-.\"
-.\" 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.
-.\" 3. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS 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
-.\" $NetBSD: amd64_get_ldt.2,v 1.3 1996/01/05 14:56:44 pk Exp $
-.\"
-.Dd $Mdocdate: May 31 2007 $
-.Dt AMD64_GET_LDT 2 amd64
-.Os
-.Sh NAME
-.Nm amd64_get_ldt ,
-.Nm amd64_set_ldt
-.Nd manage amd64 per-process Local Descriptor Table entries
-.Sh SYNOPSIS
-.Fd #include <sys/types.h>
-.Fd #include <machine/segments.h>
-.Fd #include <machine/sysarch.h>
-.Ft int
-.Fn amd64_get_ldt "int start_sel" "union descriptor *descs" "int num_sels"
-.Ft int
-.Fn amd64_set_ldt "int start_sel" "union descriptor *descs" "int num_sels"
-.Sh DESCRIPTION
-.Fn amd64_get_ldt
-returns a list of the amd64 descriptors in the current process'
-LDT.
-.Fn amd64_set_ldt
-sets a list of amd64 descriptors in the current process'
-LDT.
-For both routines,
-.Fa start_sel
-specifies the index of the selector in the LDT at which to begin and
-.Fa descs
-points to an array of
-.Fa num_sels
-descriptors to be set or returned.
-.Pp
-Each entry in the
-.Fa descs
-array can be either a segment_descriptor or a gate_descriptor,
-as defined in
-.Aq Pa amd64/segments.h .
-These structures are defined by the architecture
-as disjoint bit-fields, so care must be taken in constructing them.
-.Pp
-Before this API can be used the functionality has to be enabled
-using the machdep.userldt
-.Xr sysctl 8
-variable.
-.Pp
-.Sy Note:
-Code using the
-.Fn amd64_get_ldt
-and
-.Fn amd64_set_ldt
-functions must be compiled using
-.Cm -lamd64 .
-.Sh RETURN VALUES
-Upon successful completion,
-.Fn amd64_get_ldt
-returns the number of amd64 descriptors copied into
-.Fa descs
-from the current process' LDT.
-Otherwise, a value of \-1 is returned and the global
-variable
-.Va errno
-is set to indicate the error.
-.Pp
-Upon successful completion,
-.Fn amd64_set_ldt
-returns the first selector set;
-if the kernel allocated a descriptor in the LDT,
-the allocated index is returned.
-Otherwise, a value of \-1 is returned and the global
-variable
-.Va errno
-is set to indicate the error.
-.Sh ERRORS
-.Fn amd64_get_ldt
-and
-.Fn amd64_set_ldt
-will fail if:
-.Bl -tag -width [EINVAL]
-.It Bq Er EINVAL
-An inappropriate parameter was used for
-.Fa start_sel
-or
-.Fa num_sels .
-.It Bq Er EACCES
-The caller attempted to use a descriptor that would
-circumvent protection or cause a failure.
-.El
-.Sh REFERENCES
-.Rs
-.%A Intel
-.%T AMD64 Microprocessor Programmer's Reference Manual
-.Re
-.Sh WARNING
-You can really hose your process using this.
diff --git a/lib/libarch/amd64/amd64_get_ldt.c b/lib/libarch/amd64/amd64_get_ldt.c
deleted file mode 100644
index 4989f9787be..00000000000
--- a/lib/libarch/amd64/amd64_get_ldt.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 1993 John Brezak
- * All rights reserved.
- *
- * 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.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR `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 AUTHOR 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/cdefs.h>
-#include <sys/types.h>
-
-#include <machine/segments.h>
-#include <machine/sysarch.h>
-
-int
-amd64_get_ldt(start, desc, num)
- int start;
- union descriptor *desc;
- int num;
-{
- struct amd64_get_ldt_args p;
-
- p.start = start;
- p.desc = desc;
- p.num = num;
-
- /* LINTED pointer casts may be troublesome */
- return sysarch(AMD64_GET_LDT, (char *)&p);
-}
diff --git a/lib/libarch/amd64/amd64_set_ldt.c b/lib/libarch/amd64/amd64_set_ldt.c
deleted file mode 100644
index e64b1e8df80..00000000000
--- a/lib/libarch/amd64/amd64_set_ldt.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 1993 John Brezak
- * All rights reserved.
- *
- * 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.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR `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 AUTHOR 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/cdefs.h>
-#include <sys/types.h>
-
-#include <machine/segments.h>
-#include <machine/sysarch.h>
-
-int
-amd64_set_ldt(start, desc, num)
- int start;
- union descriptor *desc;
- int num;
-{
- struct amd64_set_ldt_args p;
-
- p.start = start;
- p.desc = desc;
- p.num = num;
-
- /* LINTED pointer casts may be troublesome */
- return sysarch(AMD64_SET_LDT, (char *)&p);
-}
diff --git a/share/man/man3/intro.3 b/share/man/man3/intro.3
index ec33ecdf1b5..c05a1050f78 100644
--- a/share/man/man3/intro.3
+++ b/share/man/man3/intro.3
@@ -1,4 +1,4 @@
-.\" $OpenBSD: intro.3,v 1.33 2007/10/21 18:45:59 jmc Exp $
+.\" $OpenBSD: intro.3,v 1.34 2008/05/23 15:38:34 jasper Exp $
.\" $NetBSD: intro.3,v 1.5 1995/05/10 22:46:24 jtc Exp $
.\"
.\" Copyright (c) 1980, 1991, 1993
@@ -30,7 +30,7 @@
.\"
.\" @(#)intro.3 8.1 (Berkeley) 6/5/93
.\"
-.Dd $Mdocdate: October 21 2007 $
+.Dd $Mdocdate: May 23 2008 $
.Dt INTRO 3
.Os
.Sh NAME
@@ -446,7 +446,6 @@ See
AMD64 I/O and memory access functions.
See
.Xr amd64_get_ioperm 2 ,
-.Xr amd64_get_ldt 2 ,
.Xr amd64_get_mtrr 2 ,
.Xr amd64_iopl 2 ,
and