
High Availability CompactPCI Device Drivers
5.1.1Device Driver States
There are varying degrees of functionality that are dependent on power modes, operating system Hot Swap implementations, and device characteristics. But for a device driver to function in this High Availability architecture we can generalize the required driver states down to three distinct states.
•Initialization
•Quiesced
•Activation
5.1.1.1Initialization
During initialization, the driver starts up and is loaded. The driver cannot “talk” directly to the hardware devices it is controlling, with the exception of PCI configuration cycles. Intel has provided the ability to perform PCI configuration cycles to any backplane devices even if the device driver resides on the Standby Host.
5.1.1.2Quiesced
A quiesced device driver is completely initialized with all internal allocations and instantiations of device information completed, ready to perform direct device operations. A device driver waits for notification from the Hot Swap Manager via a Start or Resume callback mechanism, indicating that the driver is free to access the device directly. The driver must be designed to transition between Quiesced and Active states at any time.
5.1.1.3Activation
Device activation notifies the driver that the system master is in the Active state; direct device interaction is permitted. When a device driver receives a Stop or Suspend callback, the driver must clean up any
32 | High Availability Software for the Intel® NetStructureTM ZT 4901 Technical Product Specification |