I/O endpoint
This endpoint is intended for working with I/O ports, MMIO, DMA, and interrupts.
Information about methods of the endpoint is provided in the table below.
Methods of the io.IO endpoint (kl.core.IO interface)
Method | Method purpose and parameters | Potential danger of the method |
---|---|---|
| Purpose Registers a sequence of I/O ports. Parameters
| Allows the following:
|
| Purpose Registers an MMIO memory region. Parameters
| Allows the kernel memory to be used up by creating a multitude of objects within it. |
| Purpose Creates a DMA buffer. Parameters
| Allows the following:
|
| Purpose Registers an interrupt. Parameters
| Allows the kernel memory to be used up by creating a multitude of objects within it. |
| Purpose Reserves the virtual memory region and maps the MMIO memory region to it. Parameters
| Allows the following:
|
| Purpose Opens access to I/O ports. Parameters
| Allows the following:
|
| Purpose Attaches the calling thread to an interrupt. Parameters
| Allows the following:
|
| Purpose Sends a request to a thread. When this request is fulfilled, the thread must detach from the interrupt. Parameters
| Stops interrupt handling in another process. |
| Purpose Allows (unmasks) an interrupt. Parameters
| Allows an interrupt at the system level. |
| Purpose Denies (masks) an interrupt. Parameters
| Denies an interrupt at the system level. |
| Purpose Modifies the DMA buffer cache settings. Parameters
| N/A |
| Purpose Reserves a virtual memory region and maps the DMA buffer to it. Parameters
| Allows the following:
|
| Purpose Gets information about a DMA buffer. Parameters
| N/A |
| Purpose Gets information about the physical memory that was used to create a DMA buffer. Parameters
| N/A |
| Purpose Opens access to a DMA buffer for a device. Parameters
| Allows the kernel memory to be used up by creating a multitude of objects within it. |