GNU/Linux >> Linux の 問題 >  >> Linux

ioremap() とは

ioremap() 関数は、I/O デバイスの物理アドレスをカーネル仮想アドレスにマップするために使用されます。カーネルはページ テーブルを作成します。つまり、要求された物理アドレスへの仮想アドレスのマッピングです。iounmap() を実行すると、このマッピングは破棄されます。

ioremap 関数は 2 つのパラメーターを取ります:

  • メモリ領域の開始
  • メモリ領域のサイズ
void *ioremap(unsigned long phys_addr, unsigned long size);

void iounmap(void * addr)

phys_addr 物理アドレスで記述された物理メモリ領域が ioremap でマップされている場合にのみ必要です。この情報は phys_addr に保持されます。

多くのシステムでは、この方法で I/O メモリに直接アクセスすることはまったくできません。そのため、最初にマッピングを設定する必要があります。これが ioremap 関数の役割です。この関数は、特に仮想アドレスを I/O メモリ領域に割り当てるように設計されています。


Linux
  1. システム管理者とは何ですか?

  2. 何をしますか?

  3. エコー$は何ですか?行う??

  1. Linuxのメモリ使用量

  2. SSL証明書とは何ですか?

  3. Linuxにはどのようなプロセスキラーがありますか?

  1. Web 3.0とは何ですか?

  2. 「lc_all=c」は何をしますか?

  3. Linux – Linuxのハイメモリとローメモリとは何ですか?