[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[pbsd-mg2] Re: Telios cannot load kernel
> | あ、PR31700 では DRAM の phys addr が 0x0 でなくて、0x4400 0000 なの
> | か。platid でも見て場合分けするしかないかもしれません。
> 0x44000000及び、0x04000000は使えるようです。
> 0x04000000を使うことにして、
つまり、DRAM の開始アドレスが 0x0 ではないということですね。
開始アドレスの一覧をテーブルで持たせて、順に処理するように
して、VirtualCopy がエラーならスキップするようにすればいいで
すね。(今度やっておきます。いつもながらずいぶん先になってしまう
かも知れませんが...)
> interrupt vectorのかわりに実行するところを、
> startprog.c:asm_code_holder()
> print 'OK' を削る (linuxce-MLの方でもこのあたり話題になっていたようですが...)
消しときます。Warner さんにも指摘されています。
> I-cache, D-cache のフラッシュを削る(これは、R3000用に書きかえる???)
以前は flush してませんでした。flush しないと、2 回に 1 回ぐらい
起動できないことがありました。動作が不安定な場合は、ここを
疑ったほうがいいと思います。sys/arch/mips/mips/mips1_なんとか.S あたり
を探せば使えるコードを見つけることができると思います。
でも、どちらを実行するか、どうやって決定すれば良いのでしょうか。
やっぱり platid のお世話になる?
CPU の ID は VR41XX と同じ 0x0c だったりしますか?
Takemura