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

Re: hpcfbio.h



やないといいます。
X を使うにはなにかと苦しいマシンも多いですので、NetBSD/mac68k の
方でも MGL2 を使いたい、などと思っています。


<009301bf761f$3bafbd60$0101a8c0@shin>の記事で 
"TAKEMURA, Shin"さんはこう書かれたそうです。

>多くのビットマップディスプレイのフレームバッファを記述できるように
>かなりいろいろな情報を入れました。
>ほとんどのメンバーは使われないとおもいますが、考え付く限り入れました。
>将来的にどうしても困ったときには、多少汚いですが、無理に拡張できる
>余地も残してあります。
>
>一方、以下の項目は omit しました。
> - キャラクタジェネレータを備えるテキストディスプレイ
> - アクセラレーション(含む 3D)
> - 不連続なフレームバッファ領域
> - スプライト:-)
>
>これによって、PDA に使われるようなフレームバッファを一般的に
>扱うことができると期待しています。
>ホントは wsdisplay の ioctl としたいのですが、さすがに大変そう
>なので、とりあえず hpcmips だけで使いたいと思っています。
>ついでに、brightness, contrast, バックライト、外部出力などの
>コントロールを行うインターフェースも考えてみました。

NetBSD/mac68k では wscons 類はまだ完全には実装されてませんので、
現状では /machine/grfioctl.h を使わないといけないのですが、こちら
では fb の baseaddr を 与えて mmap しないといけないみたいです。
また、この baseaddr 、同じ mac68k でも モデル毎に色々違っています
し、offset で吸収しようにも吸収しきれない幅があります。

/machine/grfioctl.h(sys/arch/mac68k/include/grfioctl.h) の内容は、
以下のようになっています。

struct grfmode {
        u_int8_t        mode_id;        /* Identifier for mode              */
        caddr_t         fbbase;         /* Base of page of frame buffer     */
        u_int32_t       fbsize;         /* Size of frame buffer             */
        u_int16_t       fboff;          /* Offset of frame buffer from base */
        u_int16_t       rowbytes;       /* Screen rowbytes                  */
        u_int16_t       width;          /* Screen width                     */
        u_int16_t       height;         /* Screen height                    */
        u_int16_t       hres;           /* Horizontal resolution (dpi)      */
        u_int16_t       vres;           /* Vertical resolution (dpi)        */
        u_int16_t       ptype;          /* 0 = indexed, 0x10 = direct       */
        u_int16_t       psize;          /* Screen depth                     */
        char            pad[32];        /* Space for expansion              */
};


このようなマシンで、 hpcfbio.h を扱えるようにするにはどうしたらい
いでしょうか。私思うに、fbbase なメンバを加えてもらえば解決できる
..なんて思っているのですが、どうでしょうか。

#将来的には mac68k にも wscons が載るのは確実ですし(1.4.2ALPHA 入
#れてみましたが、あともうちょっと、といった感じでした)、wscons が
#載ったら、なるべくなら mac68k のコードも hpcmips の方に合わせてし
#まいたい、なんて思っています。

#うーん、とすると、wscons が載るまではとりあえず ext の方に置いた
#方がいいのかなぁ。 > fbbase


>実際のサポートは、これから arch/hpcmips/dev/fb.c で実装する予定です。
>
>そもそもこうのようなインターフェースが必要かどうかを含めて、
>なるべく多くの方の意見をお願いします。

mac68k では、 LKM でこのインターフェースに対応できそうな気がしていま
す。grfioctl の間に入って仲介するようにすればいいのでは...なんて思っ
ているのですが...何か問題ありそうでしょうか?

#場違いな質問ばかりで申し訳ないです。が、ちょっとよく分からないもの
#で。 LKM の 中で、さらに grfioctl な ioctl 呼んでも大丈夫なのかな
#ぁ...などと。
#でも、とりあえずダメ元で試してみます。ダメそうなら md_mac.h の方に、
# hpcfbio.h の動作を真似るルーチン群入れます。^^;;


--
柳井 裕之(やないひろゆき)  Hiroyuki Yanai
fk200329@fsinet.or.jp