diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1995-10-18 08:53:40 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1995-10-18 08:53:40 +0000 |
commit | d6583bb2a13f329cf0332ef2570eb8bb8fc0e39c (patch) | |
tree | ece253b876159b39c620e62b6c9b1174642e070e /lib/libarch |
initial import of NetBSD tree
Diffstat (limited to 'lib/libarch')
-rw-r--r-- | lib/libarch/Makefile | 33 | ||||
-rw-r--r-- | lib/libarch/i386/Makefile.inc | 12 | ||||
-rw-r--r-- | lib/libarch/i386/i386_get_ioperm.2 | 80 | ||||
-rw-r--r-- | lib/libarch/i386/i386_get_ioperm.c | 46 | ||||
-rw-r--r-- | lib/libarch/i386/i386_get_ldt.2 | 98 | ||||
-rw-r--r-- | lib/libarch/i386/i386_get_ldt.c | 49 | ||||
-rw-r--r-- | lib/libarch/i386/i386_iopl.2 | 66 | ||||
-rw-r--r-- | lib/libarch/i386/i386_iopl.c | 46 | ||||
-rw-r--r-- | lib/libarch/i386/i386_set_ioperm.c | 46 | ||||
-rw-r--r-- | lib/libarch/i386/i386_set_ldt.c | 49 | ||||
-rw-r--r-- | lib/libarch/shlib_version | 2 |
11 files changed, 527 insertions, 0 deletions
diff --git a/lib/libarch/Makefile b/lib/libarch/Makefile new file mode 100644 index 00000000000..7c5ef2530f4 --- /dev/null +++ b/lib/libarch/Makefile @@ -0,0 +1,33 @@ +# $Id: Makefile,v 1.1 1995/10/18 08:41:19 deraadt Exp $ + +.if exists(${.CURDIR}/${MACHINE}) +.PATH: ${.CURDIR}/${MACHINE} +.include "${.CURDIR}/${MACHINE}/Makefile.inc" +AINC+= -I${.CURDIR}/${MACHINE} +.endif + +.if exists(${.CURDIR}/${MACHINE_ARCH}) && (${MACHINE} != ${MACHINE_ARCH}) +.PATH: ${.CURDIR}/${MACHINE_ARCH} +.include "${.CURDIR}/${MACHINE_ARCH}/Makefile.inc" +AINC+= -I${.CURDIR}/${MACHINE_ARCH} +.endif + +OBJS+= ${ASM} +POBJS+= ${ASM:.o=.po} +CLEANFILES+= ${ASM} ${POBJS} + + +.if exists(${.CURDIR}/${MACHINE}) || exists(${.CURDIR}/${MACHINE_ARCH}) +# then there's a lib for this machine/machine architecture +LIB= ${MACHINE} +.include <bsd.lib.mk> +.else +# there's NOT, so get the targets right +all: +clean: +cleandir: +depend: +install: +lint: +obj: +.endif diff --git a/lib/libarch/i386/Makefile.inc b/lib/libarch/i386/Makefile.inc new file mode 100644 index 00000000000..9c967b8fbe1 --- /dev/null +++ b/lib/libarch/i386/Makefile.inc @@ -0,0 +1,12 @@ +# Makefile.inc,v 1.1 1993/09/03 19:04:23 jtc Exp + +.PATH: ${LIBC}/i386 + +SRCS+= i386_get_ldt.c i386_set_ldt.c \ + i386_iopl.c i386_get_ioperm.c i386_set_ioperm.c + +MAN+= i386_get_ldt.2 \ + i386_iopl.2 i386_get_ioperm.2 + +MLINKS+=i386_get_ldt.2 i386_set_ldt.2 \ + i386_get_ioperm.2 i386_set_ioperm.2 diff --git a/lib/libarch/i386/i386_get_ioperm.2 b/lib/libarch/i386/i386_get_ioperm.2 new file mode 100644 index 00000000000..aaf8cfaecd3 --- /dev/null +++ b/lib/libarch/i386/i386_get_ioperm.2 @@ -0,0 +1,80 @@ +.\" 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. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. 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 +.\" $Id: i386_get_ioperm.2,v 1.1 1995/10/18 08:41:19 deraadt Exp $ +.\" +.Dd October 14, 1995 +.Dt I386_GET_IOPERM 2 +.Os NetBSD +.Sh NAME +.Nm i386_get_ioperm , +.Nm i386_set_ioperm +.Nd manage i386 per-process I/O permission bitmap +.Sh SYNOPSIS +.Fd #include <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 +.Ar iomap . +.Pp +.Fn i386_set_ioperm +sets the I/O permission bitmap from the data pointed to by +.Ar iomap . +This call is restricted to the super-user. +.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 +.Ar Iomap +points outside the process's allocated address space. +.It Bq Er EPERM +The caller was not the super-user. +.El +.Sh REFERENCES +i386 Microprocessor Programmer's Reference Manual, Intel diff --git a/lib/libarch/i386/i386_get_ioperm.c b/lib/libarch/i386/i386_get_ioperm.c new file mode 100644 index 00000000000..b794b06dcbd --- /dev/null +++ b/lib/libarch/i386/i386_get_ioperm.c @@ -0,0 +1,46 @@ +/* $NetBSD: i386_get_ioperm.c,v 1.1 1995/10/15 02:29:10 mycroft Exp $ */ + +/* + * Copyright (c) 1995 Charles M. Hannum. 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. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Charles M. Hannum. + * 4. 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/sysarch.h> + +int +i386_get_ioperm(iomap) + u_long *iomap; +{ + struct i386_get_ioperm_args p; + + p.iomap = iomap; + + return sysarch(I386_GET_IOPERM, (char *)&p); +} diff --git a/lib/libarch/i386/i386_get_ldt.2 b/lib/libarch/i386/i386_get_ldt.2 new file mode 100644 index 00000000000..8a9fd362cb7 --- /dev/null +++ b/lib/libarch/i386/i386_get_ldt.2 @@ -0,0 +1,98 @@ +.\" 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. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. 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 +.\" $Id: i386_get_ldt.2,v 1.1 1995/10/18 08:41:19 deraadt Exp $ +.\" +.Dd September 20, 1993 +.Dt I386_GET_LDT 2 +.Os NetBSD +.Sh NAME +.Nm i386_get_ldt , +.Nm i386_set_ldt +.Nd manage i386 per-process Local Descriptor Table entries +.Sh SYNOPSIS +.Fd #include <machine/segments.h> +.Fd #include <machine/sysarch.h> +.Ft int +.Fn i386_get_ldt "int start_sel" "union descriptor *descs" "int num_sels" +.Ft int +.Fn i386_set_ldt "int start_sel" "union descriptor *descs" "int num_sels" +.Sh DESCRIPTION +.Fn i386_get_ldt +will return the list of i386 descriptors that the process has in its +LDT. +.Fn i386_set_ldt +will set a list of i386 descriptors for the current process in its +LDT. +Both routines accept a starting selector number +.Fa start_sel +, an array of memory that +will contain the descriptors to be set or returned +.Fa descs +, and the number of entries to set or return +.Fa num_sels . +.Pp +The argument +.Fa descs +can be either segment_descriptor or gate_descriptor and are defined in +.Fd <i386/segements.h> . +These structures are defined by the architecure +as disjoint bit-fields, so care must be taken in constructing them. +.Sh RETURN VALUES +Upon successful completion, +.Fn i386_get_ldt +returns the number of descriptors currently in the LDT. +.Fn i386_set_ldt +returns the first selector set. +Otherwise, a value of -1 is returned and the global +variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn i386_get_ldt +and +.Fn i386_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 EACESS +The caller attempted to use a descriptor that would +circumvent protection or cause a failure. +.El +.Sh REFERENCES +i386 Microprocessor Programmer's Reference Manual, Intel +.Sh WARNING +You can really hose your process using this. diff --git a/lib/libarch/i386/i386_get_ldt.c b/lib/libarch/i386/i386_get_ldt.c new file mode 100644 index 00000000000..a6fccc1eb14 --- /dev/null +++ b/lib/libarch/i386/i386_get_ldt.c @@ -0,0 +1,49 @@ +/* + * 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 +i386_get_ldt(start, desc, num) + int start; + union descriptor *desc; + int num; +{ + struct i386_get_ldt_args p; + + p.start = start; + p.desc = desc; + p.num = num; + + return sysarch(I386_GET_LDT, (char *)&p); +} diff --git a/lib/libarch/i386/i386_iopl.2 b/lib/libarch/i386/i386_iopl.2 new file mode 100644 index 00000000000..5bc72ef77eb --- /dev/null +++ b/lib/libarch/i386/i386_iopl.2 @@ -0,0 +1,66 @@ +.\" 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. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. 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 +.\" $Id: i386_iopl.2,v 1.1 1995/10/18 08:41:19 deraadt Exp $ +.\" +.Dd October 14, 1995 +.Dt I386_IOPL 2 +.Os NetBSD +.Sh NAME +.Nm i386_iopl +.Nd change the i386 I/O privilege level +.Sh SYNOPSIS +.Fd #include <machine/sysarch.h> +.Ft int +.Fn i386_iopl "int iopl" +.Sh DESCRIPTION +.Fn i386_iopl +sets the i386 I/O privilege level to the value specified by +.Ar iomap . +This call is restricted to the super-user. +.Sh RETURN VALUES +Upon successful completion, +.Fn i386_iopl +returns 0. +Otherwise, a value of -1 is returned and the global +variable +.Va errno +is set to indicate the error. +.Sh ERRORS +.Fn i386_iopl +will fail if: +.Bl -tag -width [EINVAL] +.It Bq Er EPERM +The caller was not the super-user. +.El +.Sh REFERENCES +i386 Microprocessor Programmer's Reference Manual, Intel diff --git a/lib/libarch/i386/i386_iopl.c b/lib/libarch/i386/i386_iopl.c new file mode 100644 index 00000000000..22be4a9a328 --- /dev/null +++ b/lib/libarch/i386/i386_iopl.c @@ -0,0 +1,46 @@ +/* $NetBSD: i386_iopl.c,v 1.1 1995/10/15 02:29:12 mycroft Exp $ */ + +/* + * Copyright (c) 1995 Charles M. Hannum. 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. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Charles M. Hannum. + * 4. 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/sysarch.h> + +int +i386_iopl(iopl) + int iopl; +{ + struct i386_iopl_args p; + + p.iopl = iopl; + + return sysarch(I386_IOPL, (char *)&p); +} diff --git a/lib/libarch/i386/i386_set_ioperm.c b/lib/libarch/i386/i386_set_ioperm.c new file mode 100644 index 00000000000..d1976f4a078 --- /dev/null +++ b/lib/libarch/i386/i386_set_ioperm.c @@ -0,0 +1,46 @@ +/* $NetBSD: i386_set_ioperm.c,v 1.1 1995/10/15 02:29:13 mycroft Exp $ */ + +/* + * Copyright (c) 1995 Charles M. Hannum. 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. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Charles M. Hannum. + * 4. 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/sysarch.h> + +int +i386_set_ioperm(iomap) + u_long *iomap; +{ + struct i386_set_ioperm_args p; + + p.iomap = iomap; + + return sysarch(I386_SET_IOPERM, (char *)&p); +} diff --git a/lib/libarch/i386/i386_set_ldt.c b/lib/libarch/i386/i386_set_ldt.c new file mode 100644 index 00000000000..25bc1f328d3 --- /dev/null +++ b/lib/libarch/i386/i386_set_ldt.c @@ -0,0 +1,49 @@ +/* + * 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 +i386_set_ldt(start, desc, num) + int start; + union descriptor *desc; + int num; +{ + struct i386_set_ldt_args p; + + p.start = start; + p.desc = desc; + p.num = num; + + return sysarch(I386_SET_LDT, (char *)&p); +} diff --git a/lib/libarch/shlib_version b/lib/libarch/shlib_version new file mode 100644 index 00000000000..97c9f92d6b8 --- /dev/null +++ b/lib/libarch/shlib_version @@ -0,0 +1,2 @@ +major=0 +minor=0 |