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

Re: panic when DIAGNOSTIC is defined



230MOにsnapshotを入れてみたのですが、OFのドライバはremovable
からbootしてくれないんでした:-(SPARCはできるのに。もう。

Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp> wrote:

Koichi> ここには初めて出てきます。西脇といいます。

おはようございます。近いですね。

Koichi> ADB ドライバには多少縁がありますので...

詳しい方の御登場はありがたいです。

Koichi> SUNAGAWA Keiki wrote:
>> Tsubai Masanari <tsubai@iri.co.jp> wrote:

Tsubai> ADB のドライバーってはっきりいって理解不能なんですが、:-)
>> 確かにかなりごちゃごちゃしていますね。仕様がもっときちん
>> と公開されていればいいんですけど。

Koichi> えっと。Apple の肩を持つ必要はないんですが、ADB の仕
Koichi> 様自体はちゃんとドキュメントとして公開されていて ADB 
Koichi> のドライバがやっていることはそれに則った処理ではある
Koichi> わけです。確かに見た目にすっきりしていないとか、タイ
Koichi> ミングの取り方に問題があって多少おかしな動きをする場
Koichi> 合はあるんですけど。

確かにADBのプロトコルや電気的仕様は公開されていますけど、
Cuda chipなどのコントローラ部分については謎ですよね。

でも私の書き方ではそういう風には取れませんね(__)

#mac68kのオーディオドライバでだいぶ苦労していますので…
#プログラム素人の私にはなかなか勉強することばかりです。

Koichi> 砂川さんのマシンにも PS2 ポートがあるんですよね?な
Koichi> らばドライバの動きに変なところはなく、正しく ADB デ
Koichi> バイスを probe していると思います。問題は PS2/ADB 変
Koichi> 換の ADB デバイスが PS2 キーボード/マウスが繋がって
Koichi> いるかどうかに拘わらず応答しているということでしょう。

はい、そうです。PS/2ポートの状態にかかわらずakbd0はPS/2ポー
トの方になります。ただ不思議なのは、[powerpc-ml:00456]にも書
きましたが、ADBのみにキーボードを繋いでも動いていることです。

Koichi> apple もこのハードウェアには手を焼いたと見えてこんな 
Koichi> Technote を出しています。

Koichi> http://developer.apple.co.jp/technotes/tn10008.html

以前このtechnoteを読んだのをすっかり忘れていました。

Koichi> ですが、最近の MacOS では ADB デバイスのリストを取得
Koichi> している様なツールで見ると PS2 ポートの接続状態を反
Koichi> 映した情報を返してきているようなので、何か方法がある
Koichi> に違いありません。試行錯誤している最中なんですが挫折
Koichi> しかかっています ;-)

ADBをリセットしていたりするのでしょうか。>MacOS

Koichi> 今のコードだと ADB bus 上で probe された順に番号が振
Koichi> られることになりますが、どのデバイスが先に見つかるか
Koichi> は ADB の仕様上保証されませんので、実際にはキーボー
Koichi> ドの繋がっていない PS2 が先に見つかると入力できなく
Koichi> なってしまいまずいと思います。うちでは PS2 が必ず最
Koichi> 初に見つかるので、この設定にすると PS2 キーボードを
Koichi> 繋いでないと何も出来なくなってしまいます。

ad hocな方法としては#ifdef ADB_PS2_HACKとかで括ってwork
aroundを入れてしまうというのを思いつきますが、何か方法がある
のならそれがいいですね。

Koichi> ADB というのは同種のデバイスが繋がっていた時に、個々
Koichi> を完全に区別する方法がないので、今のような扱い方は馴
Koichi> 染まないのかもしれませんね。

そうですね。キーボードのタイプを指定するとか?

akdb0 at adb0 flags 0xAAAA
akdb1 at adb0 flags 0xBBBB