Next | Prev | Up | Top | Contents | Index
Migration Overview
The migration of drivers from an IRIX 4.0.5 environment to an IRIX 5.x environment is straightforward. The migration of several typical IRIX drivers required changes to less than 10% of the source lines. Most of these changes were in declarations. Naturally, extremely complex drivers that reached into the IRIX kernel to access services not typically employed in device drivers will have to change, as many of these interfaces have been replaced or altered. In any case, you are responsible for getting your device drivers to work across operating system and platform upgrades.
The changes to drivers fall in a number of broad categories:
- Changes in drivers that are a result of changes in the SVR4 API (Application Programmatic Interface) as compared to the SVR3 API.
- Changes to the declaration of the DKI interface, such as additional arguments to the driver calling interfaces and, in some cases, different procedure typing (mostly to make them void).
- Changes to use the DDI interface instead of the now obsolete IRIX 4.0.x interfaces for kernel service invocation. This may include changes that result from the changes in the semantics of the DDI. There are also some SGI interfaces defined for services omitted by DDI, such as cache flushing and address map setup.
- Changes to accommodate the architecture of the CHALLENGE/Onyx family, especially in the richness of its bus structure.
- Changes to accommodate the architecture of the Indigo2, notably the EISA bus. Since this is the first Silicon Graphics system to use this bus, there are no migration issues.
- Changes in network device drivers and protocol stacks to make use of the Data Link Provider Interface (DLPI). See the dlpi(7) man page.
- Changes to take advantage of the IRIX 5.x dynamically loadable kernel module support. This permits device drivers to be loaded into a running system without rebooting. This is discussed in the mload(4) man pages.
- Changes to the SCSI driver interface to unify all supported SCSI controllers. See Chapter 5, "Writing a SCSI Device Driver," for details.
Next | Prev | Up | Top | Contents | Index