This document is a reference manual for software engineers developing Step 2 device drivers for OpenVMS AXP Version 6.1. It provides detailed information on the new device driver interface, replacing the older Step 1 interface.
The manual is structured into five main parts:
- Device Driver Entry Points: Describes standard driver routines used by OpenVMS AXP as entry points, including alternate start-I/O, cancel-I/O, channel assign, cloned UCB, controller and unit initialization, FDT upper-level action, FDT error-handling, interrupt service, mount verification, register dumping, and timeout handling routines. Driver unloading routines are noted as unsupported in OpenVMS AXP.
- System Routines: Details call-based OpenVMS system routines that support Step 2 drivers, highlighting those that are new, changed, or unsupported compared to OpenVMS VAX.
- Data Structures: Explains the components of the I/O database, such as the Unit Control Block (UCB), Device Data Block (DDB), Channel Request Block (CRB), Interrupt Dispatch Block (IDB), Adapter Control Block (ADP), I/O Request Packet (IRP), and Kernel Process Block (KPB).
- MACRO-32 Driver Macros: Documents JSB-replacement, FDT completion, and other macros used in OpenVMS AXP device drivers.
- C Driver Macros: Describes C macros that support the simple fork mechanism for device drivers.
Throughout the document, a strong emphasis is placed on notes for converting existing Step 1 OpenVMS VAX or AXP drivers to the Step 2 OpenVMS AXP driver model.