Я ищу либо вызов режима ядра, который я могу сделать из драйвера, утилиты userland или системного вызова, который попросит ядро посмотреть на шину PCI и либо полностью заново запустить ее инициализацию, либо инициализировать конкретное устройство. В частности, мне нужно, чтобы ядро узнало устройство, которое было добавлено в шину после загрузки, а затем настройте его адресное пространство, прерывание и другие параметры конфигурации и, наконец, включит устройство, чтобы я мог загрузить драйвер для него (если это не все происходит как часть нагрузки драйвера).Есть ли способ попросить ядро Linux повторно запустить свой код инициализации PCI?
Я застрял на ядре 2.4.x для этого, и в настоящее время я работаю с 2.4.20, но буду двигаться до 2.4.37, если это имеет значение. Дистрибуция - это урезанный Red Hat 7.3, работающий на диске, но я могу добавить любые инструменты, необходимые для его работы (пока они играют хорошо с серией 2.4).
Если какой-то фон поможет прояснить, что я пытаюсь сделать: от холодного ботинка, однажды в Linux я использую GPIO для программирования FPGA. Часть FPGA, запрограммированная, реализует простое PCI-устройство. В настоящее время, после программирования FPGA, я перезагружаю систему, и Linux распознает устройство после его появления и загружает драйвер для него.
Вместо необходимости перезагрузка, что, я хотел бы просто попросить ядро сделать все, что он делает во время загрузки, чтобы найти устройство PCI (я Ядро настроено найти устройство PCI самостоятельно, вместо того, чтобы просить BIOS для этой информации, поэтому BIOS не должен знать об этом устройстве (надеюсь)).
Я считаю, что Linux способен видеть устройство после его программирования, но перед перезагрузкой, потому что scanpci
покажет устройство после того, как запрограммирую его, как и lspci -H 1
. Мне просто нужен способ получить его в /proc/pci
, настроен и включен.
Вы должны отправиться на сайт «сестра»: http://serverfault.com/ и спросить там. Это касается проблем, связанных с кодированием, ваша точная проблема, похоже, больше связана с sysadmin, поэтому они могут помочь вам быстрее/лучше. – Stan