change the amd64 I/O privilege
sets the amd64 I/O privilege level to the value specified by
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.
Code using the
function must be compiled using
Upon successful completion,
returns 0. Otherwise, a value of -1 is returned and the global variable
errno is set to indicate the error.
amd64_iopl() will fail if:
- 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.
Intel, AMD64 Microprocessor Programmer's Reference Manual.
You can really hose your machine if you enable user-level I/O and write to hardware ports without care.