Как получить доступ к DMA в Linux - PullRequest
1 голос
/ 11 февраля 2012

Я пишу драйвер устройства в Linux, для которого мне нужно реализовать DMA.

Понятно, что DMA буферы могут быть выделены при вызове pci_alloc_consistent(). Но как мы можем писать команды в эти буферы на уровне пользователя?

Задачи включают запись значений в конкретные регистры, как они реализуются с использованием DMA команд?

1 Ответ

1 голос
/ 28 марта 2012

Я полагаю, что вы можете писать с помощью DMA с помощью операций ввода-вывода, к которым вы можете обращаться через библиотеку GNU C. Вы должны использовать системные вызовы, такие как ioperm или iopl, и запускать от имени пользователя root, чтобы получить доступ к регистрам DMA. По крайней мере, так можно получить доступ к пространству ввода-вывода, которое можно использовать для доступа DMA. Хотя я не могу полностью ответить на вопрос, надеюсь, это укажет вам правильное направление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...