0

ユーザーがユーザー空間にマップできるようにしたい RAM のバッファーを使用するデバイス ドライバーがあります。nopages の使用について説明しているhttp://lwn.net/images/pdf/LDD3/ch15.pdfを読みましたが、その例では単一のページのみを使用しており、使用回数を調整して複数のページで機能させることができると書かれています。それがどのように機能するのかわかりません。get_free_page を順序 0 (つまり 1 つの空きページ) で使用してバッファーを割り当てますが、私のバッファーは 2 ページの長さです。

使用回数は何と関係がありますか? 私が理解していることから、最初のページのみがカウントされます。

4

1 に答える 1

1

ページはメモリ内で連続している必要があると思います。remap_pfn_range()次に、 (2.6 カーネル) または(2.4 カーネル)を呼び出すとremap_page_range()、ページをユーザー空間にメモリ マップできます。

これをデバイス ドライバ用に行ったのは数年前のことです。この Web サイトをガイドとして使用したと思います: http://www.scs.ch/~frey/linux/memorymap.html

于 2011-01-19T16:50:29.840 に答える