The swap_lw_bytes interface performs a longword byte swap. The swap_word_bytes interface performs a short word byte swap. The swap_words interface performs a word byte swap. Many computer vendors supp...
The thread data structure contains kernel threads-related information. Kernel modules typically use the wait_result member (with the current_thread routine) to check for the result of the wait. The va...
The thread_block routine blocks (puts to sleep) the current kernel thread and selects the next kernel thread to start (run). The routine schedules the next kernel thread onto this CPU. When a kernel t...
The thread_halt_self routine performs the work associated with a variety of asynchronous traps (ASTs) for a kernel thread that terminates itself. A kernel thread terminates itself (or one kernel threa...
The thread_set_timeout routine must be called as follows: Lock the resource. Call assert_wait_mesg to assert that the current kernel thread is about to block. Unlock the resource. Call thread_set_time...
The thread_terminate routine prepares to stop or permanently stops execution of the specified kernel thread. You created and started this kernel thread in a previous call to the kernel_isrthread or ke...
The thread_wakeup routine wakes up all kernel threads waiting for the event specified in the event argument. This routine is actually a convenience wrapper for the thread_wakeup_prim routine with the ...
The thread_wakeup_one routine wakes up only the first kernel thread in the hash chain waiting for the event specified in the event argument. This routine is actually a convenience wrapper for the thre...
The timeout routine initializes a callout queue element to make it easy to execute the specified routine at the time specified in the time argument. You often use callout routines for infrequent polli...
The trunc_page routine truncates the specified address to be aligned on a page boundary. This routine shields the driver writer from having to know the page size of the system, which could vary in dif...
The uio data structure describes, either singler-vector or multiple-vector I/O. Typically, kernel modules do not manipulate the members of this data structure. However, the data structure is presented...
The uiomove routine moves data between user and system virtual space. Data can be moved in either direction. Accessibility to the logical user buffer is verified before the move is made. Accessibility...
The unbufcall interface cancels a pending bufcall request. The id argument is a nonzero identifier for the request to be canceled. This nonzero identifier is returned to the module from a previous cal...
The unix_master routine forces execution of the kernel thread onto the master CPU (also called the boot CPU). In other words, unix_master binds the kernel thread to the master CPU. To release the kern...