1

0xfee00020APIC レジスタのメモリ マップの場所である物理アドレスにアクセスしたい。MOV" " 命令を使用して、この場所にデータを読み書きしたいと考えています。最初に物理アドレスから仮想アドレスへの変換を行うべきですか? インライン アセンブリでコードをどのように記述する必要がありますか?

ありがとう。

4

2 に答える 2

4

アドレスに直接アクセスする代わりに、次の関数を使用する必要があります (これは機能する可能性がありますが、移植性はありません)。

  1. request_mem_region()
  2. ioremap()
  3. writeb()/writew()/writel()またreadb()/readw()/readl()
于 2012-07-08T22:56:51.477 に答える
3

はい、アドレスを使用する前に、通常は ioremap を使用して物理アドレスから仮想アドレスへの変換を行う必要があります。一部のプラットフォームでは、ioremap からの戻り値を、アクセスするメモリへのポインターとして直接使用することで回避できます。

于 2012-07-08T22:51:40.417 に答える