Redundant Host API
The corresponding callback can be used to handle this situation. The callback is called with the bus lock held. Parameters to the callback include a list of entries identifying domain devices in unsafe states. These devices should be reset before the domain can be software connected and the device drivers can be started. However, reset may not be necessary for a specific device if it is known that this device is harmless for the system or the device driver can bring the device into a safe state before the bus lock is cleared.
If registered, the callback is called after a switchover even if no devices are considered unsafe by the RH infrastructure. In that case, the list of entries, passed as a parameter, is empty.
The callback has the following prototype:
typedef void (*RH_UNSAFE_SWITCHOVER_CALLBACK) ( IN uint32 Domain,
IN RH_SWITCHOVER_TYPE SwitchoverType, IN BOOLEAN SlotResetSupported,
IN uint32 UnsafeSlotCount,
IN OUT RH_SLOT_DESCRIPTOR *pUnsafeSlotDescriptors, IN void *pContext );
The callback has the following parameters:
Domain - | the number of the domain that has been acquired by the current host |
SwitchoverType | the switchover type |
SlotResetSupported | the Boolean flag that indicates whether the infrastructure supports per- |
| slot resets on the domain |
UnsafeSlotCount | the number of descriptors for unsafe slots provided with the call |
pUnsafeSlotDescriptors | the array of descriptors, each of which describes one slot that contains a |
| device in unsafe state |
pContext - | the opaque context pointer passed unchanged from |
| RhEnableUnsafeSwitchoverNotification |
Each descriptor describes a device that is directly installed in a physical slot or nested below a physical slot in the PCI hierarchy (if the physical slot is occupied by a
Size - | this is the size of the structure including the |
| field. To get to the next structure in the array, the caller should add this |
| value to the address of the current structure. |
Device addressing attributes: | |
PhysicalSlot | the number of the physical slot in the format |
| the device described by this descriptor resides in this slot or below this |
| slot |
PhysSlotDepth | The number of bridging levels between this device and the physical slot; |
| if the device occupies the physical slot, this value is 0, otherwise it |
| indicates is the depth of the device below the physical slot |
OwningHost | is set to the number of the current host |
RootBusNumber | the PCI bus number of the root bus of the PCI hierarchy the device |
| resides in; is 0 for |
accommodate possible future extensions to PCI that allow more than 256 PCI buses in the system
74 | High Availability Software for the Intel® NetStructureTM ZT 4901 Technical Product Specification |