Container IDs for PCI Express Devices

The PCI Express (PCIe) bus cannot express a container ID. The Windows operating system relies on the removable capability that the PCI bus driver returns when it determines the device container grouping for a PCIe device.

The PCI bus driver determines that a PCIe device is removable by reading the following PCIe register bits.

PCIe register Byte offset Bit location Description

PCI Express Capabilities

0x02

8 - Slot Implemented

When set to 1, this bit value indicates that the PCIe link that is associated with this port is connected to a physical slot, instead of being connected to an integrated component.

Slot Capabilities

0x14

6 - Hot-Plug Capable

When set to 1, this bit value indicates that this slot can support hot-plug operations.

The PCI bus driver marks a PCIe device as removable if both of the following conditions are satisfied:

  • The Slot Implemented bit is set to 1.

  • The Hot-Plug-Capable bit is set to 1:

The mechanism that is used to set these register bits varies by PCIe chipset version and manufacturer. For example, some chipsets let the firmware program these bits, whereas other chipsets require physical pins to be strapped to the voltage charge connection (Vcc) or ground (GND).

Be aware that if the device implements an _EJ0 method in the ACPI namespace, the ACPI driver marks the device as removable. This occurs regardless of the setting of the Slot Implemented or Hot-Plug Capable bits. For more information, see the Firmware Support for PCI Express Hot-Plug and Windows white paper.

For more information about the PCIe interface, see the PCIe Base specification.