根据PCI标准,设备是根据供应商ID,设备ID和总线号识别的。所有相同类型的设备具有相同的供应商ID和设备ID。如果我把两个这样的设备放在同一条总线上,就说总线0.如何将PCI软件子系统区分为两个?
如果在PCI中无法实现这种情况,那么通过PCI Express Switch可以做到这一点吗?
答案 0 :(得分:2)
是的,完全没问题。主机按插槽区分相同的设备。
答案 1 :(得分:2)
PCI和PCI Express设备由总线/设备/功能识别,它必须是系统中每个设备唯一的。供应商和设备ID只是在某个总线/设备/功能中找到的设备的 属性 。
在枚举电路板时,驱动程序通常会扫描PCI配置空间(遍历所有已安装的PCI设备),直到找到一个或多个与预期的供应商和设备ID匹配的设备,并可能还有子系统ID。一旦找到匹配,它应该将总线/设备/功能记录为"句柄"到开放的设备。
正确编写的软件应该找到 所有 供应商/设备匹配,将它们放在一个表中,然后让您选择要使用的那个(例如/ dev / mydevice0 ,/ dev / mydevice1等)。但是,我看到懒人软件只是在第一场比赛时就停止了。
答案 2 :(得分:0)
据我所知,每个PCI设备都可以通过(总线,设备,功能)进行唯一描述。考虑你的情况(2个设备安装了相同的VID和DID),我认为它们必须位于不同的PCI总线上!如果它们必须在同一总线上,请将它们的设备或功能号设置为不同