|
|
2.1 Overview of UDI Documentation
The UDI documentation is organized into several related specifications. The UDI Core Specification is mandatory for all UDI implementations; all other UDI Specifications define optional sets of interfaces that may be available for supporting specific sets of functionality.
In addition to the UDI Specifications, there are several other documents referred to as Guides or White Papers. These Guides and White Papers provide additional information and descriptions for using UDI but are supplementary to the UDI Specifications and define no additional interfaces. All UDI Specifications shall be considered as normative material and all Guides and White Papers shall be considered to be informative material.
This picture is intended to show the types of books in the UDI document set: driver-type specific specifications, bus bindings, ABI bindings, physical I/O interfaces, etc., all of which are centrally supported by the UDI Core Specification. Not all of the books mentioned in this figure will be available coincident with the publishing of the UDI Core Specification.
2.2 Overview of the UDI Core Specification
2.2.1 Core Specification Sections
The UDI Core Specification is organized into the following main sections:
2.2.2 Core Specification Topics
Some of the topics covered in the UDI Core Specification include:
- Memory management
- Buffer management
- Timer functions
- Context and execution control (Control Blocks)
- Tracing and Logging functions
- Utility functions
- Configuration, Distribution, and Packaging
This Core Specification also defines the set of data types and objects used within a UDI environment and the execution model for UDI drivers running in a UDI environment.
Topics not found in this UDI Core Specification but covered in other optional UDI specifications include:
- Non-Core Metalanguages (e.g., SCSI, Networking)
- Physical Device Access Interfaces (e.g., PIO, DMA, and Interrupts)
- Bus Bindings (e.g., PCI, EISA, etc.)
- ABI Bindings (e.g., IA32, IA64, PowerPC, etc.)
These topics are not found in this UDI Core Specification because they are specific to the needs of a given I/O technology, device class, hardware or bus type, or processor type; the Core Specification provides interfaces that can apply to any type of driver or hardware. A typical UDI driver for a PCI adapter would make use of UDI Specifications for Physical Device Access and the PCI Bus Binding, while a compliant UDI driver for a USB device (an OpenUSBDI driver) would use the USB Metalanguage defined in the OpenUSBDI Specification, but no physical device access or physical I/O bus bindings.