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
.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
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
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
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
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
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
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
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
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/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
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
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
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
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
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
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
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
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
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
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
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
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
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
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