ユーザー空間から読み書きする必要がある PCI デバイスがあります。ゼロコピーを使用しようとしています。ユーザー空間内で完全にユーザー空間アドレスの物理アドレスを割り当て、ピン留めし、取得する方法はありますか、それとも virt_to_phys または get_user_pages を呼び出すカーネル モジュールが必要ですか? デバイスのメモリは MMIO を介してユーザー空間メモリにマップされるため、必要なデータを渡すことができます。ありがとう。
2 に答える
1
これは完全なハックでしたが、Linux を一定範囲のメモリに制限し、MMIO を使用して、カーネルが認識していないメモリをデバイスに割り当てました。
于 2012-03-03T23:40:53.773 に答える
0
基本的に、メモリはDMA対応である必要があります。私が知る限り、それを実行できるのはカーネルモジュールだけです。http://lxr.free-electrons.com/source/Documentation/PCI/PCI-DMA-mapping.txtを参照してください
于 2012-06-08T12:00:59.030 に答える