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

[pbsd-mg2] Re: "vrip.c"



鈴木(康)です。
<199906160334.MAA08984@quark.hpc.bs1.fc.nec.co.jp>の記事において
suz@hpc.bs1.fc.nec.co.jpさんは書きました。


  |   | たとえば、465 行目あたりで、自分が使えるメモリを 初期化すると
  |   | いうのはどうでしょうか?
  |   | 
  |   |                 memset(cp,0x5a,NBPG);
  |   | 		*(int *)cp = 0xa5a5a5a5;
  |   |                 cp += NBPG;
  |   |                 physmem++;
  |   | 
  |   | こんな感じなら、CE が間違うことはないんじゃないでしょうか。
  | 
  | これで、MG II for DoCoMo の電池抜きリセットしなくて良くなったんですが
  | MC-CS12 は、やっぱりダメでした。
  | 
  | ということは、メモリの前の部分が壊れていないからダメなのかなぁ。
  | 
  | カーネルは、-Ttext 0x80030000 でリンクしていますが、
  | 前の 0x30000 部分では、どう使っているんでしょうか?

だめもとで、適当にクリアしてみたら、
MC-CS12 でも リセットが効くようになりました。

machdep.c の 460行目あたり

               ((int *)cp)[4] = j;
                bzero(cp,NBPG);	                            <<<<<<<<
                cp += NBPG;
                physmem++;
        }
        bzero(KERNBASE+0x400,KERNTEXTOFF-KERNBASE-0x800);   <<<<<<

前後 1k バイトだけ外して、クリアしています。

( ループの中の bzero は、おまけ )


--
					鈴木 康司 @NEC
					suz@hpc.bs1.fc.nec.co.jp
					TEL 0423-33-5381