[OpenBSD]

Manual Page Search Parameters

I386_IOPL(2) System Calls Manual (i386) I386_IOPL(2)

NAME

i386_ioplchange the i386 I/O privilege level

SYNOPSIS

#include <sys/types.h>
#include <machine/sysarch.h>
int
i386_iopl(int iopl);

DESCRIPTION

i386_iopl() sets the i386 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 i386_iopl() function must be compiled using -li386.

RETURN VALUES

Upon successful completion, i386_iopl() returns 0. Otherwise, a value of -1 is returned and the global variable errno is set to indicate the error.

ERRORS

i386_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 ALSO

securelevel(7)

REFERENCES

Intel, i386 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.
March 24, 2016 OpenBSD-current