Rev | Author | # | Line |
---|---|---|---|
1 | perry | 1 | !!NAME |
2 | PerryLorier | 2 | outb, outw, outl, outsb, outsw, outsl - port output%%% |
3 | inb, inw, inl, insb, insw, insl - port input%%% | ||
4 | outb_p, outw_p, outl_p, inb_p, inw_p, inl_p - paused I/O%%% | ||
1 | perry | 5 | !!DESCRIPTION |
2 | PerryLorier | 6 | This family of functions is used to do low level port input and output. They are primarily designed for internal kernel use, but can be used from user space, given the following information ''in addition'' to that given in ''outb(9)'' |
1 | perry | 7 | |
2 | PerryLorier | 8 | You compile with __-O__ or __-O2__ or similar. The functions are defined as inline macros, and will not be substituted in without optimization enabled, causing |
1 | perry | 9 | unresolved references at link time. |
10 | |||
2 | PerryLorier | 11 | You use ''ioperm(2)'' or alternatively ''iopl(2)'' to tell the kernel to allow the user space application to access the I/O ports in question. Failure to do this will because the application to receive a segmentation fault. |
1 | perry | 12 | !!CONFORMING TO |
2 | PerryLorier | 13 | __outb__ and friends are hardware specific. The ''port'' and ''value'' arguments are in the opposite order to most DOS implementations. |
1 | perry | 14 | |
15 | !!SEE ALSO | ||
16 | ioperm(2), iopl(2) |
lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 4 times)