PCI Express, since its inception, was designed to comprehend hot-plug functionality. As such, hot-plug registers are part of PCIe's capabilities, providing the operating system with a standard hot-plug hardware register interface accessible through configuration access on the PCIe bus. PCI Express also defines a standard usage model by defining the hot-plug capabilities required of hardware at a base architectural level. The native support for hot-plug control enables innovative server module form factors to be inserted or removed under power without requiring that the chassis be opened.
In a PCIe-based server system, hot-plug slots may be sourced either from the chipset or the downstream ports of a switch. As PCIe is a point-to-point bus, switches are usually required for slot expansion and creation because of the limited number of ports of the root complex. These switches appear to the software as PCI-to-PCI bridges, and each port implementing a slot that is hot-plug capable will contain its own set of hot-plug registers in the bridge configuration space. These registers report the presence or absence of defined hot-plug mechanisms to software. They contain control for power as well as indicators on the slot, along with notification of card insertion/removal, latch open/close and of the attention button press. The software is notified by sending an interrupt upstream to the root complex. The notification option is implementation-dependant.