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

[pbsd-mg2] RE: Serial console



たけむらです。

----------
> 差出人 : suz@hpc.bs1.fc.nec.co.jp
> 宛先 : pbsd-mg2@bronze.is.titech.ac.jp
> 件名 : [pbsd-mg2] Re: Serial console 
> 送信日時 : 1999年5月8日 21:42

> 連休中に cross-make できる環境を作りました。
> # あれこれもってくるのは、面倒なので、
> # NetBSD-1.3.3 の source/comp.tgz から全部を生成するようにしました。
> 今まとめていますが、いくつか疑問点/問題点があります。

ソースは、先日 cvs に入れられたものを使った方がよいと思います。
人から聞いた話なので、ちょっと自信がないのですが、
NetBSD-1.3.x は NetBSD-1.3 で current から枝別れして
メインテナンスされているものだそうで、いくら新しくても、current とは
だいぶ違うようです。

#私は 12 月頃の current のスナップショットを使っていました。
#つい最近、まる2日かけて、やっと全部コンパイルしたのですが、
#cvs のでやりなおさなくては。

> まずカーネルですが、4/4 版で少し動かしはじめました。
> ( 私のは、vr4102 キャッシュ1k なので、あまり考えずに L1 Cache ON
> にしてみました。)
> 普通に memset.S を使うと bicons の スクロールで、
> 縦縞(4dot 毎に 白/黒) が出てしまいます。
> しかたがないので、bicons の中の memset を使っていますが、
> これの対策を知りませんでしょうか? > たけむらさん。
> # なんとなく知っているのではないかと思い手を付けていません。

私の Everex Freestyle では、スクロール時にごみが出ます。
一応文字が判別できる程度ですが、ゼロか八かオーかは前後の関連から
しかわからないこともあります。
原因はわからないのですが、LCD のフレームバッファをアクセスするときに
なにかタイミング的に特別な配慮が必要なのかな、っと思いました。
そこから先はまだ調べていません。(Serial Console あるし(^^;)

> あと、バグ情報 machdep.c の、minaddr,maxaddr 初期値が設定
> されていません。( memset がらみかも知れないのですが、私の
> マシンでは、minaddr が 0xffffffff になっていて、uvm_map で
> 失敗します。) こちらでは、minaddr = 0, maxaddr = 0xffffffff
> とかしています。

ホントですね。どうするのが正しいのでしょう...

>   |  > あと、ライブラリを作るときに、少なくとも setjmp
まわりは変更しないと
>   |  > いけないと思いますが、signal
関係もなにかしなければならないのではないか
>   |  > と思っています。情報があれば教えてください。
>   | 
>   | 私は setjmp 関連の FPU レジスタの退避コードは、
>   | #ifdef WITHOUT_FPU で囲みました。
>   | これに加えて、私が以前書いた以下のメールのような対応をしています。
>   |  > -msoft-float に必要な floating point のランタイム関数が libgcc.a
に
> 
> いま、lib/libc/arch/mips/gen のしたを見ているんですが、setjmp 系以外も
> ほぼ全部リプレースしないといけないようです。
> 
> あと、-msoft-float がどんなコードか調べてみたんですが、
> double のかけ算など、__muldf3 を呼ぶだけのようです。

そんなに大変そうではなかったと思います。
t-r3900 の件もありますし、
まず cvs に入っているソースコードに取り替えてみてください。

あと、私は最初、libc および libgcc 自体のコンパイル時に
-msoft-float をつけていなくて、ぜんぜん駄目でした。
その点は大丈夫ですか?

追伸:
  現在私は、カーネルの作業を少しお休みして、pbsdboot.exe を改良しています。

#とりとめない内容になってしまいました。長くてすみません。

Takemura