Обычно в Linux драйверы PCI могут предоставлять интерфейс управления пользователю через символьное устройство, например. /dev/drv_ctl
, а пользовательское приложение может читать/записывать команды управления вводом-выводом с ioctl()
в дескрипторе открытого файла.
В Linux мы создаем это с помощью register_chrdev()
API ядра.
Я хотел бы иметь такой же или похожий механизм и поведение в Solaris, но кажется, что в Solaris он работает немного иначе; Для процедуры DDI ddi_create_minor_node()
требуется тип узла, указывающий аудио, блочное, сетевое и т. д. устройство, это выглядит довольно расплывчато для меня, например, к какому типу принадлежит криптографическое устройство PCI?
Кроме того, кажется, что ddi_create_minor_node()
создает узел под /devices/*
, а не под /dev/*
Я был бы признателен, если бы кто-то мог прояснить мои сомнения и указать правильные направления.
Спасибо.