CHAPTER 7. ENTITIES
Figure 7.1: Simple Hot-Swap state machine
move from inactive to activation requested when that occurs. If it does not support an activation request, it will move to either activation in progress (if the activation requires some time to occur) or directly to active when the entity is activated. The move from activation requested to activation in progress or active occurs when the entity is activated.
The entity will move to deactivation requested if the entity supports that and the operator requests a deactivation. In active or deactivation requested, the entity will move to deactivation in progress (or directly to inactive if deactivation is immediate) upon the entity being deactivated. Although it is not shown in the diagram, the activation in progress can go to the deactivation states just like the active state; it confused the diagram too much to show this.
Note that any state can go to not present. This is called a suprise extraction; it occurs if the operator does not follow the hot-swap extraction procedure and just pulls the board. The state may also go from any state to out of communication. This occurs if the board is present (or the board presence cannot be detected) and the system looses communication with the entity. If communication is restored, the entity goes to the current state it is in. Some systems may support some manual means to move the entity’s state to not present.
When a hot-swap device is inserted, it may or may not be automatically activated. This depends on the policies and capabilities of the chassis where the device is inserted. The device may be deactivated
automatically upon a request if that policy is supported by the system. The following function will allow the current hot-swap state to be fetched:
_ _ enum ipmi hot swap_states state,
_ *cb data);
t y p e d e f v o i d ( * i p m i _ e n t i t y _ h o t _ s w a p _ s t a t e _ c b ) ( i p m i _ e n t i t y _ t
* c b _ d a t a ) ;
i n t i p m i _ e n t i t y _ g e t _ h o t _ s w a p _ s t a t e ( i p m i _ e n t i *ent, t y _ t i p m i _ e n t i t y _ h o t _ s w a p _ s t a t e _ c b h a n d l e r ,
It is possible to register to receive hot-swap changes when the occur.
The following functions do the regis-
tration and deregistraction of a hot-swap handler: t y p e d e f i n t ( * i p m i _ e n t i t y _ h o t _ s w a p _ c b ) ( i p m i _ e n t i t y _ t
e n u m i p m i _ h o t _ s w a p _ s t a t e s l a s t _ s t a t e ,