0

memmap=8G$4GLinux カーネル ブート パラメータを使用してメモリ チャンクを予約します。

ioremapこのメモリに必要ですか?

ioremapmanページには次のように書かれています:

ioremap はプラットフォーム固有の一連の操作を実行して、readb/readw/readl/writeb/writew/writel 関数およびその他の mmio ヘルパーを介してバス メモリ CPU にアクセスできるようにします。返されたアドレスは、仮想アドレスとして直接使用できるとは限りません。

したがって、返さioremapれたアドレスをメモリを直接アドレス指定するための仮想アドレスとして使用できない場合、より広範な問題は、いつioremapメモリを使用する必要があるかということです。

4

2 に答える 2

1

はい、アクセスするにはioremapこのリージョンにアクセスする必要があります。この領域を無視するようにカーネルに指示したため、カーネルはこのメモリ領域のページ ディレクトリ エントリを設定しません。

アドレス空間ioremapのアドレスを再マップした場合、によって返されるアドレスは直接使用されない場合があります。io-portアドレス空間からアドレスを再マップする場合、memoryそれらを直接使用しても問題ありません。

ただし、https://unix.stackexchange.com/questions/37729/how-can-i-reserve-a-block-of-memory-from-the-linux-kernelをご覧ください。

于 2012-10-16T23:30:55.550 に答える