PATH 
ADC Home > Documentation > Hardware > Device Managers and Drivers > PCI Card Services > Designing PCI Cards and Drivers for Power Macintosh Computers


  

Drivers for Multiple Cards

This section describes two cases where drivers have to deal with multiple cards. They are the following:

The first case in which a driver may need to support multiple instances of the same PCI expansion card. In that case, the CFM and Driver Loader Library (DLL)do all the work and you will get a separate CFM instance of the driver for each card. The CFM links instances of the native driver on the fly when the driver is loaded by the DLL.

The second case where a driver needs to support different, but related PCI expansion cards (or multiple functions on one card). In this case the driver should use the Code Fragment Manager to import a shared library for both code and data.

Follow these design guidelines:

You can construct a driver that exports services for different families, such as both 'ndrv' and 'otan', using a driver description structure with multiple service categories defined.

Note

The driver is responsible for synchronizing accesses to the shared library in such a way that it protects shared data structures. You can use DSL mechanisms to help with synchronization.


© 1999 Apple Computer, Inc. – (Last Updated 26 March 99)