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

Re: Can I backlight control on a MC-R700?



ども、有閑人 です。

From: TAKEMURA Shin <takemura@netbsd.org>
Subject: Re: Can I backlight control on a MC-R700? 
Date: Wed, 08 Nov 2000 13:59:04 +0900

>  > kernel 以外の普通の(?)プログラムで、メモリマップドI/Oを直接読み書きす
>  > ることができるような仕組みって、NetBSD/hpcmips には用意されていますか? 
>  > 適当なサンプルプログラムへのポインタを教えて頂ければ幸いです。MIPSプロ
>  > セッサに特化したものなら、なおありがたいです。
> 
> 済みません、これってそのまま(なにもフォローついてない)でしたっけ?
> 
> 普通のプログラムからレジスタなどにアクセスするためには
> device driver を作成してmmap の機能を実装します。
> これはそれほど難しくありません。
> 既存のデバイスドライバの mmap ルーチン(どれも大抵10行ぐらいの
> 短いものです)をすこし書き換え(ようするにチェックを無効にする)
> れば、どんなレジスタにもアクセスできるようになります。
> 
> 例えば sys/arch/mips/mips/mem.c の mmmmap の return (-1) を
> return mips_btop(offset) に書き換えて、プログラムから
> /dev/mem を open して mmap すればいいんじゃないでしょうか。


フォローありがとうございました。
少なくとも既存のカーネルそのままではできないみたいですね。

NT 上の VMware に NetBSD/i386 1.4.2 の環境を構築し、そこで hpcmips の
カーネルのクロスコンパイルができる環境までは準備できたので、ぼちぼちと
カーネルのソースを眺めさせて頂きたいと思います。

なんでこんなことを伺ったかというと、MC-R700 にはバックライトの明るさを
7段階(?)に変える機能がCE上で用意されているので、この機能を用いてバック
ライトの明るさを変えた状態で NetBSD/hpcmips を起動し、メモリマップド
I/O のダンプを採取し、これらを比較することで、バックライトの明るさを変
えるレジスタが判るのでは? と思ったからです。

やみくもにダンプするので、バスタイムアウト例外(?)でうまく行かないかも
知れませんけど。(^^; カーネルがこれをどうハンドリングしているか知らな
いレベルですし。


ではでは。

--
有閑人(mailto:kiyoad@da2.so-net.ne.jp)
http://www02.u-page.so-net.ne.jp/da2/kiyoad/