Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ intro(D2DK) — Motorola System V 88k Release 4 Version 4.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

intro(D2DK)  —  

.IX \f4intro\fP(D2DK)
.IX istart DDI/DKI (Device Driver Interface/Driver\(enKernel Interface), driver entry point routines

NAME

intro − introduction to driver entry point routines

SYNOPSIS

#include <sys/types.h>
#include <sys/ddi.h>

DESCRIPTION

This section describes the routines a developer needs to include in a device driver.  These routines are called “entry point routines” because they provide the interfaces that the kernel needs from drivers.  The kernel calls them when needed.  Some are called at well-defined times, such as system start up and system shut down.  Others are called as a result of I/O-related system calls or external events, such as interrupts from peripheral devices. 

Each driver is organized into two logical parts: the base level and the interrupt level.  The base level interacts with the kernel and the device on behalf of processes performing I/O operations.  The interrupt level interacts with the device and the kernel as a result of an event such as data arrival, and usually cannot be associated with any particular process. 

Each driver is uniquely identified by a prefix string specified in its configuration file.  The name of all the driver-supplied routines and global variables should begin with this prefix.  This will reduce the chance of a symbol collision with another driver.  Any private routines defined by a driver that are not entry point routines should be declared as static.  Also, any global variables that are private to the driver should be declared as static. 

In general, any number of instances of the same driver entry point routine can be running concurrently.  It is the responsibility of the driver or module to synchronize access to its private data structures. 

Drivers do not have to worry about making kernel buffers addressable to their DMA controllers.  The kernel will make sure that any kernel buffer addresses passed to a driver entry point will be addressable by the driver’s hardware.  .IX iend STREAMS entry points
.IX iend driver, entry points
.IX iend DDI/DKI (Device Driver Interface/Driver\(enKernel Interface), driver entry point routines

DDI/DKI

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026