Как настроить мостовое устройство PCI-PCI в VxWorks? - PullRequest
1 голос
/ 29 июля 2010

Я работаю с пакетом поддержки плат (BSP) в VxWorks, который использует pciAutoConfig () для настройки шины PCI.Когда я добавляю карту контроллера Ethernet к шине, процедуры отображения pci не показывают карту.

Используя анализатор шины, я обнаружил, что адаптер Ethernet фактически состоит из моста PCI-PCI с двумя контроллерами Ethernet за мостом.Похоже, что BSP неправильно работает с мостом PCI-PCI, который содержится в контроллере Ethernet.

Мой вопрос: на какую библиотеку и конфигурации я должен смотреть, чтобы настроить мост PCI-PCI??Я думаю, что эти вызовы будут идти в sysHwInit (), где существующие вызовы pciAutoConfig ().

pciAutoCfgCtl () имеет параметр PCI_BRIDGE_PRE_CONFIG_FUNC_SET, который указывает на пользовательскую функцию для настройки шины.Это единственный метод?Или в библиотеках VxWorks есть что-то, что может сделать это для меня?

1 Ответ

2 голосов
/ 20 августа 2010

Я думаю, что стоит взглянуть на специфичные для BSP процедуры автоматической конфигурации PCI.

Правильно ли перечислен мост PCI-PCI на вашей сетевой карте? Имеют ли смысл первичные и вторичные окна? Достаточно ли общего пространства памяти PCI для включения пространства, необходимого для вторичной шины, на которой расположены микросхемы контроллера Ethernet? Если нет, вам может потребоваться увеличить значение PCI_MEMIO32_SIZE_SET.

Если перечисление моста на плате адаптера неверно, вы сможете настроить мост вручную, добавив код в процедуру sysPciAutoconfigPreEnumBridgeInit () BSP.

Предоставляет ли BSP подпрограмму sysPciAutoconfigInclude (), которая по умолчанию перечисляет устройства контроллера Ethernet на сетевом адаптере? Если нет, вам придется добавить устройства контроллера Ethernet к нему, иначе они будут игнорироваться в течение цикла перечисления.

...