Elements Required to Support Hot Plug
This section describes the hardware and software elements required to support the Hot Plug environment. Refer to Figure 17-2 on page 654 during this discussion.
Software Elements
Table 17-1 on page 655 describes the major software elements that must be modified to support Hot-Plug capability. Also refer to Figure 17-2 on page 654.
Table 17-1. Introduction to Major Hot-Plug Software Elements|
User Interface | OS vendor | An OS-supplied utility that permits the end-user to request that a card connector be turned off in order to remove a card or turned on to use a card that has just been installed. | Hot-Plug Service | OS vendor | A service that processes requests (referred to as Hot-Plug Primitives) issued by the OS. This includes requests to:
The Hot-Plug Service interacts with the Hot-Plug System Driver to satisfy the requests. The interface (i.e., API) with the Hot-Plug System Driver is defined by the OS vendor. | Standardized Hot-Plug System Driver | System Board vendor or OS | Receives requests (aka Hot-Plug Primitives) from the Hot-Plug Service within the OS. Interacts with the hardware Hot-Plug Controllers to accomplish requests. | Device Driver | Adapter card vendor | Some special, Hot-Plug-specific capabilities must be incorporated in a Hot-Plug capable device driver. This includes:
support for the Quiesce command. optional implementation of the Pause command. Support for Start command or optional Resume command.
|
A Hot-Plug-capable system may be loaded with an OS that doesn't support Hot-Plug capability. In this case, although the system BIOS would contain Hot-Plug-related software, the Hot-Plug Service would not be present. Assuming that the user doesn't attempt hot insertion or removal of a card, the system will operate as a standard, non-Hot-Plug system.
The system startup firmware must ensure that all Attention Indicators are Off.
The spec also states:
"the Hot-Plug slots must be in a state that would be appropriate for loading non-Hot-Plug system software."
Hardware Elements
Table 17-2 on page 656 and Figure 17-2 on page 654 illustrate the major hardware elements necessary to support PCI Express Hot-Plug operation.
Table 17-2. Major Hot-Plug Hardware Elements|
Hot-Plug Controller | Receives and processes commands issued by the Hot-Plug Device Driver. One Controller is associated with each root or switch port that supports hot plug operation. The PCI Express Specification defines a standard software interface for the Hot-Plug Controller. | Card Slot Power Switching Logic | Permits the power supply voltages to a slot to be turned on or off under program control. Controlled by the Hot Plug controller under the direction of the Hot-Plug Device Driver. | Card Reset Logic | Permits the selective assertion or deassertion of the PERST# signal to a specific slot under program control. Controlled by the Hot Plug Controller under the direction of the Hot-Plug System Driver. | Power Indicator | One per slot. Indicates whether power is currently applied to the card slot or not. Controlled by the Hot Plug logic associated with each port, at the direction of the Hot Plug Device Driver. | Attention Indicator | One per slot. The Attention Indicator is used to draw the attention of the operator to indicate a Hot Plug problem or failure. Controlled by the Hot Plug logic associated with this port, at the direction of the Hot-Plug Device Driver. | Attention Button | One per slot. This button is pressed by the operator to notify Hot Plug software of a Hot Plug request. | Card Present Detect Pins | Two Card Present signals are defined by the PCI Express specification:
PRSNT1# and PRSNT2#. PRSNT1# is located at one end of the card slot and PRSNT2# at the opposite end. These two pins are shorter that the other slot pins, allowing break-first capability upon card removal. The system board must tie PRSNT1# to ground and connect PRSNT2# to a pull-up resistor on the system board. Additional PRSNT2# pins are defined for wider connectors to support the insertion and recognition of shorter cards installed into longer connectors. The card must connect PRSNT1# to PRSNT2# to complete the current path between ground and Vcc. "Auxiliary Signals" on page 693. |
 |