[Suzaku:01500] Re: Help:仮想アドレスを物理アドレスに変換

Yasushi SHOJI email@hidden
2009年 6月 4日 (木) 09:25:04 JST


At Thu, 4 Jun 2009 08:32:22 +0900 (JST),
菊地 義和[DNP情報システム] <email@hidden> wrote:
> 
> AUTO変数を定義し、DMAを使用するためにその物理アドレスを知りたいのです。

auto(stack)変数は、あまり DMAに使いません。DMAコントローラによりますが、
x86の ISAのように、DMAに使えるアドレス空間が固定されていることがあるか
らです。

Linux device driver の Direct memory accessの章に詳しい説明があります
が、dma_alloc_coherent()を使うのが定石のようです。

ちなみに、stackの物理アドレスを知るには、virt_to_physで、currentが指し
ている thread_infoの物理アドレスを取得して、auto変数の offsetを足して
あげると取れるはずです。

http://hira-consulting.com/wiki/index.php?thread_info%2Flinux2.6
-- 
               yashi



suzaku メーリングリストの案内