address invariance A feature of a data bridge (such as a PCI bridge ) by which the address of any byte transferred across the bridge remains the same on both sides of the bridge.
address-invariant byte swapping A technique for changing data between big-endian and little-endian formats that preserves address invariance.
address space The domain of addresses in memory that can be directly referenced by the processor at any given moment.
address swizzling A technique for producing address invariance in mixed-endian systems by making small changes in the addresses of multibyte fields without altering the field formats--that is, without byte swapping.
APDA Apple's worldwide direct distribution channel for Apple and third-party development tools and documentation products.
aperture A logical view of the data in a frame buffer, organized in a specific way and mapped to a separate area of memory. For example, a frame buffer may have a big-endian aperture and a little-endian aperture, providing instant access to the buffer in either addressing mode.
Apple AV technologies A set of advanced I/O features for Macintosh computers that includes versatile telecommunications, video I/O, and 16-bit stereo sound I/O.
Apple GeoPort interface A serial I/O interface through which Macintosh computers can communicate with a variety of ISDN and other telephone transmission facilities by using external pods.
application programming interface (API) A set of services in Mac OS that supports application software. See system programming interface.
autoconfiguration A method of integrating peripheral devices into a computer system that includes mechanisms for configuring devices during system startup and requires that vendors include expansion ROMs on plug-in cards.
AV technologies See Apple AV technologies.
big-endian Used to describe data formatting in which each field is addressed by referring to its most significant byte. See also little-endian.
BIOS The Basic Input/Output System in ROM that used by Intel-compatible computers to configure devices at system startup time.
boot driver An FCode device driver that is used during the Open Firmware startup process. It is loaded from the expansion ROM on a PCI card.
bootROM A small read-only-memory (ROM) device that contains the hardware-specific code needed to start up the computer. Open Firmware is in the bootROM.
byte lane An 8-bit channel of a data bridge that passes individual bytes of data.
byte swapping A technique of changing the order of byte lanes as they pass through a data bridge (such as a PCI bridge ) that produces address invariance in a mixed-endian system.
CFM See Code Fragment Manager.
Code Fragment Manager (CFM) A part of Mac OS that loads pieces of code into RAM and prepares them for execution.
coherency See memory coherency.
color depth The number of bits required to encode the color of each pixel in a display.
completion routine A routine provided by a Device Manager client that lets the Device Manager notify the client that an I/O process has finished.
concurrent drivers Drivers that can process more than one request at a time.
configuration The process of modifying the software of a computer so it can communicate with various hardware components.
cookie A parameter in programming that is used only to transfer a value from one routine to another.
Data Link Provider Interface (DLPI) The standard interface Apple uses for Open Transport drivers.
device environment A software environment with which a device operates, such as the Open Firmware startup process or an operating system.
Device Manager Part of Mac OS that installs device drivers and communicates with them.
device node In a device tree, a node that serves one hardware device.
device tree A software structure, generated during the Open Firmware startup process, that assigns nodes to all devices available to the system. Mac OS extracts information from the device tree to construct the device parts of the Macintosh Name Registry.
direct memory access (DMA) A means of transferring data rapidly into or out of RAM without passing it through the microprocessor.
disk-based driver A driver typically located in the Mac OS Extensions folder.
digital audio/video (DAV) interface A connector in certain Power Macintosh models that lets expansion cards communicate directly with the system's audio and video signal streams.
Display Manager A part of Mac OS that provides a uniform family programming interface for display devices.
DLPI See Data Link Provider Interface.
driver The code that controls a physical device such as a PCI card device.
driver closure A driver and all its associated libraries, for which memory may be held or released.
driver gestalt call A status call to a device driver that returns information such as the driver's revision level or the device's power consumption.
Driver Loader Library (DLL) A CFM shared library extension to the Device Manager, which installs and removes drivers.
Driver Services Library (DSL) A CFM shared library that supplies most of the programming interfaces required by native drivers. The family programming interfaces (FPI) provide the additional expert functions necessary for a family of devices. For example, FireWire devices belong to the FireWire family of devices, and have a FireWire FPI.
dynamic random-access memory (DRAM) Random-access memory in which each storage address must be periodically accessed ("refreshed") to maintain its value.
Expansion Bus Manager The part of the Mac OS startup software that provides access to I/O memory and manages the storage of certain information in nonvolatile RAM.
expansion ROM A ROM on a PCI expansion card that supplies the computer with information about the card and any associated peripheral devices during the configuration process. Also called a declaration ROM or a configuration ROM. The expansion ROM can contain FCode which is used by Open Firmware during the Macintosh startup process.
expert The code that connects a family of devices to the native I/O framework.
family A collection of devices that provide the same kind of functionality, such as the set of Open Transport devices.
family administrator Code that sends configuration information to a family of devices.
family expert An expert that uses the Name Registry to find device entries of its family service type.
family library A set of routines that a family expert uses to support PCI devices of its family service type.
family programming interface (FPI) A set of system services that mediate between family experts and the devices within a family.
Fast Path An optional optimization of Open Transport wherein the driver supplies the client with a precomputed packet header for a given destination.
FCode A tokenized version of the Forth programming language. For example, FCode is used in PCI card expansion ROMs. The elements of FCode are all 1 or 2 bytes long.
FCode tokenizer A utility program that translates lines of Forth source code into FCode.
frame buffer Memory that stores one or more frames of video information for display on a screen.
gestalt node A node at the root of the device tree that contains information about the Macintosh system.
GeoPort See Apple GeoPort interface.
hard decoding The practice by which an expansion card defines PCI address spaces, instead of letting the Macintosh system assign relocatable base addresses.
hardware interrupt A physical device's method for requesting attention from a computer.
hardware interrupt handler The part of an interrupt handler that responds directly to a hardware interrupt. It usually satisfies the source of the interrupt and queues a secondary interrupt handler to perform the bulk of the interrupt servicing.
hardware interrupt level The execution context provided to a device driver's hardware interrupt handler. In this context hardware interrupts of the same or lower priority are disabled.
IEEE Institute of Electrical and Electronics Engineers.
input/output (I/O) Parts of a computer system that transfer data to or from peripheral devices.
installation Of an interrupt, the process of associating an interrupt source with an interrupt handler.
interrupt dispatching The process of invoking an interrupt handler in response to an interrupt.
interrupt handler Code that performs tasks required by a hardware interrupt.
interrupt registration The process of attaching an interrupt handler to the interrupt source tree.
interrupt set One level in an interrupt tree.
interrupt source A physical device that is able to interrupt the process flow of the computer.
interrupt source tree (IST) A data structure associated with a hardware interrupt source that contains the interrupt handling routines that the Macintosh system may execute.
little-endian Used to describe data formatting in which each field is addressed by referring to its least significant byte. See also big-endian.
low-level expert An expert that places information about devices in the Name Registry.
Macintosh Programmer's Workshop (MPW) A complete software development environment that runs on Macintosh computers.
Mac OS Apple's operating system software for Macintosh and Macintosh-compatible computers. Previously called Macintosh system software.
methods In the context of this document, methods are parts of an Open Firmware device package that perform operations like a function, subroutine, or procedure.
memory coherency The property of a range or kind of memory by which all parts of the computing system access the same values. Memory coherency ensures that data being moved into or out of memory does not appear to have different values when accessed by the processor and PCI bridges.
mixed-endian The ability of a computer system, such as Power Macintosh, to support both big-endian and little-endian data formats.
modifier Information associated with a name or property that is hardware or implementation specific, such as whether or not the name or property is saved to nonvolatile RAM.
name entry An element of the Name Registry. Name entries are connected hierarchically to other name entries and have properties.
Name Registry A high-level Mac OS system service that stores the names of software objects and the relations among the names. The Name Registry extracts device information from the device tree and makes it available to Macintosh run-time drivers.
native driver A driver that is written in PowerPC code and that uses the native I/O framework in PCI-based Power Macintosh computers.
native driver package A CFM code fragment that contains the driver software for a family of devices.
native I/O framework The set of services in Mac OS that support native run-time drivers.
noninterrupt level See task level.
nonvolatile RAM (NVRAM) Memory, in either flash ROM or battery-powered RAM, that retains data between system startups.
Open Firmware driver An FCode driver utilized to support devices during the Macintosh startup process. See boot driver.
Open Firmware startup process The startup process by which PCI-compatible Macintosh computers recognize and configure peripheral devices connected to the PCI local bus. It conforms to an IEEE standard 1275.
Open Transport A device family that handles network devices such as LocalTalk and Ethernet.
pass-through memory cycle A PCI data transfer cycle in which the PCI bridge passes the original PowerPC word address to the PCI bus.
PCI Abbreviation for Peripheral Component Interconnect.
PCI bridge An ASIC chip that communicates between the computer's microprocessor and a PCI local bus.
PCI local bus A bus architecture for connecting ASICs and plug-in PCI expansion cards to a computer's main processor and memory. It is defined by the PCI specification.
PCI specification PCI Local Bus Specification, Revision 2.0, a document issued and maintained by the PCI Special Interest Group.
physical device A piece of computer hardware that performs an I/O function and is controlled by a driver.
pixel A single dot on a screen display.
port driver A driver for Open Transport.
PowerPC A family of RISC microprocessors.
property A piece of descriptive information associated with a node in the device tree or with a name entry in the Name Registry.
property list The collection of properties associated with a device.
reduced instruction set computing (RISC) A technology of microprocessor design in which all machine instructions are uniformly formatted and are processed through the same steps.
RISC See reduced instruction set computing.
ROM-based driver A driver located in the expansion ROM of a PCI expansion card.
run-time driver A device driver that is used by an operating system after the Open Firmware startup process has finished. It may be supplied by the operating system, contained in an expansion ROM on a PCI expansion card, or a disk-based driver.
scanning The process of matching a device with its corresponding driver.
scatter-gather buffer A buffer that stores data in several discontiguous ranges of memory.
scatter-gather list The set of physical address ranges corresponding to a transfer buffer.
SCSI Interface Module (SIM) A driver for a SCSI-bus host adapter that is compatible with SCSI Manager 4.3. There are also SCSI drivers and SCSI disk drivers.
secondary interrupt handler An interrupt handler that is queued for execution after the hardware interrupt handler has responded to the interrupt. Secondary interrupt handlers can be interrupted and execute serially when the system is not otherwise busy.
secondary interrupt level The execution context provided to a device driver's secondary interrupt handler. In this context hardware interrupts are enabled and additional interrupts may occur.
transversal interrupt service routine (ISR) routes interrupt processing from a member to one of its child members. Transversal ISRs are always attached to root or parent/child members.
SIM See SCSI Interface Module.
SPI See system programming interface.
startup firmware Code in the Macintosh ROM that implements the Open Firmware startup process. The NewWorld architecture implements a bootROM that contains Open Firmware FCode that performs the startup process.
task level The execution environment for applications and other programs that do not service interrupts. Also called noninterrupt level.
time base The model-dependent rate on which real-time timing operations are based in the Driver Services Library (DSL) .
vertical blanking task A task that executes during a display device's vertical retrace intervals.
virtual device I/O code that provides a capability that is not hardware specific--for example, a RAM disk.
YUV A format for representing video data.