High Availability Software for the Intel® NetStructureTM ZT 4901 Technical Product Specification 113
HSK Device Driver Interface for VxWorks* 5.4 C
The knowledge required to recompile the VxWorks kernel, as well as understand how the HSK
device driver integrates with VxWorks, requires a high degree of competency with this operating
system in order to gain the most benefit from an RH based system.
Whether you are modifying an existing driver or designing the device driver from scratch, adding
RH-aware functionality is a straightforward process for an experienced VxWorks programmer. The
driver must be written so it can transition from an Initialized state to a Quiesced state, and from a
Quiesced state to an Active state and back without being reloaded or re initialized.
When compiled, the provided driver-code template module makes available a series of function
calls matched to the required callbacks list in the HSK Driver Instantiation Code Segment. This
template must be populated with driver and device initialization functions. You can directly move
existing code segments from a driver into the template.
HA functions must be incorporated into any peripheral device driver used within a High-
Availability system. You need to restructure some of the device drivers to add these enhancements.
They should be included on a conditional basis for the drivers to operate in both High-Availability
and non-High-Availability systems.
Devices that do not conform to the CompactPCI Hot-Swap specification (PICMG 2.1) may not
fully benefit from High-Availability architecture and may unexpectedly and adversely affect
performance.
Note: Devices must not assert interrupts before the appropriate device drivers have been loaded.
Note: Device PCI configuration must match the CompactPCI specification. Implement the capability
register identifier and bit layout for the Status register as defined in the PICMG 2.1 specification.
During instantiation, the device driver must register itself with the RH Manager. Registration is
necessary in order for the RH Manager to notify an interested backplane device driver that a
particular device is transitioning between device accessibility states. See theFigure 6, “Multi-
Stated Driver Flowchart” on page33 for a graphical display of High-Availability state transitions.
When a driver registers itself with the HA Manager, it passes an HA Device object containing
callback function entries populated by the driver, a driver compatibility list, and a driver object
extension. A callback function is a pointer to a function that is in turn called by the HA Manager
whenever a driver state change is required or message distribution event occurs for a particular
device.

C.1 HSK Driver Object Declaration

After a driver is registered, it can send and receive the following message packets from a
reciprocating driver on the Redundant Host. The system call for a driver to register is
HARegisterDriver.