Могут ли два идентичных устройства присутствовать на одной шине в любой топологии PCI - PullRequest
3 голосов
/ 10 июня 2010

Согласно стандарту PCI, устройства идентифицируются на основе идентификатора поставщика, идентификатора устройства и номера шины. Все устройства одного типа имеют идентичный идентификатор производителя и идентификатор устройства. Если я размещу два таких устройства на одной шине, скажем, на шине 0. Как программная подсистема PCI будет различать эти два?

Если в PCI такой случай невозможен, то возможно ли это через PCI Express Switch?

Ответы [ 3 ]

2 голосов
/ 27 марта 2014

Устройства PCI и PCI Express идентифицируются по шине / устройству / функции, которая обязательно уникальна для каждого устройства в системе.Идентификатор поставщика и устройства - это просто свойства устройства, обнаруженного на определенной шине / устройстве / функции.

При перечислении платы драйвер обычно сканирует пространство конфигурации PCI(выполнить итерацию по всем установленным устройствам PCI), пока не найдет одно или несколько устройств, которые соответствуют ожидаемому поставщику и идентификатору устройства и, возможно, также идентификаторам подсистемы.Как только он находит соответствие, он должен записать шину / устройство / функцию как «дескриптор» открытого устройства.

Правильно написанное программное обеспечение должно найти всех поставщика/ device соответствует, поместите их в таблицу и позвольте выбрать, какую из них вы хотите использовать (например, / dev / mydevice0, / dev / mydevice1 и т. д.).Однако я видел ленивое программное обеспечение, которое просто останавливается на первом матче.

2 голосов
/ 09 ноября 2010

Да, это прекрасно. Хост различает идентичные устройства по слоту.

0 голосов
/ 27 марта 2014

Как я знаю, каждое устройство PCI может быть однозначно описано (Шина, Устройство, Функция).Рассмотрим ваш случай (2 устройства имеют идентичные VID и DID установлены), и я думаю, что они должны быть расположены на другой шине PCI!Если они должны быть в одной шине, тогда, пожалуйста, измените их номер устройства или функции

...