DEC OSF/1 Writing EISA Bus Device Drivers

Order Number: AA-QOR6A-TE

This document, "DEC OSF/1 Writing EISA Bus Device Drivers," serves as a comprehensive guide for systems engineers developing device drivers for the Extended Industry Standard Architecture (EISA) bus within the DEC OSF/1 operating system (Version 2.0 or higher). It assumes the reader has a strong background in C programming, UNIX environments, and basic DEC OSF/1 concepts such as kernel, shell, process, configuration, and autoconfiguration.

The guide covers the following key areas:

  • EISA Bus Architectures: Provides an overview of the EISA bus's hardware and software architectures, detailing its 32-bit address and data bus, support for various bus cycle sizes, Direct Memory Access (DMA), bus mastering capabilities, and byte ordering (Intel model, little endian). It also notes its backward compatibility with the Industry Standard Architecture (ISA).
  • Device Driver Structure: Explains the typical sections of an EISA bus device driver, including include files, declarations, and autoconfiguration support, with a specific focus on the xxprobe interface (for determining device existence and functionality) and the xxslave interface (for validating slave devices).
  • Data Structures: Discusses the various data structures essential for EISA bus device drivers to pass information between the kernel and driver interfaces. Key structures covered include controller, bus_mem, dma, eisa_option, e_port, and irq, detailing their EISA-specific members and usage.
  • Device Autoconfiguration: Describes the process by which the kernel identifies and configures EISA bus devices at system boot time. This involves the EISA Configuration Utility (ECU) reading expansion board and device configuration files, resolving conflicts, and saving the generated configuration to Nonvolatile Random-Access Memory (NVRAM).
  • Example Device Driver (/dev/envram): Presents a detailed example of a character device driver (/dev/envram) that operates on the EISA bus. This driver provides read/write services for an EISA bus NVRAM memory expansion board, which acts as a cache for the /dev/presto disk driver, illustrating the implementation of probe, attach, status, battery management, read, write, and zero interfaces.
  • Configuration: Explains how to configure EISA device drivers, particularly through the use of an eisa_data file in conjunction with the mkeisadata utility for static driver configurations.
  • Reference Information: Includes an appendix offering man-page style reference information for EISA bus-specific header files, data structures, and device driver interfaces.

The document aims to provide systems engineers with the necessary EISA-specific knowledge and practical examples to successfully develop portable device drivers for DEC OSF/1 systems.

AA-QOR6A-TE
February 1994
165 pages
Quality

Original
5.7MB

Site structure and layout ©2025 Majenko Technologies