Re: PROBLEM: Devices behind PCI Express-to-PCI bridge not mapped

linux
2005-06-11T05:33:36Z

Linus wrote:
> It would be pretty strange, since the PCI spec (afaik, and for pretty
> obvious reasons) disallows two negative bridges on the same bus (and you
> already have the other mobile bridge there), but it's technically possible
> if they just have different priorities for how fast they react to a PCI
> address cycle and claim it.

Actually, that's not possible, because no difference is permitted.

When the initiator drives an address, there are 4 cycles during which
a targer can assert DEVSEL# to indicate that it will claim the bus
cycle. The first three are known as "fast", "medium", and "slow", and
are for normal devices.

The fourth cycle us reserved for subtractive decode. A subtractive decode
devices must assert DEVSEL# on this cycle and no other. (If and only if
no other device has claimed it by asserting DEVSEL# already.)

On the fifth cycle, the initiator is permitted to perform a master abort
and fail the operation. Because the initator could be any random bus master
card, cards are going to be installed in a system, you can't rely on it
giving a bridge any longer to assert DEVSEL#.