|
kernel_isrthread(9r)
Contents
|
kernel_isrthread - General: Starts a fixed priority kernel
thread dedicated to interrupt service
thread_t kernel_isrthread(
task_t task,
void (*start) (void),
int pri );
Specifies a pointer to a task structure. This pointer
identifies the task in which the kernel_isrthread routine
starts the newly created kernel thread dedicated to interrupt
service handling. Specifies a pointer to an routine
that is the entry point for the newly created kernel
thread. Specifies the scheduling priority level for the
newly created kernel thread. See the DESCRIPTION section
for the priority usage table that describes the possible
scheduling priorities.
The kernel_isrthread routine creates and starts a kernel
thread at the specified entry point. This kernel thread
handles only interrupt service requests in the specified
task and at the specified priority level. A kernel module
should always attach a kernel thread to the ``first
task.''
The following priority usage table describes the possible
scheduling priorities. The first column shows a range of
priorities. The second column shows an associated scheduling
priority constant defined in <src/kernel/kern/sched.h>
(if applicable). The third column describes the usage of
the priority ranges. To specify a scheduling priority of
38, you pass the constant BASEPRI_SYSTEM. To specify a
scheduling priority of 33, you can pass the following:
BASEPRI_HIGHEST + 1.
-------------------------------------------------------------
Priority Constant Usage
-------------------------------------------------------------
0--31 N/A Realtime kernel threads
32--38 BASEPRI_HIGHEST -- Operating system kernel
BASEPRI_SYSTEM threads
44--64 BASEPRI_USER -- User kernel threads
BASEPRI_LOWEST
-------------------------------------------------------------
Upon successful completion, kernel_isrthread returns a
pointer to the thread structure associated with the kernel
thread started at the specified entry point. Kernel modules
can use this pointer as a handle to a specific kernel
thread in calls to other kernel threads-related routines.
Routines: kernel_thread_w_arg(9r)
Data Structures: task(9s), thread(9s)
kernel_isrthread(9r)
[ Back ] |