Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Oct 2008 00:00:00 +0530
From:      Srinivas <mboxindia@gmail.com>
To:        "Eduardo Morras" <emorras@xroff.net>,  "Pegasus Mc Cleaft" <ken@mthelicon.com>, freebsd-hackers@freebsd.org
Subject:   Re: [Doubt] Can a PCI device communicate with another PCI or other device?
Message-ID:  <e6a0706a0810161130i6a3820fexf3afdbf28f81bd31@mail.gmail.com>
In-Reply-To: <20081015160522.04A824FEE1E@xroff.net>
References:  <e6a0706a0810141132n1a1d1a9cn4a50ffc727640e13@mail.gmail.com> <20081015160522.04A824FEE1E@xroff.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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.
....

--S


On Wed, Oct 15, 2008 at 9:35 PM, Eduardo Morras <emorras@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@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e6a0706a0810161130i6a3820fexf3afdbf28f81bd31>