LinuxのKernel空間でガッツリとメモリ空間を確保するのにslabを使うのかと思ってたんだけど、DMA用の領域を確保すればいいだけだった。
slab以上にガッツリと確保する方法があった。
明日はこの辺りのドライバを組んでみるかな?
そしたら、大容量DMAをガッツリメモリでできそうだ。
ユーザランドから使う場合はmmapするしかなさそうだが、4KBの境界さえ守っておけば問題ないだろう。
今日はFIFOを64bit⇒32bitを作成して、not一行だけのIPも作った。
以外にこういう単純IPが欲しかったりする場合がある。
https://www.kernel.org/doc/Documentation/DMA-API.txt
https://lwn.net/Articles/486301/
この辺りのDMA関数使えばよかったと・・・