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 device-specific state information and transition to a known or Quiesced state.

32

High Availability Software for the Intel® NetStructureTM ZT 4901 Technical Product Specification

Page 32
Image 32
Intel ZT 4901 Device Driver States, Initialization, Quiesced, Activation, High Availability CompactPCI Device Drivers