This Digital Equipment Corporation training module, "VAX/VMS Device Driver Required Driver Routines," outlines the essential components and development procedures for core routines in VAX/VMS device drivers. It primarily focuses on the Start I/O routine and the Interrupt Service Routine (ISR), which are fundamental for all device drivers.
The document begins by setting learning objectives, including understanding instruction set restrictions for device register access and writing these two key routines for both buffered and direct I/O. It details critical restrictions on driver code, such as requiring position-independent and reentrant code, using non-interruptible instructions for I/O space references (byte/word for UNIBUS, long word for MBA/MASSBUS), and exercising caution when calling system routines.
Key development aspects covered include:
_VIELD macro for generating symbols representing bit numbers, masks, and field sizes.Comprehensive sections are dedicated to:
The document concludes with an appendix that provides detailed notes on the steps involved in buffered and direct I/O operations, including channel allocation, mapping register utilization, powerfail handling, and the construction of UNIBUS addresses for DMA transfers.
Site structure and layout ©2025 Majenko Technologies