реклама на сайте
подробности

 
 
> PCIe Interrupts, как реализовать несколько прерываний?
doom13
сообщение Nov 5 2015, 11:22
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Приветствую.
Хочу реализовать в устройстве PCIe несколько источников прерывания. Попытался использовать MSI, но система не хочет разрешать более одного MSI. Как быть в такой ситуации? Можно поставить контроллер прерываний, а сигнал от него завести на ядро PCIe, но правильно ли это? Кто как делал?
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
krux
сообщение Nov 5 2015, 17:16
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



не знаю, как в убунте, но обычно настройки ядра (.config-файл с опциями) кладут в /boot , там можно поискать.
если нет - бывает этот файл вместе с -dev пакетом с ядром устанавливается. бывает ещё и /proc/config.gz
вот там CONFIG_PCI_MSI опцию и посмотреть.

а покажите, что у вас записано в MSI Control Register? в PCI BAR, в MSI capability structure.

кроме того, дело может быть и в материнке.
бывает так, что MSI-прерываний материнка поддерживает 1 на устройство, а MSI-X - несколько.
а бывает наоборот, что MSI-X не поддерживается вообще, а MSI можно несколько.

поэтому если хотите чтобы много прерываний было на разных платформах, то в драйвере придется раскорячится - и поддерживать по максимуму, и MSI, и MSI-X.
но это не гарантирует того, что вашу плату не вставят туда, где будет только Legacy-поддержка с одним прерыванием.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
doom13
сообщение Nov 6 2015, 06:55
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(krux @ Nov 5 2015, 20:16) *
не знаю, как в убунте, но обычно настройки ядра (.config-файл с опциями) кладут в /boot , там можно поискать.
если нет - бывает этот файл вместе с -dev пакетом с ядром устанавливается. бывает ещё и /proc/config.gz
вот там CONFIG_PCI_MSI опцию и посмотреть.

В /boot лежит файлик config-3.19xxxxx, он содержит:
Цитата
#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_XEN=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_PCIEAER=y
# CONFIG_PCIE_ECRC is not set
# CONFIG_PCIEAER_INJECT is not set
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEBUG=y
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
CONFIG_PCI_BUS_ADDR_T_64BIT=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
CONFIG_PCI_REALLOC_ENABLE_AUTO=y
CONFIG_PCI_STUB=m
CONFIG_XEN_PCIDEV_FRONTEND=m
CONFIG_HT_IRQ=y
CONFIG_PCI_ATS=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
CONFIG_PCI_LABEL=y

разрешение MSI присутствует.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 19:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.0137 секунд с 7
ELECTRONIX ©2004-2016