ChorusOS BSP hot swap support defines and implements a common layer between the PCI bus device driver and the HSC device driver. The implementation of the PCI bus (bridge) is chip-specific and is not supposed to be aware of the PCI hot swap capabilities. However, the handling of the ENUM# event is board-specific, because the ENUM# signal can be routed to any interrupt source and can even be polled upon timeout. The detection of this is not parent bus-specific either, but depends on the implementation of the PCI device inserted.
BSP Hot Swap support is split into three stages:
Handling the ENUM# signal.
Accessing the Hot Swap Control/Status Register (HS_CSR)
Interconnecting with the System Management (system event propagation).