L-Router/ハードウェア
SuzKiti:L-Router
このページは... Flush の壊れた L-Router をどうやって復旧させるか
を考えたところから始まってしまった妄想のことを書くページ。
これまでの経緯
- L-Router には、JTAG 端子が付いていて、これを通して Flush にデータ
を書けたら 復旧できるかも知れない。
- Flush に自由にデータを書けるのなら、いろいろ面白いことができそうだ。
なんかシステムを作る
生のCPUをプログラミングするのも楽しそうだ。
何を作ったら楽しいのか ...Linux/NetBSD が動くわけで、
ちゃんとした OS を作っても楽しくはないだろう。(だいたい作れないし)
もっとシンプルなもの ... おもちゃ的なもの。
- 外と接続できる I/O は 100M イーサネットx2 と シリアル。
ストレージは、IDE x 2 。おもちゃだから IDE Disk なんてつなげない。
- メインの I/O は、そう 2つのイーサネット。このうちの1つは、
システムデバイスのバスと考える。サーバになるマシンが仮想デバイスを提供
することにしよう。
- サーバとは TCP/IP で通信することにしよう。ただし、本もののプロトコル
スタックを持つとは限らない。たぶん、IP アドレス固定の偽物。相手も
特定のIPアドレス決め打ち。--- 相手がなんとかしてくれるのを期待する。
- UDP でもいいんだけども、データがロストしないものを作るのは難しいかも。
TCP/IP の枠組の方が楽のような気がする。
- いったん接続が切れたら... Disk が壊れたようなものだから、
とりあえずは panic でいいや。
- TCP/IP の 再送は.. とりあえずは、サポートなしでもいいか。
イーサネットのレベルでやってくれるから、LAN で TCP/IP レベルの再送なんて
実際は おこらないらしいし。
- デバイスは... 画面と入力については MGL のサーバのプロトコルを
改造すればいいか。
- ファイルリソースはどうしよう ... http でいいか。
- で、こいつは何ができるんだろう。ブートローダの機能は外せないとして
... Webブラウザを動かして ... ポチポチと 選んで http でファイルをダウンロード
して、ブート?
- ここまでできたら、おもちゃとして一流だな。
どうやって実現する?
システムデバイスは、全部 既存の TCP/IP アプリケーションということに
なれば ... CPUエミューレータとかとくっつけて
デバッグ環境を整備していくとかも楽かなぁ。
- くっつけるベースは、SPIM .. か。
- (使うとこだけだけど)vr4122 と違うところを 変更して、
i82557 のエミュレーションも入れる。こっちも使うパターンだけサポートすれば良い。
- エミュレータで動くようになったら、いよいよ実機にもっていって、テスト。
やっぱ最初はデバッグに シリアルいりそうだなぁ。
本気で作る気か?
- うーん。どうなんだろ。... 作れそうなストーリを考えてみたけども 。
いままで いろいろやってきた線上にあるものだし、作ってはみたい。
- まぁ、いまのところ L-Router を復活させたいと思うために 妄想を膨らませて
いる ... という感じか。
(最終更新 Thu Mar 30 18:52:39 2006)