
82801AA and 82801AB Datasheet
6-3
Register and Memory Mapping
6.1.2
Standard PCI Bus Configuration Mechanism
The PCI Bus defines a slot based “configuration space” that allows each device to contain up to 8
functions with each function containing up to 256 8-bit configuration registers. The PCI
specification defines two bus cycles to access the PCI configuration space: Configuration Read and
Configuration Write. Memory and I/O spaces are supported directly by the processor.
Configuration space is supported by a mapping mechanism implemented within the ICH. The PCI
specification defines two mechanisms to access configuration space, Mechanism #1 and
Mechanism #2. The ICH only supports Mechanism #1.
Configuration cycles for PCI Bus #0 devices #2 through #31, and for PCI Bus numbers greater than
0 will be sent towards the ICH from the host controller. The ICH compares the non-zero Bus
Number with the Secondary Bus Number and Subordinate Bus number registers of its P2P bridge
to determine if the configuration cycle is meant for Primary PCI or a downstream PCI bus.
Type 0 to Type 0 Forwarding:
When a Type 0 configuration cycle is received on hub link, the
ICH forwards these cycles to PCI and then reclaims them. The ICH uses address bits AD[15:14] to
communicate the ICH device numbers in Type 0 configuration cycles. If the Type 0 cycle on hub
link specifies any device number other than 30 or 31, the ICH will not set any address bits in the
range AD[31:11] during the corresponding transaction on PCI.
Table 6-2
shows the device number
translation.
The ICH logic will generate single DWord configuration read and write cycles on the PCI bus. The
ICH will generate a Type 0 configuration cycle for configurations to the bus number matching the
PCI bus. Type 1 configuration cycles will be converted to Type 0 cycles in this case. If the cycle is
targeting a device behind an external bridge, the ICH runs a Type 1 cycle on the PCI bus.
Type 1 to Type 0 Conversion:
When the bus number for the Type 1 configuration cycle matches
the PCI (Secondary) bus number, the ICH converts the address as follows:
1. For device numbers 0 through 15, only one bit of the PCI address [31:16] will be set. If the
device number is 0, AD[16] is set; if the device number is 1, AD[17] is set; etc.
2. The ICH will always drive 0’s on bits AD[15:11] when converting Type 1 configurations
cycles to Type 0 configuration cycles on PCI.
3. Address bits AD[10:1] are also passed unchanged to PCI.
4. Address bit AD0 is changed to ‘0’.
Table 6-2. Device Number Translation
Device # In Hub link Type 0 Cycle
AD[31:11] During Address Phase of Type 0 Cycle on PCI
0 through 29
0000000000000000_00000b
30
0000000000000000_01000b
31
0000000000000000_10000b