Разделение драйверов pci-устройств между ядром и пользовательским пространством - PullRequest
0 голосов
/ 02 января 2019

У меня есть fpga, подключенная к PCI .

За fpga находятся различные устройства: последовательные, устройства i2c, canbus и др.

Сначала я хотел сделать все это в пользовательском пространстве, используя uio_pci_generic, но проблема в том, что драйвер последовательного порта следует рассматривать как обычное устройство linux.

Итак, я подумал написать драйвер устройства pci-tty и записать остальные драйверы ( canbus , i2c в пользовательском пространстве).

Итак, для правильной работы моего решения у меня есть следующие предположения:

  1. Я предполагаю, что нет необходимости в uio_pci_generic: если у меня есть свой пользовательский драйвер (для tty -pci), то я смогу получить доступ к памяти из пространства пользователя, верно?

  2. Canbus (который должен быть реализован в пользовательском пространстве) также использует прерывание. Я предполагаю, что прерывания могут использоваться как в ядре (для драйвера последовательного порта), так и в пользовательском пространстве (доставляется из krnel с использованием механизма опроса), верно?

...