BCM1250/BCM1125/BCM1125H
User Manual
10/21/02
B r o a d c o m C o r p o r a t i o n
Page
206
Section 8: PCI Bus and HyperTransport Fabric
Document
1250_1125-UM100CB-R
Addresses on the PCI that match in BAR0 are mapped into internal addresses using a mapping table illustrated
in
. This allows a PCI device to access any area of in the internal address map, and can
be used to ensure PCI devices can only access specified memory areas. The 16 MB region is divided into 1
MB chunks. PCI Address bits [23:20] are used to index into a table which provides address bits [39:20] of the
internal address to use and an enable bit. The low bits [19:0] for the internal address are copied directly from
the PCI address. If the table entry is enabled then the request on the PCI bus is accepted (DEVSEL# asserted)
and the transaction is made to the internal address. If the table entry is not enabled then the bus request will
not be accepted (DEVSEL# will not be asserted) and the requester will see an error. There is also a bit in the
entry that controls whether the access is sent to the HyperTransport fabric or used internally (this bit overrides
the destination implied by the address, so software must take care to set it correctly). If the bit is set to send
the request internally and the address is in the HyperTransport range the result is UNPREDICTABLE, but in
most cases a target abort error will be returned. If the bit is set to send the access to the HyperTransport and
the address is in the internal range then the result depends on the devices on the HyperTransport, in most
cases the request will reach the end of chain without being accepted, an NXA error will be returned and be
turned in to a target abort, but if there is a host at the other end of the chain then it may unexpectedly reply. If
the request is sent in to the part then two more bits in the map entry set the endian policy to be used for the
transfer and the state for the level 2 cache allocate on miss (A_L2CA) flag that should accompany the transfer.
The mapping table is placed in configuration registers h44 - h80 in the PCI configuration header, however they
can only be set by accesses from the ZBbus side of the bridge (even when in Device Mode).
Figure 41: PCI BAR0 Address Mapping Table
PCI Bus Address
BAR0
31
24 23
20 19
0
Match
MAP 0 (
Reg h44
)
MAP 1 (
Reg h48
)
MAP 15 (
Reg h80
)
HT/ZBbus
Address
39
20 19
0
Enable
Send toHT
Index
L2CA flag
Endian policy