I386_IOPL(2) System Calls Manual (i386) I386_IOPL(2)
i386_iopl -- change the i386 I/O privilege level
i386 Architecture Library (libi386, -li386)
i386_iopl() sets the i386 I/O privilege level to the value specified by
iopl. This call is restricted to the super-user.
Upon successful completion, i386_iopl() returns 0. Otherwise, a value of
-1 is returned and the global variable errno is set to indicate the
i386_iopl() will fail if:
[EPERM] The caller was not the super-user, or the operation was not
permitted at the current security level.
i386 Microprocessor Programmer's Reference Manual, Intel
You can really hose your machine if you enable user-level I/O and write
to hardware ports without care.
NetBSD 6.1.5 April 12, 2004 NetBSD 6.1.5