[Contents] [Help]


Index


Click letter for quick access:
[Special Characters] 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

Special Characters


.product.list file
        compared with NAME.list
        defined
        description
        format of


Click letter for quick access:
[Special Characters] 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


addr member
        formal description of controller structure field

addr1_atype member
        formal description of driver structure field
        initialized for cb driver

addr1_size member
        formal description of driver structure field
        initialized for cb driver

addr2 member
        formal description of controller structure field

addr2_atype member
        formal description of driver structure field
        initialized for cb driver

addr2_size member
        formal description of driver structure field
        initialized for cb driver

addr_list member
        formal description of driver structure field
        initialized for cb driver

alive member
        alive bit values from devdriver.h
        alive bit values from devdriver.h
        formal description of bus structure field
        formal description of controller structure field
        formal description of device structure field

allocating system resources for DMA
        by calling dma_map_alloc kernel interface

allocating variable-size memory
        with MALLOC kernel interface

ALV_ALIVE constant
        alive bit for bus structure alive member

ALV_FREE constant
        alive bit for bus structure alive member
        alive bit for controller structure alive member

ALV_LOADABLE constant
        alive bit for bus structure alive member
        alive bit for controller structure alive member

ALV_NOCNFG constant
        alive bit for bus structure alive member
        alive bit for controller structure alive member

ALV_NOSIZER constant
        alive bit for bus structure alive member
        alive bit for controller structure alive member

ALV_PRES constant
        alive bit for bus structure alive member
        alive bit for controller structure alive member

ALV_RONLY constant
        alive bit for controller structure alive member

ALV_WONLY constant
        alive bit for controller structure alive member

attach interface
        implementing
        setting up for a controller
        setting up for a device

autoconfiguration
        defined

av_back member
        formal description of buf structure field

av_forw member
        formal description of buf structure field


Click letter for quick access:
[Special Characters] 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


BADADDR interface
        called by the probe interface
        explanation of code fragment

bcopy kernel interface
        explanation of code fragment
        explanation of code fragment
        results of example calls

binary status flags
        formal descriptions of
        specified by b_flags member of buf structure

BINARY.list file
        creating
        description

bit issues
        declarations
                of 32-bit and 64-bit sized variables
                of 32-bit signed variables
                of arguments to C functions
                of bit fields
                of register variables
        modifying type char
        performing bit operations on constants
        size
                C compiler data types and bit sizes
        using NULL and zero values
        using printf formats
        using wbflush

block device driver
        compared with character device driver
        introductory discussion and examples of
        sections of
        specification of during driver development

block device
        comparison with character device
        defined

buf structure
        defined
        formal description
        list of member names and data types
        locally defined code example
        using in systemwide pool code example

buf.h file
        defines binary status flags used by b_flags member of buf structure

buffer cache
        contains block-sized buffers used by block drivers in I/O operations
        example of I/O requests from
        management of
        use of driver strategy interface

bus configuration interfaces
        summary descriptions

bus physical address
        defined
        description of address type that device drivers use

bus structure
        defined
        list of member names and data types

bus support subsystem
        accessing device registers of bus adapter
        communication with the device driver subsystem
        communication with the hardware-dependent subsystem
        defined
        discussion of relationship to implementing new buses
        discussion of relationship to tailoring existing buses

bus
        consideration of, when writing probe and slave interfaces
        defined
        discussion of issues related to driver development
        discussion of specifying which bus a device is on
        See also OPENbus
        relationship to device driver
        relationship to device driver

bus-specific header file
        discussion of including in device driver

bus_bridge_dma member
        formal description of bus structure field

bus_hd member
        formal description of bus structure field
        formal description of controller structure field

bus_list member
        formal description of bus structure field

bus_mbox member
        formal description of bus structure field

bus_name member
        formal description of bus structure field
        formal description of controller structure field

bus_num member
        formal description of bus structure field
        formal description of controller structure field

bus_priority member
        formal description of controller structure field

bus_type member
        formal description of bus structure field

byte string
        copying bcopy kernel interface
        copying bcopy kernel interface

bzero kernel interface
        explanation of code fragment

b_back member
        formal description of buf structure field

b_bcount member
        formal description of buf structure field

b_blkno member
        formal description of buf structure field

B_BUSY constant
        formal description of binary status flag for b_flags member of buf structure
        relationship to av_forw and av_back buf structure members

b_dev member
        formal description of buf structure field

B_DONE constant
        formal description of binary status flag for b_flags member of buf structure

B_ERROR constant
        formal description of binary status flag for b_flags member of buf structure

b_error member
        formal description of buf structure field

b_flags member
        discussion of B_TAPE flag
        formal description of buf structure field

b_forw member
        formal description of buf structure field

b_iodone member
        formal description of buf structure field

b_lblkno member
        formal description of buf structure field

B_PHYS constant
        formal description of binary status flag for b_flags member of buf structure

b_proc member
        formal description of buf structure field

B_READ constant
        formal description of binary status flag for b_flags member of buf structure

b_resid member
        formal description of buf structure field
        use as argument with copyin kernel interface

B_TAPE constant
        formal description of binary status flag for b_flags member of buf structure

b_un.b_addr member
        formal description of buf structure field

B_WANTED constant
        formal description of binary status flag for b_flags member of buf structure


Click letter for quick access:
[Special Characters] 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


caddr_t data type
        description

callback interface
        implementing callback_register_configuration
        implementing callback_register_major_number

callback_register_configuration interface
        implementing a callback

callback_register_major_number interface
        implementing a callback

cattach member
        formal description of driver structure field
        initialized for cb driver

central processing unit
        defined
        discussion of architectural issues related to driver development
        driver design issues
                64-bit versus 32-bit
                device control status register (CSR) access
                DMA operations
                I/O copy operations
                memory barrier
                memory mapping
        interrupts generated on
        relationship to device driver

cfgmgr daemon
        defined

cfg_attr_t structure
        definition and description of members

CFG_OP_CONFIGURE operation
        determining the configuration state
        implementing callback interfaces
        initializaing the device driver name
        parsing attributes in the cfg_attr_t structure array
        registering controller and device information
        registering I/O services interfaces with devsw_add
        registering I/O services interfaces
        reserving a major number with devsw_add
        reserving a major number

CFG_OP_UNCONFIGURE operation
        deleting the major number from the major number database
        preventing the unloading of the currently active driver
        unconfiguring the specified controller

cfg_subsys_attr_t structure
        definition and description of members

character device driver
        compared with block device driver
        defined
        introductory discussion and examples of
        sections of
        simple interrupt example
        specification of during driver development
        written for devices that handle one character at a time

character device
        defined
        discussion of

close interface
        implementing
        performing tasks to close the device
        relationship to d_close member of dsent structure
        setting up

close system call
        causes driver's close interface to be called

cmd member
        formal description of controller structure field

compiler keyword
        See volatile keyword

conf directory
        summary description

conf member
        formal description

conf.h file
        contains definition of dsent structure

conf.h header file
        defines dsent and dsent tables

configuration_st member
        formal description of handler_intr_info structure field
        formal description of tc_intr_info structure field

configure interface
        defined
        description of cfg_attr_t structure members
        description of cfg_subsys_attr_t structure members
        implementing the CFG_OP_CONFIGURE operation
        implementing the CFG_OP_QUERY operation
        implementing the CFG_OP_RECONFIGURE operation
        implementing the CFG_OP_UNCONFIGURE operation
        implementing the default operation
        multiple bus issues
        setting up configure-related declarations
        setting up the cfg_subsys_attr_t structure
        setting up

config_type member
        formal description of handler_intr_info structure field

confl1 member
        formal description of bus structure field

confl2 member
        formal description of bus structure field

connect_bus member
        formal description of bus structure field

connect_num member
        formal description of bus structure field

conn_priv member
        formal description of bus structure field
        formal description of controller structure field
        formal description of device structure field

control status register (CSR)
        See device register

controller structure
        defined
        list of member names and data types

controller
        defined
        relationship to device driver

controller_config structure
        discussion of members
        use in registering controller information

copyin kernel interface
        explanation of code fragment
        results of example call

copying a memory block
        to another I/O address space with io_copyio kernel interface
        to I/O address space with io_copyout kernel interface
        to system memory with io_copyin kernel interface

copyout kernel interface
        explanation of code fragment
        results of example call

CPU
        See central processing unit

cpu.h header file
        defines information related to the CPU

CSR
        See device register

ctlr_list member
        formal description of bus structure field
        formal description of driver structure field
        initialized for cb driver

ctlr_mbox member
        formal description of controller structure field

ctlr_name member
        formal description of controller structure field
        formal description of device structure field
        formal description of driver structure field
        initialized for cb driver

ctlr_num member
        formal description of controller structure field
        formal description of device structure field
        used as an index in locally defined buf structure code example

ctlr_type member
        formal description of controller structure field

ctlr_unattach member
        formal description of driver structure field
        initialized for cb driver


Click letter for quick access:
[Special Characters] 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


daddr_t data type
        description

data copying interface
        category of kernel interface

dattach member
        formal description of driver structure field
        initialized for cb driver

DCD
        See direct CD

deallocating system resources for DMA
        by calling dma_map_dealloc kernel interface

deallocating variable-size memory
        with FREE kernel interface

DEC 3000 Model 500 AXP Workstation
        host CPU on which /dev/none driver operates on

declarations section
        description
        example for /dev/none driver

DELAY kernel interface
        explanation of code fragment

dense space address
        description of address type that device drivers use

dense space
        See dense space address

devdriver.h header file
        defines alive bits
        defines alive bits
        defines alive bits
        defines constants representing bus types
        defines structures used by device drivers

device autoconfiguration
        See autoconfiguration

device controller
        See controller

device driver configuration
        contents of configuration-related files
        defined

device driver delivery process
        defined

device driver development phase
        tasks
                creating driver development environment
                creating driver product related files and file fragments
                dynamically configuring device driver
                producing the single binary module
                providing the contents of the device driver kit
                statically configuring a device driver
                testing the device driver
                writing the device driver

device driver development
        comments
                discussion of approaches for writing
        tasks
                creating driver development and kitting environment
                describing usage of device
                determining structure allocation technique
                identifying conventions used in writing
                identifying conventions used in writing
                identifying driver entry points
                identifying support in writing
                providing description of device registers
                specifying characteristics of device
                specifying information about host system
                specifying locking method for SMP safe drivers
                specifying method for identifying bus, controller, and device information
                specifying method for registering device interrupt handlers
                specifying type of driver
                structure allocation technique guidelines
                understanding bus issues affecting driver design
                understanding CPU issues affecting driver design
                understanding system data and address types that device drivers use
        worksheets
                device characteristics for none device
                device characteristics for none device
                device driver conventions for /dev/none
                device driver entry points for /dev/none
                device driver support for /dev/none
                device driver type for /dev/none
                device register for none device
                device usage for none device
                host system for /dev/none
                host system for /dev/none
                locking methods

device driver kit delivery process
        audiences

device driver kit development phase
        tasks
                preparing the distribution medium
                writing the subset control program

device driver kit installation phase
        tasks

device driver kit
        contents of
        delivery process

device driver subsystem
        accessing device registers of specific devices
        communication with the bus support subsystem
        communication with the hardware-dependent subsystem
        communication with the hardware-independent subsystem
        defined

device driver
        See also block device driver
        See also character device driver
        defined
        entry points
                specifying during driver development
        example of reading a character
        locking method
                specifying during driver development
        See also network device driver
        place in Digital UNIX
        See also pseudodevice driver
        relationship to kernel
        sections
                declarations
                include files
        support
                contacting driver experts
                locating existing documentation
                locating existing source code
                using source code for a UNIX driver
                using source code for an ULTRIX driver
                using source code for driver written for another operating system
                writing from scratch
        to handle requests made by the kernel
        types of
        when called by the kernel

device register header file
        defined
        example of contents

device register offset
        defined
        example of

device register
        accessed by device drivers
        defined
        discussion of
        mapping of with memory address
        reading data from by calling read_io_port interface
        relationship to I/O handle
        sketching layout of
        used by the device
        writing data to by calling write_io_port kernel interface

device structure
        defined
        list of member names and data types

device switch structure
        defined
        initialized for cb driver

device switch table
        See also dsent

device
        characteristics
                discussion of actions to be taken on interrupts
                discussion of block I/O support during driver development
                discussion of byte stream access support during driver development
                discussion of file system support during driver development
                discussion of how to reset device
        See peripheral device
        usage
                describing purpose of
                listing of device documentation
                specifying number of device types

Device_Block_Files field
        description

Device_Block_Major field
        description

Device_Block_Minor field
        description

Device_Block_Subdir field
        description

Device_Char_Files field
        description

Device_Char_Major field
        description

Device_Char_Minor field
        description

Device_Char_Subdir field
        description

device_config structure
        discussion of members
        use in registering device information

Device_Dir field
        description

Device_Group field
        description

Device_Major_Req field
        description

Device_Mode field
        description

Device_Subdir field
        description

Device_User field
        description

devsw_add interface
        used to register I/O services interfaces
        used to reserve a major number

DEV_FUNNEL constant
        used as value for d_funnel member of dsent structure

dev_list member
        formal description of controller structure field
        formal description of driver structure field
        initialized for cb driver

dev_name member
        formal description of device structure field
        formal description of driver structure field
        initialized for cb driver

dev_t data type
        defined
        description
        relationship to read interface
        type for b_dev member of buf structure

dev_type member
        formal description of device structure field

dev_unattach member
        formal description of driver structure field
        initialized for cb driver

direct memory access device
        discussion of
        See also DMA device

direct memory access
        See DMA

disk partition
        block number
        logical block number

DMA device
        defined

DMA handle
        defined
        description

DMA
        allocating system resources by calling dma_map_alloc kernel interface
        defined
        kernel interfaces related to
        loading and setting allocated system resources by calling dma_map_load kernel interface
        releasing and deallocating system resources by calling dma_map_dealloc kernel interface
        returning a kernel segment address by calling dma_kmap_buffer kernel interface
        unloading system resources by calling dma_map_unload kernel interface
        use of b_un.b_addr member to perform

dma_get_curr_sgentry kernel interface
        explanation of code fragment

dma_get_next_sgentry kernel interface
        explanation of code fragment

dma_handle_t data type
        defined in devdriver.h

dma_kmap_buffer kernel interface
        explanation of code fragment

dma_map_alloc kernel interface
        explanation of code fragment

dma_map_dealloc kernel interface
        explanation of code fragment

dma_map_load kernel interface
        explanation of code fragment

dma_map_unload kernel interface
        explanation of code fragment

dma_put_curr_sgentry kernel interface
        explanation of code fragment

dma_put_prev_sgentry kernel interface
        explanation of code fragment

doconfig program
        running for /vmunix static configuration
        running for sysconfigtab static configuration

doconfig
        copying .product.list file to NAME.list file

driver interfaces
        list of

driver member
        formal description of controller structure field

driver_name member
        formal description of bus structure field

dsent structure
        defined in conf.h
        discussion of members
        use in registering I/O services interfaces
        use in reserving a major number

dsent table
        adding device driver interfaces to, for loadable drivers
        defined in conf.h
        defined in conf.h

dump interface
        implementing
        relationship to d_dump member of dsent structure
        setting up

dynamic configuration
        list of steps
        to build a dynamic module
                link the single binary module
                link to the method file
                run the sysconfig utility

d_bflags member
        formal description of dsent structure field

d_cflags member
        formal description of dsent structure field

d_close member
        formal description of dsent structure field

d_dump member
        formal description of dsent structure field

d_funnel member
        formal description of dsent structure field
        relationship to an SMP driver

d_ioctl member
        formal description of dsent structure field

d_mmap member
        formal description of dsent structure field

d_open member
        formal description of dsent structure field

d_psize member
        formal description of dsent structure field

d_read member
        formal description of dsent structure field

d_reset member
        formal description of dsent structure field
        nodev interface as value

d_segmap member
        formal description of dsent structure field

d_select member
        formal description of dsent structure field
        nodev interface as value

d_stop member
        formal description of dsent structure field
        nodev interface as value
        nulldev interface as value

d_strategy member
        formal description of dsent structure field

d_ttys member
        formal description of dsent structure field

d_write member
        formal description of dsent structure field


Click letter for quick access:
[Special Characters] 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


edpseudo device driver
        source listing

EINVAL error code
        description

EIO error code
        description

ENODEV error code
        description

errno.h file
        defines error codes returned to user process by device driver
        defines error codes used for b_error member

EXTRAS.mod file
        copying for sysconfigtab static configuration


Click letter for quick access:
[Special Characters] 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


files file fragment
        created to produce the single binary module
        defined
        description
        use by config program

files file
        comparison with customer files file
        defined

flags member
        formal description of controller structure field

framework member
        formal description of bus structure field

FREE kernel interface
        to free dynamically allocated memory


Click letter for quick access:
[Special Characters] 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


GENERIC configuration file
        description

global variables
        summary descriptions

go member
        formal description of driver structure field


Click letter for quick access:
[Special Characters] 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


handler_add kernel interface
        explanation of code fragment

handler_enable kernel interface
        explanation of code fragment

handler_intr_info structure
        defined
        discussion of members
        list of member names and data types
        use in registering interrupt service interfaces

hardware activities
        related to device drivers

hardware components
        central processing unit
        of interest to device driver writers

hardware device
        See also peripheral device

hardware-dependent subsystem
        communication with the bus support subsystem
        communication with the device driver subsystem
        communication with the hardware-independent subsystem
        defined
        discussion of relationship to writing device drivers

hardware-independent model
        components of
        defined

hardware-independent subsystem
        communication with the device driver subsystem
        communication with the hardware-dependent subsystem
        defined
        discussion of relationship to writing device drivers

hardware-related interface
        category of kernel interface

header files
        discussion of common driver
        discussion of conf.h
        discussion of cpu.h
        discussion of devdriver.h
        discussion of device register
        discussion of errno.h
        discussion of number and types included in device driver
        discussion of sysconfig.h
        discussion of uio.h
        example for /dev/none driver
        example of commonly used by device drivers
        list of with summary descriptions
        recommendations on using angle brackets (< and >) in explicit pathnames
        supplied on device driver kit

host CPU
        See central processing unit


Click letter for quick access:
[Special Characters] 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 address
        defined
        description of address type that device drivers use

I/O handle
        defined
        description
        See also io_handle_t data type
        relationship to probe interface
        relationship to slave interface

ihandler_t structure
        discussion of members
        list of member names and data types
        use in registering interrupt service interfaces

ih_bus member
        formal description of ihandler_t structure field

ih_bus_info member
        formal description of ihandler_t structure field

ih_id member
        formal description of ihandler_t structure field

include file
        See bus-specific files

ino_t data type
        description

interrupt code
        discussion of how kernel handles interrupts

interrupt handler
        defined

interrupt interface
        implementing

interrupts
        deregistering with the probe interface
        registering with the probe interface

intr member
        formal description of bus structure field
        formal description of controller structure field
        formal description of handler_intr_info structure field

ioctl interface
        implementing
        relationship to d_ioctl member of dsent structure

ioctl system call
        causes driver's ioctl interface to be called

iodone kernel interface
        explanation of code fragment
        relationship to b_iodone member of buf structure

io_copyin kernel interface
        explanation of code fragment

io_copyio kernel interface
        explanation of code fragment

io_copyout kernel interface
        explanation of code fragment

io_handle_t data type
        defined in devdriver.h
        description of data type that device drivers use

ivnum member
        formal description of controller structure field


Click letter for quick access:
[Special Characters] 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 kernel interface

kernel interface
        categories
        commonly used by device drivers

kernel kit
        See device driver kit

kernel physical address
        defined
        description of address type that device drivers use

kernel support interfaces
        summary descriptions of I/O support interfaces

kernel
        relationship to device driver

kernel-related interface
        category of kernel interface

kernel-unmapped virtual address
        defined
        description of address type that device drivers use

kits directory
        summary description

kmknod
        defined

kreg
        copying driver path to .product.list
        defined
        parsing the SCP for the driver paths file field

kseg address
        See kernel-unmapped virtual address


Click letter for quick access:
[Special Characters] 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


ln command
        used to link the single binary module for dynamic configuration
        used to link to the method file

loading allocated system resources for DMA
        by calling dma_map_load kernel interface

logunit member
        formal description of device structure field


Click letter for quick access:
[Special Characters] 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


major kernel interface
        explanation of code fragment

MALLOC kernel interface
        to dynamically allocate memory

mb kernel interface
        use as an alternative to wbflush on Alpha systems
        use with device driver close interface
        used to synchronize DMA buffers

memory address
        defined
        description of address type that device drivers use

memory barrier
        discussion of mb interface on Alpha systems
        discussion of

memory block
        copying a memory block to I/O space with io_copyin kernel interface
        copying with io_copyio kernel interface
        copying with io_copyout kernel interface

memory map interface
        implementing

memory
        relationship to device driver
        zeroing with bzero kernel interface

minor kernel interface
        explanation of code fragment
        use with device driver close interface
        use with device driver ioctl interface
        use with device driver open interface
        use with device driver select interface

miscellaneous interface
        category of kernel interface

mmap interface
        relationship to d_mmap member of dsent structure

mmap system call
        causes kernel to invoke driver's memory map interface
        restrictions on some CPU architectures

module
        defined

Module_Config_Name field
        description

multiple bus issues
multiple bus issues
multiple bus issues


Click letter for quick access:
[Special Characters] 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


name.kit file
        defined
        description
        how OSFboot uses
        supplied on device driver kit

NAME.list file
        compared with .product.list
        defined
        description
        format of

NAME.mod file
        copying for sysconfigtab static configuration

naming scheme
        conventions
                for driver interfaces
                for none_configure
                for structures internal to drivers
        use of nm command to determine names currently used by system

network device driver
        defined
        introductory discussion of
        specification of during driver development

network device
        defined
        discussion of

nm command
        used to determine names currently used by system

nodev interface
        use as value for d_reset member of dsent structure
        use as value for d_select member of dsent structure
        use as value for d_stop member of dsent structure

none device driver
        convention used in example code
        source listing

none.mod file
        copying for sysconfigtab static configuration

none_configure driver interface
        discussion of naming requirement

null-terminated character string
        comparison of with strcmp kernel interface
        copying of with strncpy kernel interface
        copying of with strncpy kernel interface
        returning with strlen kernel interface

nulldev interface
        use as value for d_stop member of dsent structure

nxt_bus member
        formal description of bus structure field

nxt_ctlr member
        formal description of controller structure field

nxt_dev member
        formal description of device structure field


Click letter for quick access:
[Special Characters] 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


off_t data type
        description

open interface
        implementing
        performing tasks to open device
        relationship to d_open member of dsent structure
        setting up

open system call
        causes driver's open interface to be called

open systems
        discussion of goals

OPENbus
        defined
        TURBOchannel as an open architecture
        VMEbus as an open architecture

operating system
        discussion of issues related to driver development

OSFboot
        how it uses name.kit file


Click letter for quick access:
[Special Characters] 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


paddr_t data type
        description

panic kernel interface
        use with device driver write interface

param member
        formal description of handler_intr_info structure field

peripheral device
        defined
        discussion of distinctions
        relationship to device driver

physaddr member
        formal description of controller structure field

physaddr2 member
        formal description of controller structure field

physio kernel interface
        explanation of code fragment

pname member
        formal description of bus structure field
        formal description of controller structure field

port member
        formal description of bus structure field
        formal description of controller structure field

port structure
        defined
        member name and data type

porting Digital UNIX device drivers
        issues
                changes to the config.file file fragment
                changes to the files file fragment
                changes to the stanza.loadable file fragment
                changes to the stanza.static file fragment
                device driver object files
                list of data structures to be retired
                list of interfaces to be retired
                list of interfaces to be retired
                list of stanza fields to be retired
                list of structures to be retired
                method for configuring and unconfiguring controllers
                method for identifying bus, controller, and device information
                method for registering block driver interfaces
                method for registering character driver interfaces
                method for registering interrupt handlers
                method for specifying device special file information
                use of bus-specific option structure snippet
                use of bus-specific option structure
                use of data.c files
                use of device driver header file

porting ULTRIX device drivers
        differences
                between Digital UNIX and ULTRIX data structures
                between Digital UNIX and ULTRIX kernel interfaces
        tasks
                checking data structures
                checking driver interfaces
                checking header files
                checking kernel interfaces
                reviewing device driver builds
                writing test suites

printf kernel interface
        explanation of code fragment
        use in test program

priority member
        formal description of controller structure field

private member
        formal description of bus structure field
        formal description of controller structure field
        formal description of device structure field

probe interface
        discussion of I/O handle
        formal parameters affected by bus
        implementing
        multiple bus issues
        probing the address by calling the BADADDR interface
        reading data by calling driver-specific macros
        reading data by calling the read_io_port interface
        registering interrupt service interfaces
        registering shared interrupt service interfaces
        setting up to handle multiple buses
        setting up
        use of the handler_intr_info structure
        use of the ihandler_t structure
        writing data by calling driver-specific macros
        writing data by calling the write_io_port interface

probe member
        formal description of driver structure field
        initialized for cb driver

producing the single binary module
        copying driver product files
        create a kernel configuration development area
        creating a BINARY.list file
        creating a files file fragment
        creating a sysconfigtab file fragment
        creating driver product directory
        run the sourceconfig program
        run the sysconfigdb utility
        running the make program

pseudo device driver
        defined

pseudo terminal driver
        See pty terminal driver

pseudodevice driver
        discussion of issues related to driver development
        introductory discussion and examples of

psize interface
        implementing
        relationship to d_psize member of dsent structure
        setting up

pty terminal driver
        pseudodevice driver that simulates terminal device

putting a new bus address/byte count pair in the list
        by calling dma_put_curr_sgentry kernel interface
        by calling dma_put_prev_sgentry kernel interface


Click letter for quick access:
[Special Characters] 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

Q


queue_init kernel interface
        explanation of code fragment


Click letter for quick access:
[Special Characters] 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


raw mode
        processing of a read request that results in return of a single character

rctlr member
        formal description of controller structure field

read interface
        discussion of dev_t data type
        implementing
        relationship to d_read member of dsent structure
        setting up

read system call
        causes driver's read interface to be called
        discussion of arguments passed as a result of a call by user program

reading data from a device register
        by calling read_io_port interface

read_io_port interface
        called by the probe interface

read_io_port kernel interface
        explanation of code fragment

register_configuration interface
        use of the controller_config structure
        use of the device_config structure

register_major_number interface
        use of the dsent structure

releasing system resources for DMA
        by calling dma_map_dealloc kernel interface

reset function
        discussion of device driver tasks during driver development

reset interface
        implementing
        relationship to d_reset member of dsent structure
        setting up

returning a kernel segment address
        by calling dma_kmap_buffer kernel interface

returning a pointer to sg_entry structure
        by calling dma_get_curr_sgentry kernel interface
        by calling dma_get_next_sgentry kernel interface

rsvd member
        formal description of bus structure field
        formal description of controller structure field
        formal description of device structure field


Click letter for quick access:
[Special Characters] 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


SCP
        calling kreg

select interface
        implementing
        polling for input reads with the select interfaces
        polling for output writes with the select interfaces
        relationship to d_select member of dsent structure
        setting up
        use of the sel_queue structure

select system call
        causes driver's select interface to be called

select_dequeue interface
        used by select interface to poll for input reads
        used by select interface to poll for output writes

select_enqueue interface
        used by select interface to poll for input reads
        used by select interface to poll for output writes

sel_queue structure
        discussion of members
        list of member names and data types
        use with the select interface

setld
        calling SCP
        reading device driver kit

setting allocated system resources for DMA
        by calling dma_map_load kernel interface

sg_entry data structure
        description

sg_entry structure
        list of member names and data types

shared interrupt handler
        defined

shared interrupt line
        defined

shared interrupt
        enabling with handler_enable kernel interface
        registering in the probe interface
        registering with handler_add kernel interface

single binary module
        defined
        producing
        supplied on device driver kit

slave interface
        discussion of I/O handle
        formal parameters affected by bus
        implementing
        multiple bus issues
        setting up

slave member
        formal description of driver structure field
        initialized for cb driver

sleep kernel interface
        explanation of code fragment

slot member
        formal description of bus structure field
        formal description of controller structure field

source file
        supplied on device driver kit

source listing
        for edpseudo device driver
        for none device driver

sparse space address
        defined
        defined
        description of address type that device drivers use

sparse space
        See sparse space address

special device
        relationship to b_dev member of buf structure

spl interfaces
        summarized list of

splbio kernel interface
        explanation of code fragment

splx kernel interface
        explanation of code fragment

static configuration
        of a single binary module
        single binary module
                to produce a /vmunix
                to produce a boot link kernel
        to build a /vmunix
                copy the new kernel to the root directory
                create the NAME.list file
                run the doconfig program
                shutdown and reboot the system
        to build a boot-link kernel
                shutdown and reboot
        to build a sysconfigtab
                copy EXTRAS.mod file
                copy NAME.mod file
                copy none.mod file
                copy sysconfigtab text file
                edit the NAME.list file
                run the doconfig program

stop interface
        implementing
        relationship to d_stop member of dsent structure
        setting up

strategy interface
        implementing
        often uses b_bcount member of buf structure
        relationship to d_strategy member of dsent structure
        relationship to d_strategy member of dsent structure
        relationship to the buffer cache
        setting up

strcmp kernel interface
        explanation of code fragment
        results of example calls

strcpy kernel interface
        explanation of code fragment
        results of example call

string interface
        category of kernel interface

string operation
        comparing null-terminated character string using strcmp kernel interface
        comparing two strings using strncmp kernel interface
        copying null-terminated character string using strcpy kernel interface
        copying null-terminated character string using strncpy kernel interface
        returning number of characters using strlen kernel interface

strlen kernel interface
        explanation of code fragment
        results of example call

strncmp kernel interface
        explanation of code fragment
        results of example calls

strncpy kernel interface
        explanation of code fragment
        results of example call

structure
        allocation
                using dynamic allocation technique
                using static allocation model technique
        summary descriptions
        used by autoconfiguration software

Subset Control Program
        See SCP

sysconfig
        defined

sysconfig.h header file
        defines operation codes and data structures used in loadable driver configuration

sysconfigdb utility
        used to load the single binary module for dynamic configuration
        used to load the single binary module

sysconfigdb
        defined

sysconfigtab database
        comparison with sysconfigtab file fragment

sysconfigtab file fragment
        comparison with sysconfigtab database
        creating
        defined
        description
        format of
        list of fields
        use by sysconfigdb program

sysconfigtab text file
        copying for sysconfigtab static configuration

system address
        description of bus physical address
        description of dense space address
        description of I/O address
        description of kernel physical address
        description of kernel-unmapped virtual address
        description of memory address
        description of sparse space address

system data type
        description of io_handle_t

system management
        summary of tools used in driver integration


Click letter for quick access:
[Special Characters] 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


target configuration file
        description

terminal device driver
        defined
        introductory discussion and examples of
        written for terminal devices that can accept or supply a stream of data

terminal device
        defined
        discussion of

timeout kernel interface
        explanation of code fragment

time_t data type
        description

tty structure
        as a possible value for d_ttys member of dsent structure

types.h file
        defines system data types frequently used by device drivers


Click letter for quick access:
[Special Characters] 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


uio structure
        formal description
        list of member names and data types

uio.h header file
        defines uio data structure

uiomove kernel interface
        explanation of code fragment

uio_iov member
        formal description of uio structure field

uio_iovcnt member
        formal description of uio structure field

uio_offset member
        formal description of uio structure field

uio_resid member
        formal description of uio structure field

uio_rw member
        formal description of uio structure field

uio_segflg member
        formal description of uio structure field

unattach interface
        deregistering interrupt service interfaces
        implementing
        setting up for a controller
        setting up for a device

understanding system data types and addresses
        description of bus physical address
        description of dense space address
        description of I/O address
        description of io_handle_t data type
        description of kernel physical address
        description of kernel-unmapped virtual address
        description of memory address
        description of sparse space address

unit member
        formal description of device structure field

unloading system resources for DMA
        by calling dma_map_unload kernel interface

untimeout kernel interface
        explanation of code fragment

user address space
        copying from, with copyin kernel interface

user program
        relationship to device driver

u_short data type
        description


Click letter for quick access:
[Special Characters] 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


variable-size memory allocator
        allocating with MALLOC
        deallocating with FREE

VBA_Option field
        description

virtual space
        moving data between user and system with uiomove kernel interface

volatile keyword
        compiler keyword
        criteria for declaring variables and data structures


Click letter for quick access:
[Special Characters] 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 kernel interface
        explanation of code fragment

wbflush kernel interface
        use of mb interface as alternative on Alpha systems

write interface
        copying data to a device
        implementing
        relationship to d_write member of dsent structure
        setting up

write system call
        causes driver's write interface to be called

write_io_port interface
        called by the probe interface

write_io_port kernel interface
        explanation of code fragment
        use with device driver close interface

writing data to a device register
        by calling write_io_port kernel interface


Click letter for quick access:
[Special Characters] 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

X


xclu member
        formal description of driver structure field
        initialized for cb driver

xxselect interface
        example

xx_unit data structure
        declared in locally defined buf structure code example