mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
oops, forgot to do ``cvs add'' first.
This commit is contained in:
parent
f88a03565a
commit
8d0517cffd
6 changed files with 417 additions and 0 deletions
84
lib/libc/i386/sys/i386_get_ioperm.2
Normal file
84
lib/libc/i386/sys/i386_get_ioperm.2
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
.\" Copyright (c) 1998 Jonathan Lemon
|
||||
.\" 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.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
|
||||
.\"
|
||||
.\" $Id$
|
||||
.\"
|
||||
.Dd July 27, 1998
|
||||
.Os
|
||||
.Dt I386_GET_IOPERM 2
|
||||
.Sh NAME
|
||||
.Nm i386_get_ioperm ,
|
||||
.Nm i386_set_ioperm
|
||||
.Nd manage per-process access to the i386 I/O port space
|
||||
.Sh SYNOPSIS
|
||||
.Fd #include <machine/sysarch.h>
|
||||
.Ft int
|
||||
.Fn i386_get_ioperm "u_int start" "u_int *length" "int *enable"
|
||||
.Ft int
|
||||
.Fn i386_set_ioperm "u_int start" "u_int length" "int enable"
|
||||
.Sh DESCRIPTION
|
||||
.Fn i386_get_ioperm
|
||||
will return the permission for the process' I/O port space in the
|
||||
.Fa *enable
|
||||
argument. The port range starts at
|
||||
.Fa start
|
||||
and the number of contiguous entries will be returned in
|
||||
.Fa *length .
|
||||
.Pp
|
||||
.Fn i386_set_ioperm
|
||||
will set access to a range of I/O ports described by the
|
||||
.Fa start
|
||||
and
|
||||
.Fa length
|
||||
arguments to the state specified by the
|
||||
.Fa enable
|
||||
argument.
|
||||
.Sh RETURN VALUES
|
||||
Upon successful completion,
|
||||
.Fn i386_get_ioperm
|
||||
and
|
||||
.Fn i386_set_ioperm
|
||||
return the value of 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 EINVAL
|
||||
An invalid range was specified by the
|
||||
.Fa start
|
||||
or
|
||||
.Fa length
|
||||
arguments.
|
||||
.It Bq Er EPERM
|
||||
The caller of i386_set_ioperm was not the superuser.
|
||||
.El
|
||||
.Sh AUTHORS
|
||||
This man page was written by
|
||||
.An Jonathan Lemon .
|
||||
58
lib/libc/i386/sys/i386_get_ioperm.c
Normal file
58
lib/libc/i386/sys/i386_get_ioperm.c
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
/*-
|
||||
* Copyright (c) 1998 Jonathan Lemon
|
||||
* 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.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#if defined(LIBC_RCS) && !defined(lint)
|
||||
static const char rcsid[] = "$Id$";
|
||||
#endif /* LIBC_RCS and not lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <machine/sysarch.h>
|
||||
|
||||
struct parms {
|
||||
u_int start;
|
||||
u_int length;
|
||||
int enable;
|
||||
};
|
||||
|
||||
int
|
||||
i386_get_ioperm(u_int start, u_int *length, int *enable)
|
||||
{
|
||||
struct parms p;
|
||||
int error;
|
||||
|
||||
p.start = start;
|
||||
p.length = *length;
|
||||
p.enable = *enable;
|
||||
|
||||
error = sysarch(I386_GET_IOPERM, (char *)&p);
|
||||
|
||||
*length = p.length;
|
||||
*enable = p.enable;
|
||||
|
||||
return (error);
|
||||
}
|
||||
52
lib/libc/i386/sys/i386_set_ioperm.c
Normal file
52
lib/libc/i386/sys/i386_set_ioperm.c
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*-
|
||||
* Copyright (c) 1998 Jonathan Lemon
|
||||
* 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.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#if defined(LIBC_RCS) && !defined(lint)
|
||||
static const char rcsid[] = "$Id$";
|
||||
#endif /* LIBC_RCS and not lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <machine/sysarch.h>
|
||||
|
||||
struct parms {
|
||||
u_int start;
|
||||
u_int length;
|
||||
int enable;
|
||||
};
|
||||
|
||||
int
|
||||
i386_set_ioperm(u_int start, u_int length, int enable)
|
||||
{
|
||||
struct parms p;
|
||||
|
||||
p.start = start;
|
||||
p.length = length;
|
||||
p.enable = enable;
|
||||
|
||||
return (sysarch(I386_SET_IOPERM, (char *)&p));
|
||||
}
|
||||
95
lib/libc/i386/sys/i386_vm86.2
Normal file
95
lib/libc/i386/sys/i386_vm86.2
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
.\" Copyright (c) 1998 Jonathan Lemon
|
||||
.\" 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.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
|
||||
.\"
|
||||
.\" $Id$
|
||||
.\"
|
||||
.Dd July 27, 1998
|
||||
.Os
|
||||
.Dt I386_VM86 2
|
||||
.Sh NAME
|
||||
.Nm i386_vm86
|
||||
.Nd control vm86-related functions
|
||||
.Sh SYNOPSIS
|
||||
.Fd #include <machine/sysarch.h>
|
||||
.Fd #include <machine/vm86.h>
|
||||
.Ft int
|
||||
.Fn i386_vm86 "int function" "void *data"
|
||||
.Sh DESCRIPTION
|
||||
.Fn i386_vm86
|
||||
is used to call various vm86 related functions.
|
||||
.Fa function
|
||||
can be one of the following values:
|
||||
.Bl -tag -offset indent -width VM86_SET_VME
|
||||
.It Dv VM86_INIT
|
||||
This will initialize the kernel's vm86 parameter area for the
|
||||
process, and permit the process to make vm86 calls.
|
||||
.Fa data
|
||||
points to the following structure:
|
||||
.Bd -literal
|
||||
struct vm86_init_args {
|
||||
int debug;
|
||||
int cpu_type;
|
||||
u_char int_map[32];
|
||||
};
|
||||
.Ed
|
||||
.Pp
|
||||
.Fa debug
|
||||
is used to turn on debugging code.
|
||||
.Fa cpu_type
|
||||
controls the type of CPU being emulated, and is currently unimplemented.
|
||||
.Fa int_map
|
||||
is a bitmap which determines whether vm86 interrupts should be handled
|
||||
in vm86 mode, or reflected back to the process. If the
|
||||
.Em Nth
|
||||
bit is set, the interrupt will be reflected to the process, otherwise
|
||||
it will be dispatched by the vm86 interrupt table.
|
||||
.\" .It Dv VM86_SET_VME
|
||||
.\" .It Dv VM86_GET_VME
|
||||
.\" .It Dv VM86_INTCALL
|
||||
.El
|
||||
.Pp
|
||||
vm86 mode is entered by calling
|
||||
.Xr sigreturn 2
|
||||
with the correct machine context for vm86, and with the
|
||||
.Em PSL_VM
|
||||
bit set. Control returns to the process upon delivery of a signal.
|
||||
.Sh RETURN VALUES
|
||||
Upon successful completion,
|
||||
.Fn i386_vm86
|
||||
will return the value of 0.
|
||||
Otherwise, 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 [ENOMEM]
|
||||
.It Bq Er EINVAL
|
||||
The kernel does not have vm86 support, or an invalid function was specified.
|
||||
.It Bq Er ENOMEM
|
||||
There is not enough memory to initialize the kernel data structures.
|
||||
.Sh AUTHORS
|
||||
This man page was written by
|
||||
.An Jonathan Lemon .
|
||||
49
lib/libc/i386/sys/i386_vm86.c
Normal file
49
lib/libc/i386/sys/i386_vm86.c
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
/*-
|
||||
* Copyright (c) 1998 Jonathan Lemon
|
||||
* 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.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#if defined(LIBC_RCS) && !defined(lint)
|
||||
static const char rcsid[] = "$Id$";
|
||||
#endif /* LIBC_RCS and not lint */
|
||||
|
||||
#include <machine/sysarch.h>
|
||||
|
||||
struct parms {
|
||||
int sub_op;
|
||||
void *sub_args;
|
||||
};
|
||||
|
||||
int
|
||||
i386_vm86(int fcn, void *data)
|
||||
{
|
||||
struct parms p;
|
||||
|
||||
p.sub_op = fcn;
|
||||
p.sub_args = data;
|
||||
|
||||
return (sysarch(I386_VM86, (void *)&p));
|
||||
}
|
||||
79
lib/libc/sys/sysarch.2
Normal file
79
lib/libc/sys/sysarch.2
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
.\" $NetBSD: sysarch.2,v 1.6 1998/02/25 21:24:57 perry Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.\" 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: @(#)syscall.2 6.3 (Berkeley) 3/10/91
|
||||
.\"
|
||||
.Dd October 11, 1993
|
||||
.Dt SYSARCH 2
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm sysarch
|
||||
.Nd architecture-dependent system call
|
||||
.Sh SYNOPSIS
|
||||
.Fd #include <machine/sysarch.h>
|
||||
.Ft int
|
||||
.Fn sysarch "int number" "void *args"
|
||||
.Sh DESCRIPTION
|
||||
.Fn Sysarch
|
||||
performs the architecture-dependent function
|
||||
specified by
|
||||
.Fa number
|
||||
with the arguments specified by the
|
||||
.Fa args
|
||||
pointer.
|
||||
.Fa Args
|
||||
is a pointer to a structure defining the actual
|
||||
arguments of the function.
|
||||
Symbolic constants and argument structures
|
||||
for the architecture-dependent
|
||||
functions can be found in the header file
|
||||
.Ao Pa machine/sysarch.h Ac .
|
||||
.Pp
|
||||
The
|
||||
.Fn sysarch
|
||||
system call should never be called directly by
|
||||
user programs. Instead, they should access
|
||||
its functions using the architecture-dependent
|
||||
library.
|
||||
.Pp
|
||||
.Sh RETURN VALUES
|
||||
See the manual pages for specific architecture-dependent function calls
|
||||
for information about their return values.
|
||||
.Sh SEE ALSO
|
||||
.Xr i386_get_ioperm 2 ,
|
||||
.Xr i386_get_ldt 2 ,
|
||||
.Xr i386_vm86 2
|
||||
.Sh HISTORY
|
||||
This manual page was taken from
|
||||
.Nx .
|
||||
Loading…
Reference in a new issue