[Doubt] Can a PCI device communicate with another PCI or other device?

Srinivas mboxindia at gmail.com
Thu Oct 16 18:30:02 UTC 2008

I think a PCI device can communicate with another PCI device directly
without the intervention of the CPU.

Excerpt from "PCI Express System Architecture"

PCI Transaction Model - Peer-to-Peer
A Peer-to-peer transaction shown as Transaction 3 in Figure 1-5 on
page 20 is the direct transfer of data between two PCI devices. A
master that wishes to initiate a transaction, arbitrates, wins
ownership of the bus and starts a transaction. A target PCI device
that recognizes the address claims the bus cycle. For a write bus
cycle, data is moved from master to target. For a read bus cycle, data
is moved from target to master.


On Wed, Oct 15, 2008 at 9:35 PM, Eduardo Morras <emorras at xroff.net> wrote:
> At 20:32 14/10/2008, you wrote:
>> Hello,
>> I have a small doubt.
>> Suppose I have a PCI card with a general purpose CPU on it. Could it be
>> able
>> to communicate with another PCI device or ISA device(lets say IDE hard
>> disk)?
> You can't do it directly. You must pass through the OS driver that controls
> your card. You pass to your driver the data and it send data to other
> driver, hard disk, etc.. Note that in some OSs your driver can't pass that
> info from one driver to another and need an app that binds your driver with
> the other driver.
>> Thanks,
>> Srinivas
>> _______________________________________________
>> freebsd-hackers at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"

More information about the freebsd-hackers mailing list