The PCI spec originally defined two configuration mechanisms for i386 PCs. Later specs have done away with Configuration Mechanism Two.
Configuration Mechanism One has two IO port rages associated with it. The address port (0xcf8-0xcfb) and the data port (0xcfc-0xcff). A configuration cycle consists of writing to the address port to specify which device and register you want to access and then reading or writing the data to the data port.
Address Port | 0xcf8 |
Data Port | 0xcfc |
The format of the data written to the address port is as follows:
Bits | Description |
---|---|
0..1 | 00b (always 0) |
2..7 | Which 32-bit space in the config space to access |
8..10 | Device function |
11..15 | Device Number |