x86(-64) Specific Functions
The x86 architecture has two memory spaces, the first is the system memory accessable using standard loads and stores. The second is the 16-bit IO Bus. This bus is accessed using the in and out opcodes and is used to configure devices attached to the system. A driver should not use in and out directly, but instead use the provided in* and out* functions to access the IO Bus. This allows the kernel to run a driver in userspace if requested without the binary needing to be altered.
Go to the source code of this file.
Functions | |
IO Bus Access | |
Uint8 | inb (Uint16 Port) |
Read 1 byte from the IO Bus. | |
Uint16 | inw (Uint16 Port) |
Read 2 bytes from the IO Bus. | |
Uint32 | inl (Uint16 Port) |
Read 4 bytes from the IO Bus. | |
Uint64 | inq (Uint16 Port) |
Read 8 bytes from the IO Bus\. | |
void | outb (Uint16 Port, Uint8 Value) |
Write 1 byte to the IO Bus. | |
void | outw (Uint16 Port, Uint16 Value) |
Write 2 bytes to the IO Bus. | |
void | outl (Uint16 Port, Uint32 Value) |
Write 4 bytes to the IO Bus. | |
void | outq (Uint16 Port, Uint64 Value) |
Write 8 bytes to the IO Bus. |