PCI Configuration Space
Configuration space is a small standard set of registers that every PCI device must have, in the same layout, separate from whatever registers the device's real function uses. It holds the identifiers, the command and status bits, the interrupt information and the descriptions of the device's memory regions. It exists so that software can talk to a card it has never seen before well enough to identify it and switch it on.
Questions this Concept answers
- Why is the layout of configuration space fixed by the specification rather than chosen by each vendor?
PCIe Configuration Space Registers: Type 0 and Type 1 Headers
Every PCIe function implements a mandatory, dedicated block of registers called configuration space, uniquely addressed by a Bus/Device/Function (BDF) identifier, which the system uses to discover, i…