openbsd/luna88k news at nbug meeting 2013-09
Post on 20-Jul-2015
5.366 Views
Preview:
TRANSCRIPT
その後のOpenBSD/luna88k
- 近況報告 -
Nagoya *BSD Users' GroupKenji Aoyama / 青山 健治
aoyama@nk-home.nethttp://www.nk-home.net/~aoyama/
NBUG 2013年9月例会
2
OSC名古屋以降のluna88k
• Secondary CPUのcache• X.Orgサーバのcommit• LUNA-88K(無印)サポート• 4bppグラフィックボード対応• グラフィックボード判別• リリースビルド• mlterm-fb• おまけ:電源ユニット修理(Thanks to 筒井さん)• おまけ:動画撮影&YouTubeへの投稿• おまけ:謎マシンLUNA2010• おわりに:LUNAはLUNAを呼ぶ?
以降の用語
luna88k: OpenBSD/luna88k
88K(無印): LUNA-88K
88K2: LUNA-88K2
3
(1) Secondary CPUのcache
• luna88kのUP(uni-processor) カーネルで複数CPUを載せていると、secondary CPUは無限ループに入る
• 以前はsecondary CPUの命令cacheがonになっていたが、いつの間にかその処理がなくなっていた
• そのままだと、電源ボタンのLEDが点滅しないのでつまらない(^_^)
• luna88kだけの特別処理として、以前のようにsecondary CPUの命令cacheをonにするようにした
5
(2) X.Orgサーバのcommit
• OSC 2013 Nagoyaに向け、イベント駆動開発(©筒井さん)で動作・展示に漕ぎつけた
• OSC終了後、パッチを清書してみるが…• 今の構造ではMIなところに88K{,2}用hackを入れ
ざるを得ない• 何度かメールのやり取りしてokもらう
6
(3) LUNA-88K(無印)サポート
• 蛯原さん、江富さんからいただいたマシン達を寄せ集め、バッテリ切れのNVRAMを交換し、検証用の88K(無印)を1台つくった
• 起動&終了のたびに時間が狂うことが判明• ntpで直せるけど、ちょっと悔しいので調査開始• 88K(無印)と88K2では、NVRAMのICもレジスタの
アドレスも異なる• 88K (無印)は、LUNA(無印,68k)と同じ石で、ソース
もNetBSD/luna68kのまま• アドレスを×4する必要があったので直す
7
(4) 4bppフレームバッファ対応
• いただきものの88K(無印)には、4bppのフレームバッファがついていた
• モノクロXサーバを起動してみると、白黒反転する• ちょっと悔しいので調査開始• 今までの8bppのものとはパレットの扱いが違う• パレットの扱いをROMモニタで試しながら対応
8
(5) フレームバッファ判別
• これまではフレームバッファの種類(depth)をROMモニタがセットする値を見て判別していた
• ROMモニタは1bppと4bppを区別しない/できない?
• luna88kでは1bppしか使っていないので実用上問題ない
• が、ちょっと悔しいのでMachのソースを参考に自前でdepthを見分けるように変更
9
(6) リリースビルド
• OpenBSDは5月1日と11月1日にリリースをする– その3ヶ月くらい前にリリース用バイナリをビルドする– Port maintainerのつとめ– 今回は、11月1日リリースの 5.4 のバイナリ
• luna88kの場合、base部分のビルドに1週間、X部分のビルドに1週間かかる
• 今回はbaseビルドが途中で止まること数回– 18年物のバグ?とか
• Xサーバも初リリース• 結局1ヶ月くらいかかった…
10
(7) mlterm-fb
• mlterm-fbを試してみると、”Unable to open screen.”と言われる
• 自分の設定が悪いのだと思いしばし放置…• OpenBSDのリリースビルドの間、mltermに逃避• luna88kで実装してなさそうなioctl(2)を呼んでると
ころがあったので、その部分を勘でコメントアウト(=NetBSDと同じにする)
• あっさり動いた!
15
★おまけ 謎マシンLUNA2010
• CPU 88110@50Mhz × 2のボードが2枚入ってる• OSは、DG/UXだったような…
(1995年頃にさわったことがあります)• 背面パネル
– Keyboard(DIN5, PC-AT型)– Mouse(D-Sub9, シリアルマウス?)– Video(13W3)– RS-232C × 2(D-Sub9)– Network (AUI)– Printer? (D-Sub25)– Narrow SCSI– RCI (D-Sub9, リモート制御用?)
top related