The following is a list of Kernel Services used by PDIAGEX.
| Kernel Service | Description |
|---|---|
| copyin | Copies data between user and kernel memory. |
| copyout | Copies data from kernel to user memory. |
| curtime | Read the current time into timestruc_t structure. |
| d_bflush | Flushes the appropriate I/O controller cache (IOCC), identified by the TCE bus address parameter, on memory-inconsistent platforms. |
| d_cflush | Flushes the processor data cache and invalidates any prefetched data that may be in the IOCC buffers on memory-inconsistent platforms. |
| d_clear | Frees a Direct Memory Access (DMA) channel. |
| d_complete | Cleans up after a Direct Memory Access (DMA) transfer. |
| d_init | Initializes a Direct Memory Access (DMA) channel. |
| d_mask | Disables a Direct Memory Access (DMA) channel. |
| d_master | Initializes a block-mode Direct Memory Access (DMA) transfer for a DMA master. |
| d_slave | Initializes a block-mode Direct Memory Access (DMA) transfer for a DMA slave. |
| d_unmask | Enables a Direct Memory Access (DMA) channel. |
| e_sleep | Causes process to sleep. |
| e_wakeup | Wakes up sleeping process. |
| i_clear | Removes an interrupt handler. |
| i_disable | Disables interrupt priorities. |
| i_enable | Enables interrupt priorities. |
| i_init | Defines an interrupt handler. |
| io_att | Selects, allocates, and maps a region in the current address space for I/O access. |
| io_det | Unmaps and deallocates the region in the current address space at the given address. |
| kmod_entrypt | Returns a function pointer to a kernel module's entry point. |
| pincode | Pins the code and data associated with an object file. |
| pinu | Pins the specified address range in user or system memory. |
| unpincode | Unpins the code and data associated with an object file. |
| unpinu | Unpins the specified address range in user or system memory. |
| xmalloc | Allocates memory. |
| xmattach | Attaches to a user buffer for cross-memory operations. |
| xmdetach | Detaches from a user buffer used for cross-memory operations. |
| xmemdma | Prepares a page of memory for DMA (used with BUS_60X only). |
| xmemin | Copies data to kernel space from a cross-memory attached buffer. |
| xmemout | Copies data from kernel space to a cross-memory attached buffer. |
| xmfree | Frees allocated memory. |