AMD64_IOPL(2) OpenBSD Programmer's Manual (AMD64) AMD64_IOPL(2)NAMEamd64_iopl - change the amd64 I/O privilege level
SYNOPSIS
#include <sys/types.h>
#include <machine/sysarch.h>
int
amd64_iopl(int iopl);
DESCRIPTIONamd64_iopl() sets the amd64 I/O privilege level to the value specified by
iopl.
This call may only be made by the superuser. Additionally, it is only
permitted when the securelevel(7) is less than or equal to 0 or the
machdep.allowaperture sysctl has been set to a non-zero value.
Note: Code using the amd64_iopl() function must be compiled using
-lamd64.
RETURN VALUES
Upon successful completion, amd64_iopl() returns 0. Otherwise, a value
of -1 is returned and the global variable errno is set to indicate the
error.
ERRORSamd64_iopl() will fail if:
[EPERM] The caller was not the superuser, or the securelevel is greater
than zero and machdep.allowaperture has not been set to a non-
zero value.
SEE ALSOamd64_get_ioperm(2), amd64_set_ioperm(2), securelevel(7)REFERENCES
Intel, AMD64 Microprocessor Programmer's Reference Manual.
WARNING
You can really hose your machine if you enable user-level I/O and write
to hardware ports without care.
OpenBSD 4.9 June 26, 2008 OpenBSD 4.9