オープンソースカンファレンス2021 Online/Niigata NetBSDのご紹介 の記録
uPD7201 は見れば見るほどいろいろイケてないが、これは本来は割り込みベクタで割り込み要因は特定できるという前提の仕様なのか
2021-09-22 00:05:35CTS と DCD は立ち下がり立ち上がり両エッジで動くからさっきのコードではダメですね。そもそも RR0_INTRPEND を見ればいいじゃんと思ったらこれが読めるのは channel A だけなのか……。(イケてない) 割り込み時には無条件に Reset E/S するしかないのか?
2021-09-21 23:51:58ま、まあ、 LUNAの場合は本体前面の ABORTボタン(NMIボタン)でいつでも ddb に落とせるしー(そういう問題ではない)
2021-09-21 23:41:40CR1 に WR1_ESENBL をセットして siottyintr() で rr = getsiocsr(sio); if ((rr & (RR_BREAK | RR_CTS | RR_SYNC | RR_DCD)) != 0) { sio->sio_cmd = WR0_RSTINT; if ((rr & RR_BREAK) != 0) cn_check_magic(sc->sc_tty->t_dev, CNC_BREAK, siotty_cnm_state); } としたら BREAK 常に効く。えー…
2021-09-21 23:40:05んー。CR1 に対して WR1_ESENBL をセットしていないので BREAK, DCD, CTS の検知による E/S割り込みは発生せず SR0 の E/S ビットもラッチされないが、BREAK時に受信割り込みもかかるとすると割り込み応答が速く BREAK が立ち上がる前に siottyintr() の getsiocsr() にたどり着けば動く、ということ??
2021-09-21 23:30:25E/S割り込みは CTS や DCD の変化でも起こるので、それらをつないでいるクロスケーブルおよびターミナルを接続すると shell の起動で DCD が変化すると Reset E/S するパスがないので BREAK も入らない、ということなのだろうか……(過去 BREAK のテストで何をやったのかさっぱり覚えていない)
2021-09-21 23:21:58sio 修正版の -current カーネルでも BREAK で ddb(4) に入ることもある。何が起きているのかよくわからないけれど、とりあえずデグレしているわけではないらしい…… pic.twitter.com/ii5pKTfGqp
2021-09-21 23:18:47@moveccr @isaki68k 別件で uPD721 MPSCユーザーズ・マニュアルを読んでいたら 5.1.3 アシンクロナス・モードでの動作例 に CR0←14H Reset E/S INTコマンド, ポインタ指定 CR0←11H Reset E/S INTコマンド, ポインタ指定 などという積極的(?)にコマンドとポインタとを同時指定する使用例が……
2021-09-21 23:00:19んー。いろいろやってると sio 修正版の -current カーネルでも BREAK で ddb(4) に落ちるケースもあるっぽい? 一方で BREAK を送ると ^@ がエコーバックされる(ことがある)のだけれど、これは送信側の BREAK の長さが足りない、なんてことあるのだろうか……
2021-09-21 22:37:24お、Hello world はコンパイル出来て動いた。今書いてるくそでかテストプログラムがnonoでビルドできると2~3倍速出るだけでも(あと騒音的にも:-)楽なんだが、ネットワークが50kbpsなのを直さないと実機でやったほうが速いってなりそうやな…。先は長い。
2021-09-21 22:33:37fcmpは自信ないけど例外ハンドラ側の問題かも知れないので(今それを切り分ける方法がない)、一旦変な数のことは忘れてnormal数だけ相手にしたところ、gccが動くようになったかも知れない。
2021-09-21 22:29:46NetBSD/luna68k 8.0 の GENERIC だと BREAK 送信で ddb(4) に落ちる。 8.0 と 9.2 の間で sio のコードは事実上変わってないのになんなんだ…… pic.twitter.com/QMuIm7VpvA
2021-09-21 21:29:18シリアルコンソールでテストしてたら BREAK を送っても ddb(4) に落ちない。なんかミスったかと思って NetBSD/luna68k 9.2 の GENERIC カーネルで試すとこれも BREAK で ddb(4) に落ちない。 softint(9) 対応をした 2013年時点では動いてたはずだけど、どこでデグレしたのか nerv.org/netbsd/?q=id:2…
2021-09-21 21:13:01まっとうにメンテされてそうな xf86-input-evdev を見てみたけど特に DEVICE_ABORT の処理はないっぽい。そういうもんか gitlab.freedesktop.org/xorg/driver/xf…
2021-09-21 00:55:54Xorg サーバー側で AbortServer() 時に入力デバイスの処理が Abort 専用になって DEVICE_ABORT が呼ばれるようになったのはこのコミット。xorg-server-1.14.0 からか。 gitlab.freedesktop.org/xorg/xserver/-… NetBSD は 2013-06-03: xorg-server 1.10.6 ←NetBSD 7 2016-08-10: xorg-server 1.18.4 ←NetBSD 8 かな
2021-09-21 00:52:57根拠のない雑diffをテスト……と思ったけどフルビルドから必要だから明日以降やな gist.github.com/tsutsui/6c6359…
2021-09-21 00:09:59最近の NetBSD/luna68k を含む謎マシンで Xorgサーバークラッシュ時に WSKBDIO_SETMODE が RAW から戻らずコンソール入力がおかしくなる問題があるのだけれど、これは最近の Xorg で DEVICE_ABORT が導入されたのに kbd側実装がないからという仮説 nxr.netbsd.org/xref/xsrc/exte… nxr.netbsd.org/xref/xsrc/exte…
2021-09-21 00:02:50fcmpが返す結果をマニュアルに書いてある通りに作ったテストコードを実機で走らせるとさっぱり合わなくて、ついに出たわね…みたいな気分になってる。とりあえずマニュアルと違う挙動を今大きく2つは把握した。12676 tests, 1236 failed
2021-09-20 23:28:34sio修正の件、おもむろに LUNA 本体のシリアルコンソール設定をして起動テストしてこちらも特に問題なさそう。次の週末まで寝かせてからコミットする twitter.com/tsutsuii/statu…
2021-09-20 23:18:26本題と関係ない .set_leds のコメントを先にコミットして、 sio (uPD7201) 関連修正差分のもう少し見直した版(将来の古文書リバースエンジニアリング用) gist.github.com/tsutsui/7dac7c…
2021-09-20 17:48:20@nullnilaki 昔というのがどれかわかりませんが、かつては相対パスだとおかしいとかあったような。 sh build.sh -U としたほうがいいかも
2021-09-20 23:04:01"The pkgsrc freeze is now ON." mail-index.netbsd.org/pkgsrc-users/2…
2021-09-20 22:56:30ロジクールのマウスを店で買うときに「店舗では保証修理を受け付けていないので故障のときはメーカーに直接連絡してください」と言われるの、このせいだったんですかね…… twitter.com/miyahancom/sta…
2021-09-20 22:53:07Logicool MX Master 3 のメーカー保証がカタログ・保証書では「2年」なのに実は1年しかなく修理を断られる問題、サポートと交渉して「2年」に改めさせ、さらにそれを公式ページに明記するお約束を果たしていただきました。 泣き寝入りしていたみなさん。今なら2年保証が効くので再連絡してください。 pic.twitter.com/vzTuO8lhxb twitter.com/miyahancom/sta…
2021-09-20 12:40:31