を実装する必要があるデバイス ドライバーを Linux で作成していますDMA
。
DMA
への呼び出しによってバッファを割り当てることができることは明らかですpci_alloc_consistent()
。しかし、ユーザーレベルからこれらのバッファにコマンドを書き込むにはどうすればよいでしょうか?
タスクには特定のレジスタへの値の書き込みが含まれますが、これらはDMA
コマンドを使用してどのように実装されますか?
を実装する必要があるデバイス ドライバーを Linux で作成していますDMA
。
DMA
への呼び出しによってバッファを割り当てることができることは明らかですpci_alloc_consistent()
。しかし、ユーザーレベルからこれらのバッファにコマンドを書き込むにはどうすればよいでしょうか?
タスクには特定のレジスタへの値の書き込みが含まれますが、これらはDMA
コマンドを使用してどのように実装されますか?
I believe you can write with DMA through I/O operations that you may access through a GNU C library . You must use system calls such as ioperm or iopl and run as root to gain access to DMA registers. At least thats how one gains access to IO space which may be used for DMA access. Though I may not answer the question completely, hopefully this points you in a good direction.