Native Driver White Paper
Native Driver White Paper
Macintosh · PDF
| Filename | Native_Driver_White_Paper_199405.pdf |
|---|---|
| Size | 0.17 MB |
| Subsection | developer / Copland / project_history |
| Downloads | 0 |
Contents
Native Driver White Paper
version 1.0
May 19, 1994
Holly Knight
John Fitzgerald
Mike Quinn
Wayne Meretsky
Overview
This document proposes required interfaces and packaging for Communications drivers
on PCI cards. At the time of this writing there are three different native device driver
proposals for the Marconi project. Each proposal covers a separate but overlapping piece
of the device driver puzzle for Marconi and future OS releases. The design presented
here will cover two broad issues. The first goal is to regularize device driver writing so
that PCI and non-PCI device drivers can be written to a single specification. The second
equally important goal is to have device drivers written to this specification work for both
the Marconi and Maxwell releases, as well as any future releases.
Documentation for PCI devices may be found in the following documents:
“Device Driver Development Kit” - ApplePC
“The Macintosh Expansion Manager” - ApplePC
Native Device Driver documents:
“Device Manager Changes to Support Native Drivers.” - AppleSoft
“Native Drivers for PCI and other Peripherals in Marconi” - AppleSoft
“AppleSoft PCI Implementation Plan” - AppleSoft
Open Transport/Streams documents:
“PCI/DLPI - Open Transport Integration” - Open Transport
“Open Transport Ethernet Developer Note” - Open Transport
“Streams Modules and Drivers” - Unix Press
In addition to providing general native device driver guidelines we use the native DLPI
driver for Open Transport to provide implementation specifics. We hope to see this
document become part of both a Device Driver Kit for PCI devices and an Open
Transport Software Developers Kit.
Terminology
In this document we use a set of possibly unfamiliar terms. This list is provided to clarify
discussions in subsequent sections.
Family - This term refers to a collection of devices that provide the same kind of
functionality. One example of a family is the set of Open Transport devices with their
corresponding Open Transport DLPI drivers. A second example is the family of Display
Devices.
Scanning - I use the word scanning or scanner to describe code that matches a device with
its corresponding driver. The scanning portion of device location is one of the problem
areas discussed in this paper. Scanning is probably a sub-function of the family Expert.
Expert - Expert is a term coined by Brenden Creane to describe family code that extracts
appropriate information from the system (ROM, Slot Manager, Expansion Manager, etc.)
and presents the device specific information to each family device in a format agreed
upon (documented). A family Expert is the administration function for a family. Experts
are important when devices are brought into the system (classically at boot time) but are
not part of the primary data paths to a device.
Driver Components
All native device drivers are CFM-loadable modules that export their API by using CFM’s
export-by-name feature. Native drivers are located in either System-ROM, PCI-card
RO…
Showing first 3,000 characters of 46,940 total. Open the full document →