This manual serves as a guide for system programmers on how to write, compile, link, and load device drivers for the OpenVMS AXP operating system. It details the fundamental components of a device driver, including driver tables (prologue, dispatch, and function decision tables) and various routines (FDT, start-I/O, interrupt service, timeout handling, and unit/controller initialization).
The document explains the I/O database structures, driver context, and synchronization mechanisms necessary for OpenVMS AXP. It also covers different I/O transfer methods, such as programmed I/O, direct memory access (DMA), buffered I/O, and direct I/O. A significant portion is dedicated to accessing device interface registers, including platform-independent I/O bus mapping and the use of Controller Register Access Mailboxes (CRAMs) for various bus architectures like TURBOchannel, PCI, EISA, ISA, and Futurebus+.
Further sections address the allocation of map registers and other counted resources, debugging techniques using Delta/XDelta Debuggers and the System-Code Debugger, and procedures for linking and loading device drivers into the OpenVMS AXP system, including considerations for "sliced" executive images. Example code for a sample driver is also provided.
Site structure and layout ©2025 Majenko Technologies