[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: malloc & phys address



コードが不足しているかどうかは濱嶋さんがなにに使うかによります。
hpcmips_default_bus_dma_tag を設定した場合、
bus_dmamem_alloc しか使わなければ結局 hpcmips/bus_dma.c の
_bus_dmamem_alloc が呼ばれるのだと思いますが...

AIU ですか? chain DMA できないので、DMA buffer の大きさが
VM page size に制限されちゃうような。(max 4KB)

Takemura

 > 濱嶋です。
 > 
 > >> kernel内で、物理アドレス0x00000000から0x01fffffeの間のメモリを確保して、
 > >> その物理アドレスを得たいのですが、どうすればできるのでしょうか?
 > > 
 > > bus_dmamem_alloc がどうしているかを見ると参考になるでしょう.
 > 
 > やりたいことはDMAなのでbus_dmaの使い方を覚えてそっちを使った方が良さそう
 > ですね。
 > 
 > その場合は vr/vripvar.h の
 > 
 > #ifdef HPCMIPS_NOT_YET
 >         bus_dma_tag_t va_dmat;  /* DMA tag */
 > #endif
 > 
 > を設定するだけで済むのか、それともvr用のコードが不足していてまだ使えない
 > のかどちらでしょうか?