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

[pbsd-mg2] RE: MachFlushDCache problem?




----------
> 差出人 : Takao Shinohara <shin@sm.sony.co.jp>
> 宛先 : pbsd-mg2@bronze.is.titech.ac.jp
> 件名 : [pbsd-mg2] MachFlushDCache problem?
> 送信日時 : 1999年6月25日 16:46
> 
> 
> 御無沙汰しております。篠原です。

> arch/mips/include/locore.hでは以下のようにMachFlushDCacheが#defineされて
> いて、hpcmipsカーネルではMachFlushDCacheがmips52xx_FlushDCacheに置き変わ
> ります。

> arch/mips/include/locore.hを修正して、VR41x1の場合は、
> #define MachFlushDCache         mips3_FlushDCache
> が使われるようにすれば大丈夫だと思います。(mips3_FlushDCacheはdirect
> mapped, line size 16 bytes用に書かれています。)

修正しました。

> 1. まずMachFlushDCacheがmips3_FlushDCacheになるような修正をして動かして
>    みる
> 2. 1.がOKだったら、arch/mips/mips/trap.cのuvm_fault()後に
>    MachFlushCache()を呼ぶのを止めてみる
> 3. 2.がOKだったら、ページサイズを4KBに戻してみる

すべて OK でした。

Virtual address alias の問題があるので、page size が 4KB では駄目な
ケースもあると思いますが、とりあえず mips3_FlushDCache() を使用して、
trap() で flush しないようにして、page size 4KB にして cvs に
commit してしまいました。

page size は configuration file で 4KB か 16KB で選択できますが、
commit されている config file は 4KB になっています。

Takemura