在任何PCI拓扑中,同一总线上是否可以存在两个相同的设备

时间:2010-06-10 06:16:45

标签: pci

根据PCI标准,设备是根据供应商ID,设备ID和总线号识别的。所有相同类型的设备具有相同的供应商ID和设备ID。如果我把两个这样的设备放在同一条总线上,就说总线0.如何将PCI软件子系统区分为两个?

如果在PCI中无法实现这种情况,那么通过PCI Express Switch可以做到这一点吗?

3 个答案:

答案 0 :(得分:2)

是的,完全没问题。主机按插槽区分相同的设备。

答案 1 :(得分:2)

PCI和PCI Express设备由总线/设备/功能识别,它必须是系统中每个设备唯一的。供应商和设备ID只是在某个总线/设备/功能中找到的设备的 属性

在枚举电路板时,驱动程序通常会扫描PCI配置空间(遍历所有已安装的PCI设备),直到找到一个或多个与预期的供应商和设备ID匹配的设备,并可能还有子系统ID。一旦找到匹配,它应该将总线/设备/功能记录为"句柄"到开放的设备。

正确编写的软件应该找到 所有 供应商/设备匹配,将它们放在一个表中,然后让您选择要使用的那个(例如/ dev / mydevice0 ,/ dev / mydevice1等)。但是,我看到懒人软件只是在第一场比赛时就停止了。

答案 2 :(得分:0)

据我所知,每个PCI设备都可以通过(总线,设备,功能)进行唯一描述。考虑你的情况(2个设备安装了相同的VID和DID),我认为它们必须位于不同的PCI总线上!如果它们必须在同一总线上,请将它们的设备或功能号设置为不同