2

ユーザー空間から読み書きする必要がある PCI デバイスがあります。ゼロコピーを使用しようとしています。ユーザー空間内で完全にユーザー空間アドレスの物理アドレスを割り当て、ピン留めし、取得する方法はありますか、それとも virt_to_phys または get_user_pages を呼び出すカーネル モジュールが必要ですか? デバイスのメモリは MMIO を介してユーザー空間メモリにマップされるため、必要なデータを渡すことができます。ありがとう。

4

2 に答える 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 に答える