Index

The parenthesized number on an index entry indicates the location of the entry within the book. Entries before the first numbered section in a chapter are identified as Sec. n.0.


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A

alignment (Sec. 6.1.2)

Alpha CPU
        accessing CSR addresses (Sec. 6.5.2)
        alignment (Sec. 6.1.2)
        granularity of data access (Sec. 6.1.3)
        hardware-level synchronization (Sec. 6.1)

application
        converting kernel timestamps to a string (Sec. 5.4.4)

assert_wait_mesg routine (Sec. 9.4.1)

atomicity (Sec. 6.1.1)

attribute
        operations allowed on (Sec. 3.2.2)

attribute data types (Sec. 3.2.1)

attribute table (Sec. 3.0)
attribute table (Sec. 3.1)
        creating (Sec. 1.2.1)
        entry (Sec. 3.1)
        entry (Sec. 3.2)
        get request (Sec. 3.3)
        operation field (Sec. 3.2.2)
        set request (Sec. 3.4)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

B

bcopy routine (Sec. 5.2)
bcopy routine (Sec. 5.2.1)
        explanation of code fragment (Sec. 5.2.1)
        results of example calls (Sec. 5.2.1)

blocking conditions
        using complex locks (Sec. 6.3.2)

blocking lock (Sec. 6.3.2)

boot path
        See boot timeline

boot timeline (Sec. 4.1)
        dispatch point (Sec. 4.3)
        understanding (Sec. 4.1)

buf data structure (Sec. 6.5.4)

BUF_LOCK routine (Sec. 6.5.4)

BUF_UNLOCK routine (Sec. 6.5.4)

building a kernel module (Sec. 10.0)

busy wait time (Sec. 6.4.4)

byte string
        copying bcopy routine (Sec. 5.2.1)

bzero routine
        explanation of code fragment (Sec. 5.2.2)

b_resid field
        use as argument with copyin routine (Sec. 5.2.3)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

C

callback (Sec. 1.2.1)
        coding (Sec. 4.4.1)
        coding (Sec. 4.4.2)
        deregistering (Sec. 4.4.3)
        dispatch point (Sec. 4.0)
        nesting (Sec. 4.4.3)
        using (Sec. 4.2)
        writing (Sec. 4.4.1.2)

calling process
        putting to sleep (Sec. 5.3.2)

cfg_attr_t routine (Sec. 3.1)

CFG_OP_CONFIGURE (Sec. 2.1.2)
CFG_OP_CONFIGURE (Sec. 2.2.1)

CFG_OP_QUERY (Sec. 2.1.2)

CFG_OP_RECONFIGURE (Sec. 2.1.2)

CFG_OP_UNCONFIGURE (Sec. 2.1.2)
CFG_OP_UNCONFIGURE (Sec. 2.2.2)

cfg_subsys_attr_t routine (Sec. 3.2)

code block
        choosing lock method by size of (Sec. 6.4.5)
        identifying those that manipulate resource (Sec. 6.5.5)

complex lock (Sec. 6.3.2)
complex lock (Sec. 8.0)
        access operations (Sec. 8.3)
        asserting (Sec. 8.3.1)
                read-only access (Sec. 8.3.1.1)
                write access (Sec. 8.3.1.2)
        choosing when to use (Sec. 6.4)
        declaring data structure (Sec. 8.1)
        execution speed (Sec. 6.4.4)
        initializing (Sec. 8.2)
        releasing previously asserted (Sec. 8.3.2)
        terminating (Sec. 8.4)
        trying to assert (Sec. 8.3.3)
                read-only access (Sec. 8.3.3.1)
                write access (Sec. 8.3.3.2)

complex lock data structure (Sec. 6.4)
        declaring (Sec. 8.1)
        initializing (Sec. 8.2)

complex lock routine (Sec. 6.4)
complex lock routine (Sec. 8.0)

configuration point
        See dispatch point

configure routine (Sec. 2.1)
configure routine (Sec. 2.1.2)
configure routine (Sec. 2.2)
configure routine (Sec. 3.2.2)
configure routine (Sec. 3.3)
configure routine (Sec. 4.2)
        parameters (Sec. 2.1.1)

console
        printing text to (Sec. 5.3.1)

control status register
        See CSR

controller data structure (Sec. 6.5.4)

convenience wrapper
        for thread_create and thread_start routines (Sec. 9.3.1)

copyin routine
        explanation of code fragment (Sec. 5.2.3)
        results of example call (Sec. 5.2.3)

copyout routine
        explanation of code fragment (Sec. 5.2.4)
        results of example call (Sec. 5.2.4)

cpu global variable (Sec. 6.5.4)

CSR
        access methods (Sec. 6.5.2)

CSR I/O access routines
        read_io_port (Sec. 6.5.2)
        write_io_port (Sec. 6.5.2)

ctime function (Sec. 5.4.4)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

D

data
        granularity (Sec. 6.1.3)
        integrity (Sec. 6.2)
        natural alignment (Sec. 6.1.2)

data copying routines (Sec. 5.2)

data structure
        allocating memory (Sec. 2.2.1.3)
        buf (Sec. 6.5.4)
        controller (Sec. 6.5.4)
        ihandler_t (Sec. 6.5.4)
        kernel thread (Sec. 9.2)
        module-specific (Sec. 6.5.3)
        simple lock (Sec. 7.1)
        task (Sec. 9.2)
        thread (Sec. 9.1.1)
        used by kernel thread routines (Sec. 9.2)

data type
        attribute (Sec. 3.2.1)

deadlock
        and kernel threads (Sec. 9.1.2)

decl_simple_lock_data routine (Sec. 7.1)

DECthreads software (Sec. 9.1)

DELAY macro
        explanation of code fragment (Sec. 5.4.5)

deregistering callbacks (Sec. 4.4.3)

device register offset definitions
        locking (Sec. 6.5.5)

direct method
        accessing CSR addresses (Sec. 6.5.2)

dispatch point (Sec. 1.1.3)
        along boot timeline (Sec. 4.3)
        callback (Sec. 4.0)
        CFG_PT_ENTER_SUSER (Sec. 4.3)
        CFG_PT_GLROOTFS_AVAIL (Sec. 4.3)
        CFG_PT_HAL_INIT (Sec. 4.3)
        CFG_PT_LOCK_AVAIL (Sec. 4.2)
        CFG_PT_LOCK_AVAIL (Sec. 4.3)
        CFG_PT_OLD_CONF_ALL (Sec. 4.3)
        CFG_PT_POSTCONFIG (Sec. 4.3)
        CFG_PT_PRECONFIG (Sec. 4.3)
        CFG_PT_ROOTFS_WR (Sec. 4.2)
        CFG_PT_TOPOLOGY_CONF (Sec. 4.3)
        CFG_PT_VM_AVAIL (Sec. 2.2.1.3)
        CFG_PT_VM_AVAIL (Sec. 4.1)
        CFG_PT_VM_AVAIL (Sec. 4.2)
        CFG_PT_VM_AVAIL (Sec. 4.3)
        defining in a kernel module (Sec. 4.4.4)
        definitions (Sec. 4.3)
        developer-defined (Sec. 4.4.4)

dispatch point callback (Sec. 4.0)

dynamic kernel module (Sec. 2.2.1.1)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

E

error logger
        printing text to (Sec. 5.3.1)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

F

fetching time (Sec. 5.4.2)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

G

global resource
        module-specific (Sec. 6.5.3)
        system-specific (Sec. 6.5.4)

global variable
        cpu (Sec. 6.5.4)
        hz (Sec. 6.5.4)
        lbolt (Sec. 6.5.4)
        module-specific (Sec. 6.5.3)
        system-specific (Sec. 6.5.4)

granularity (Sec. 6.1.2)
        of data access (Sec. 6.1.3)
        of lock (Sec. 6.5.5)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

H

hardware issues (Sec. 6.1)

hz global variable (Sec. 6.5.4)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

I

I/O copy routines (Sec. 6.5.2)
        io_copyin (Sec. 6.5.2)
        io_copyio (Sec. 6.5.2)
        io_copyout (Sec. 6.5.2)

ihandler_t data structure (Sec. 6.5.4)

indata parameter (Sec. 2.1.1)

indatalen parameter (Sec. 2.1.1)

indirect method
        accessing CSR addresses (Sec. 6.5.2)

initialization (Sec. 1.2.1)
initialization (Sec. 2.0)
        kernel module (Sec. 2.2)

initializing a timer queue element (Sec. 5.3.4)

interrupt priority level
        See IPL

interrupt priority mask
        setting (Sec. 5.3.6)

interrupt service routine
        using simple lock to synchronize with (Sec. 6.3.1)

IPL (Sec. 5.3.6)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

K

kernel address space
        copying from with copyout routine (Sec. 5.2.4)

kernel mode capabilities (Sec. 5.0)

kernel module (Sec. 1.0)
kernel module (Sec. 1.1)
        attributes (Sec. 3.0)
        attributes (Sec. 3.1)
        building and testing (Sec. 10.0)
        choosing resources to lock (Sec. 6.5)
        defining new dispatch point (Sec. 4.4.4)
        designing (Sec. 1.1.3)
        developing (Sec. 1.2)
        dynamically loaded (Sec. 2.2.1.1)
        environment (Sec. 1.1.2)
        initializing (Sec. 1.2.1)
        initializing (Sec. 2.0)
        initializing (Sec. 2.2)
        introduction (Sec. 1.0)
        kernel mode capabilities (Sec. 5.0)
        loading into the kernel image (Sec. 10.2.1)
        making safe in SMP environment
                using complex locks (Sec. 8.0)
                using simple locks (Sec. 7.0)
        multithreaded programming (Sec. 9.0)
        producing a single binary module (Sec. 10.1)
        purpose of (Sec. 1.1.1)
        required tasks for writing (Sec. 1.2.1)
        statically loaded (Sec. 2.2.1.1)
        testing (Sec. 10.8)
        unconfiguring (Sec. 10.3)
        unloading (Sec. 10.3)
        working with time (Sec. 5.4.1.1)

kernel thread (Sec. 6.2)
        advantages of using (Sec. 9.1)
        blocking (Sec. 9.4)
                asserting current is about to block (Sec. 9.4.1)
                mpsleep routine (Sec. 9.4.2)
        creating and starting (Sec. 9.3)
                at a specified entry point (Sec. 9.3.1)
                fixed-priority dedicated to interrupt service (Sec. 9.3.2)
        distinguishing between threads applications use (Sec. 9.1)
        execution (Sec. 9.1.1)
        issues related to using (Sec. 9.1.2)
        operations (Sec. 9.1.3)
        setting a timer for current (Sec. 9.7)
        states (Sec. 9.1.1)
        summary of routine operations (Sec. 9.1.3)
        terminating (Sec. 9.6)
        unblocking (Sec. 9.5)
        using (Sec. 5.5)

kernel thread routine
        See also kernel thread
        data structures (Sec. 9.2)
                task (Sec. 9.2)
                thread (Sec. 9.2)
        operations (Sec. 9.0)

kernel thread sleep
        prevention of access to resource (Sec. 6.4.2)

kernel_isrthread routine (Sec. 9.3.2)

kernel_thread_w_arg routine (Sec. 9.3.1)
        as convenience wrapper (Sec. 9.3.1)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

L

lbolt global variable (Sec. 6.5.4)

libcfg.a library (Sec. 3.3)
libcfg.a library (Sec. 3.4)

lock (Sec. 6.2)
lock (Sec. 6.2)
        complex (Sec. 6.3.2)
        complex (Sec. 8.0)
        simple (Sec. 6.3.1)
        simple (Sec. 7.0)

locking (Sec. 5.6)
        access to a resource (Sec. 6.4.1)
        choosing method (Sec. 6.4)
        choosing resources (Sec. 6.5)
        kernel module resources for (Sec. 6.5.5)
        length of time held (Sec. 6.4.3)
        SMP characteristics (Sec. 6.4.6)

locking device register offset definitions (Sec. 6.5.5)

locking methods
        choosing (Sec. 6.4)
        comparing simple and complex locks (Sec. 6.3)
        complex lock (Sec. 6.0)
        simple lock (Sec. 6.0)
        summary of (Sec. 6.4.6)

lock_done routine (Sec. 8.3.2)

lock_init routine (Sec. 8.2)

lock_read routine (Sec. 8.3.1.1)

lock_terminate routine (Sec. 8.4)

lock_try_read routine (Sec. 8.3.3.1)

lock_try_write routine (Sec. 8.3.3.2)

lock_write routine (Sec. 8.3.1.2)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

M

memory
        allocating (Sec. 2.2.1.3)
        allocating (Sec. 5.3.7)
        zeroing with bzero routine (Sec. 5.2.2)

memory block
        zeroing a (Sec. 5.2.2)

memory space
        used by locks (Sec. 6.4.4)

modifying a timestamp (Sec. 5.4.3)

module attribute table
        See attribute table

module framework (Sec. 3.2.2)

module initialization (Sec. 2.0)

mpsleep routine (Sec. 5.3.2)
mpsleep routine (Sec. 9.4.2)

multithreaded programming (Sec. 9.0)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

N

nesting callbacks (Sec. 4.4.3)

null-terminated character string (Sec. 5.1.3)
        comparing with strcmp routine (Sec. 5.1.1)
        copying with strcpy routine (Sec. 5.1.3)
        copying with strncpy routine (Sec. 5.1.4)
        returning with strlen routine (Sec. 5.1.5)

null-terminated string routine (Sec. 5.1.1)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

O

op parameter (Sec. 2.1.1)

outdata parameter (Sec. 2.1.1)

outdatalen parameter (Sec. 2.1.1)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

P

parameters
        for configure routine (Sec. 2.1.1)

printf routine (Sec. 5.3.1)
        explanation of code fragment (Sec. 5.3.1)

printing text to the console (Sec. 5.3.1)

priority inversion
        and kernel threads (Sec. 9.1.2)

process
        waking up a sleeping (Sec. 5.3.3)

producing a single binary module (Sec. 10.1)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

R

race condition
        and kernel threads (Sec. 9.1.2)

realtime preemption (Sec. 6.4.4)

register_callback routine (Sec. 4.4.1)
register_callback routine (Sec. 4.4.1.1)
        parameters (Sec. 4.4.1.1)

request code (Sec. 2.1.2)
        CFG_OP_CONFIGURE (Sec. 2.1.2)
        CFG_OP_CONFIGURE (Sec. 2.2.1)
        CFG_OP_CONFIGURE (Sec. 2.2.1.2)
        CFG_OP_CONFIGURE (Sec. 3.2.2)
        CFG_OP_QUERY (Sec. 2.1.2)
        CFG_OP_QUERY (Sec. 3.2.2)
        CFG_OP_QUERY (Sec. 3.3)
        CFG_OP_RECONFIGURE (Sec. 2.1.2)
        CFG_OP_RECONFIGURE (Sec. 3.2.2)
        CFG_OP_RECONFIGURE (Sec. 3.4)
        CFG_OP_UNCONFIGURE (Sec. 2.1.2)
        CFG_OP_UNCONFIGURE (Sec. 2.2.2)

resource (Sec. 6.2)
        asserting exclusive access on (Sec. 7.3)
        choosing to lock in a module (Sec. 6.5)
        determining which to lock (Sec. 6.5.5)
        global (Sec. 6.5.3)
                module-specific (Sec. 6.5.3)
                system-specific (Sec. 6.5.4)
        locking (Sec. 6.3)
        read-only (Sec. 6.5.1)

return status values (Sec. 2.1.3)

routine (Sec. 9.0)
        assert_wait_mesg (Sec. 9.4.1)
        associated with complex locks (Sec. 6.3.2)
        BUF_LOCK (Sec. 6.5.4)
        BUF_UNLOCK (Sec. 6.5.4)
        callback (Sec. 4.4.1.2)
        commonly used by kernel modules (Sec. 5.0)
        complex lock (Sec. 8.0)
        CSR I/O access (Sec. 6.5.2)
        data copying (Sec. 5.2)
        decl_simple_lock_data (Sec. 7.1)
        delaying a calling (Sec. 5.4.5)
        I/O copy (Sec. 6.5.2)
        kernel thread
                summary of operations (Sec. 9.1.3)
        kernel-related (Sec. 5.3)
        kernel_isrthread (Sec. 9.3.2)
        kernel_thread_w_arg (Sec. 9.3.1)
        lock_done (Sec. 8.3.2)
        lock_init (Sec. 8.2)
        lock_read (Sec. 8.3.1.1)
        lock_terminate (Sec. 8.4)
        lock_try_read (Sec. 8.3.3.1)
        lock_try_write (Sec. 8.3.3.2)
        lock_write (Sec. 8.3.1.2)
        mpsleep (Sec. 5.3.2)
        mpsleep (Sec. 9.4.2)
        register_callback (Sec. 4.4.1)
        register_callback (Sec. 4.4.1.1)
        simple_lock (Sec. 7.3)
        simple_lock_init (Sec. 7.2)
        simple_lock_terminate (Sec. 7.6)
        simple_lock_try (Sec. 7.5)
        simple_unlock (Sec. 7.4)
        spltty (Sec. 7.7)
        splx (Sec. 7.7)
        string (Sec. 5.1)
        thread_block (Sec. 9.4.1)
        thread_create (Sec. 9.3.1)
        thread_halt_self (Sec. 9.6)
        thread_set_timeout (Sec. 9.7)
        thread_start (Sec. 9.3.1)
        thread_terminate (Sec. 9.6)
        thread_wakeup (Sec. 9.5)
        thread_wakeup_one (Sec. 9.5)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

S

serialization (Sec. 6.1.1)

shared data
        access to (Sec. 6.1.3)

simple lock (Sec. 6.3.1)
simple lock (Sec. 7.0)
        asserting exclusive access on resource (Sec. 7.3)
        choosing when to use (Sec. 6.4)
        declaring data structure (Sec. 7.1)
        execution speed (Sec. 6.4.4)
        initializing (Sec. 7.2)
        releasing previously asserted (Sec. 7.4)
        terminating (Sec. 7.6)
        trying to obtain (Sec. 7.5)
        using spl routines (Sec. 7.7)

simple lock data structure (Sec. 6.3.1)
        declaring (Sec. 7.1)
                decl_simple_lock_data
                simple_lock_data_t (Sec. 7.1)
        initializing (Sec. 7.2)
        reason for declaring (Sec. 7.1)

simple lock routines (Sec. 6.3.1)
simple lock routines (Sec. 7.0)

simple_lock routine (Sec. 7.3)

simple_lock_init routine (Sec. 7.2)

simple_lock_terminate routine (Sec. 7.6)

simple_lock_try routine (Sec. 7.5)

simple_unlock routine (Sec. 7.4)

single binary image (Sec. 4.2)

sleeping lock
        See blocking lock

SMP environment (Sec. 6.0)
        characteristics of (Sec. 6.4.6)
        locking (Sec. 5.6)
        locking (Sec. 6.2)
        locking (Sec. 6.4)
        making kernel module safe
                using complex locks (Sec. 8.0)
                using simple locks (Sec. 7.0)
        putting a calling process to sleep (Sec. 5.3.2)
        sleep call (Sec. 9.4.2)

software synchronization (Sec. 6.1.1)

spin lock
        See simple lock

spl routines
        splbio routine (Sec. 5.3.6)
        splclock routines (Sec. 5.3.6)
        spldevhigh routine (Sec. 5.3.6)
        splextreme routine (Sec. 5.3.6)
        splhigh routine (Sec. 5.3.6)
        splimp routine (Sec. 5.3.6)
        splnet routine (Sec. 5.3.6)
        splnone routine (Sec. 5.3.6)
        splrt routine (Sec. 5.3.6)
        splsoftclock routine (Sec. 5.3.6)
        spltty routine (Sec. 7.7)
        splvm routine (Sec. 5.3.6)
        splx routine (Sec. 5.3.6)
        splx routine (Sec. 7.7)
        summarized list of (Sec. 5.3.6)
        uses for (Sec. 5.3.6)
        using (Sec. 7.7)

splbio routine
        explanation of code fragment (Sec. 5.3.6)

spltty routine (Sec. 7.7)

splx routine (Sec. 7.7)
        explanation of code fragment (Sec. 5.3.6)

static kernel module (Sec. 2.2.1.1)

status
        return values (Sec. 2.1.3)

strcmp routine (Sec. 5.1.1)
        explanation of code fragment (Sec. 5.1.1)
        results of example calls (Sec. 5.1.1)

strcpy routine (Sec. 5.1.3)
        explanation of code fragment (Sec. 5.1.3)
        results of example call (Sec. 5.1.3)

string operation
        comparing null-terminated character string using strcmp routine (Sec. 5.1.1)
        comparing two strings using strmcmp routine (Sec. 5.1.2)
        copying null-terminated character string using strcpy routine (Sec. 5.1.3)
        copying null-terminated character string using strncpy routine (Sec. 5.1.4)
        returning number of characters using strlen routine (Sec. 5.1.5)

string routine (Sec. 5.1.5)
        returning the number of characters using strlen
        comparing two null-terminated (Sec. 5.1.1)
        comparing two strings (Sec. 5.1.2)
        copying a null-terminated character (Sec. 5.1.3)
        copying with specified limit (Sec. 5.1.4)
        using (Sec. 5.1)

strlen routine (Sec. 5.1.5)
        explanation of code fragment (Sec. 5.1.5)
        results of example call (Sec. 5.1.5)

strncmp routine (Sec. 5.1.2)
        explanation of code fragment (Sec. 5.1.2)
        results of example calls (Sec. 5.1.2)

strncpy routine (Sec. 5.1.4)
        explanation of code fragment (Sec. 5.1.4)
        results of example call (Sec. 5.1.4)

structure
        See data structure

symmetric multiprocessing environment
        See SMP environment

synchronization (Sec. 6.1)
        hardware issues related to (Sec. 6.1)

sysconfigtab file fragment
        creating (Sec. 10.6)

system time
        concepts (Sec. 5.4.1)
        creating (Sec. 5.4.1.2)
        fetching (Sec. 5.4.2)
        how a kernel module uses (Sec. 5.4.1.1)
        working with (Sec. 5.4)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

T

task data structure (Sec. 9.2)

testing a kernel module (Sec. 10.0)

thread
        See kernel thread

thread data structure (Sec. 9.1.1)
thread data structure (Sec. 9.2)

thread_block routine (Sec. 9.4.1)

thread_create routine (Sec. 9.3.1)

thread_halt_self routine (Sec. 9.6)

thread_set_timeout routine (Sec. 9.7)

thread_start routine (Sec. 9.3.1)

thread_terminate routine (Sec. 9.6)

thread_wakeup routine (Sec. 9.5)

thread_wakeup_one routine (Sec. 9.5)

time
        See system time

timeout routine (Sec. 5.3.4)
        explanation of code fragment (Sec. 5.3.4)

timer queue
        removing scheduled routine from (Sec. 5.3.5)

timer queue element
        initializing (Sec. 5.3.4)

timestamp
        converting to a string (Sec. 5.4.4)
        modifying (Sec. 5.4.3)

TIME_READ macro (Sec. 5.4.2)
TIME_READ macro (Sec. 5.4.3)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

U

uiomove routine
        explanation of code fragment (Sec. 5.2.5)

untimeout routine (Sec. 5.3.5)
        explanation of code fragment (Sec. 5.3.5)

user address space
        copying from, with copyin routine (Sec. 5.2.3)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

V

virtual space
        moving data between user and system with uiomove routine (Sec. 5.2.5)

/vmunix (Sec. 2.2.1.1)
/vmunix (Sec. 4.2)

Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

W

wakeup routine (Sec. 5.3.3)
        explanation of code fragment (Sec. 5.3.3)