Apr 1, 1999 frc7v-cl1: Server Solaris 2.6、cc ドライバのテスト --- クライアントシステム上での cc ドライバのデバッグ#01(その15) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/CAMAC/onl8v1-sol2.6-serv/ Cli1-CAMAC/debug-step15.txt) 高エネルギー加速器研究機構 素粒子原子核研究所 物理、オンライングループ 井上 栄二 (1). 現状確認 (A). 株式会社ロジックハウスの白田様より SPARC CPU-8VT と、VMEドライバ v2.3.1 を借用した。 (B). 株式会社ロジックハウスの白田様より Server Solaris 2.6 のシステム がインストールされているハードディスクを借用した。 (C). 借用したハードディスクのサーバ側のシステム設定を変更して、KEK の FP クラスタ上で立ち上げた。 (D). ファイルを直接修正する方法で、クライアント(その1)側のシステム 設定を変更したがクライアントは立ち上がれなかった。 (E). Solsticeを起動してホストマネージャを使って、frc7v-cl1ディスクレス クライアントの設定をやり直した。 (F). ディスクレス・クライアントのシステム、frc7v-cl1 が起動できること を確認した。 (G). frc7v-cl1 のシステムにVMEドライバ、FRCvme-2.3.1 をインストールし、 その後、frc7v-cl1 のシステム設定をやり直した。 (H). Solsticeを起動してホストマネージャを使って、frc7v-cl2ディスクレス クライアントの設定をやり直した。 (I). ディスクレス・クライアントのシステム、frc7v-cl2 が起動できること を確認した。 (J). frc7v-cl1、クライアントのシステムに ccドライバをインストールした。 (K). frc7v-cl1、クライアントのシステム上でサンプル・プログラムを実行 シングルアクションの 24ビットread/write は ok. LAM割り込み処理は、ok. ブロック転送 read/write は NG. (L). CPU-7Vのボードで FRCvme2.3.1 が正しく動作できることを確認した。 (M). frc8vt、サーバ・システムに ccドライバをインストールした。 (N). frc8vt、サーバ・システム上でンプル・プログラムを実行 シングルアクションの 24ビットread/write は ok. LAM割り込み処理は、ok. ブロック転送 read/write は 16 および 24ビットとも、ok. (O). 株式会社ロジックハウスの高橋様の修正された ccドライバを実行したが 状況に変化はなかった。 (P). 株式会社ロジックハウスの白田様の提案より、デスクレス・クライアント のシステムにローカル・ディスクをつなぎ、マウントした後で ccドライバ を実行したが状況に変化はなかった。 (Q). cam2 プログラムを実行すると、 cc.cプログラム中のどの命令を実行 した時にパニックを起こすのか調べた。 (R). 株式会社ロジックハウスの高橋様の提案より、savecore について調べる。 savecoreコマンドにより、vmcore.x および unix.x ファイルを入手した。 (S). ドライバ・プログラムが DMA完了の待ち状態のままになっているのを 確認 (T). cam2プログラムを frc8vt、frc7v-cl1上で実行して結果を調べた。    frc8vt上での実行: (1). cv_wait_sig()コールが入っていると、そこで待ち状態が続く。 (2). cv_wait_sig()コールが入っていないと、正常終了する。    frc7v-cl1上での実行: (1). cv_wait_sig()コールが入っていると、そこで待ち状態が続く。 (U). cv_wait_sig() を while文でループさせることで、シグナルを受け取れた (V). DMA 開始前に以前の割り込み信号が残って影響を与えていないことを 確認した。 (W). バーチャル・アドレス・スペースの割り当てを追加して動作させてみたが 症状は変わらない。 (X). cc->bp へのアクセスを camac_b()ルーチンでやらないようにしてみたが 症状は変わらない。 (Y). Soft State Managementルーチンを使ってみたが症状は変わらない。 (Z). minphys のバッファサイズを大きくして試してみたが症状は変わらない。 (2-A). camac_b()を呼び出す箇所で渡す値をチェックしたが症状は変わらない。 (2). ここでやるべきこと クラッシュダンプのチェックする(その3) (3). クラッシュダンプのチェック コア解析 frc7v-cl1[42]% adb -k unix.38 vmcore.38 physmem 3e2d C のスタックトレースバック $c complete_panic(0x0,0x4401ce6,0x0,0x44010e6,0x0,0xf5ae8f40) + 5c do_panic(0x1,0xfbe3a78c,0x0,0x48010e6,0x8,0xf00) + a8 vcmn_err(0x3,0xf0269878,0xfbe3a78c,0x3,0xffeec000,0x0) + 180 cmn_err(0x3,0xf0269878,0xfbe3b,0x53,0x53,0xf025e400) + 1c die(0x9,0xfbe3a8dc,0xf6125f5c,0x326,0x1,0xf0269878) + bc trap(0x0,0xfbe3a8dc,0xf0000000,0x0,0x6,0x1) + 930 fault(?) + 84 cmn_err(0x1,0xf6074b20,0xa,0x40,0xf5914510,0xfbe3aad8) camac_b(0x0,0x2a,0x600,0xfbe3aad8,0xf00000,0xf5c05bb8) + 204 cc_write(0xf00000,0x5,0x600,0x2a,0xfbe3ab08,0xf5c05bb8) + 434 writev(0xf593ac70) + 2b0 camac_b()ルーチンの逆アセンブリ camac_b,50?ai camac_b: camac_b: save %sp, -0x70, %sp camac_b+4: st %i4, [%fp + 0x54] camac_b+8: st %i3, [%fp + 0x50] camac_b+0xc: st %i2, [%fp + 0x4c] camac_b+0x10: st %i1, [%fp + 0x48] camac_b+0x14: st %i0, [%fp + 0x44] camac_b+0x18: sethi %hi(0xf6074800), %l0 camac_b+0x1c: or %l0, 0x3e4, %l0 camac_b+0x20: ld [%l0], %l0 camac_b+0x24: ld [%fp + 0x44], %l1 camac_b+0x28: or %l0, %g0, %o0 camac_b+0x2c: or %l1, %g0, %o1 camac_b+0x30: call ddi_get_soft_state camac_b+0x34: nop camac_b+0x38: or %o0, %g0, %l0 camac_b+0x3c: or %l0, %g0, %i5 camac_b+0x40: mov 0x1, %l0 camac_b+0x44: sethi %hi(0xf6074800), %l1 camac_b+0x48: or %l1, 0x2ac, %l1 camac_b+0x4c: or %l0, %g0, %o0 camac_b+0x50: or %l1, %g0, %o1 camac_b+0x54: call cmn_err camac_b+0x58: nop camac_b+0x5c: add %i5, 0x64, %l0 camac_b+0x60: ld [%l0], %l0 camac_b+0x64: or %l0, %g0, %i4 camac_b+0x68: add %i5, 0x60, %l0 camac_b+0x6c: ld [%l0], %l0 camac_b+0x70: or %l0, %g0, %i3 camac_b+0x74: clr %l1 camac_b+0x78: add %i5, 0x68, %l0 camac_b+0x7c: st %l1, [%l0] camac_b+0x80: lduh [%fp + 0x4a], %l1 camac_b+0x84: add %i5, 0x54, %l0 camac_b+0x88: sth %l1, [%l0] camac_b+0x8c: lduh [%fp + 0x4e], %l1 camac_b+0x90: add %i5, 0x56, %l0 camac_b+0x94: sth %l1, [%l0] camac_b+0x98: ld [%fp + 0x50], %l1 camac_b+0x9c: add %i5, 0x58, %l0 camac_b+0xa0: st %l1, [%l0] camac_b+0xa4: add %i5, 0x18, %l0 camac_b+0xa8: ld [%l0], %l1 camac_b+0xac: ld [%i3], %l0 camac_b+0xb0: st %l1, [%l0] camac_b+0xb4: lduh [%fp + 0x4a], %l0 camac_b+0xb8: sll %l0, 0x10, %l0 camac_b+0xbc: srl %l0, 0x10, %l0 camac_b+0xc0: and %l0, 0x2, %l0 camac_b+0xc4: cmp %l0, %g0 camac_b+0xc8: be camac_b+0xe4 camac_b+0xcc: nop camac_b+0xd0: ld [%fp + 0x50], %l0 camac_b+0xd4: sll %l0, 0x1, %l0 camac_b+0xd8: st %l0, [%fp - 0x8] camac_b+0xdc: ba camac_b+0xf0 camac_b+0xe0: nop camac_b+0xe4: ld [%fp + 0x50], %l0 camac_b+0xe8: sll %l0, 0x2, %l0 camac_b+0xec: st %l0, [%fp - 0x8] camac_b+0xf0: ld [%fp - 0x8], %l1 camac_b+0xf4: ld [%i3], %l0 camac_b+0xf8: add %l0, 0x4, %l0 camac_b+0xfc: st %l1, [%l0] camac_b+0x100: mov 0x1, %l1 camac_b+0x104: add %i3, 0x4, %l0 camac_b+0x108: st %l1, [%l0] camac_b+0x10c: clr %l1 camac_b+0x110: add %i3, 0x10, %l0 camac_b+0x114: st %l1, [%l0] camac_b+0x118: clr %l1 camac_b+0x11c: add %i3, 0x8, %l0 camac_b+0x120: add %l0, 0x4, %l0 camac_b+0x124: st %l1, [%l0] camac_b+0x128: mov 0x1, %l1 camac_b+0x12c: sethi %hi(0xf6074800), %l2 camac_b+0x130: or %l2, 0x2d8, %l2 camac_b+0x134: ld [%i3], %l0 camac_b+0x138: ld [%l0], %l3 camac_b+0x13c: ld [%i3], %l0 camac_b+0x13c,50?ai camac_b+0x13c: camac_b+0x13c: ld [%i3], %l0 camac_b+0x140: add %l0, 0x4, %l0 camac_b+0x144: ld [%l0], %l5 camac_b+0x148: add %i3, 0x4, %l0 camac_b+0x14c: ld [%l0], %l6 camac_b+0x150: add %i3, 0x20, %l0 camac_b+0x154: ld [%l0], %l7 camac_b+0x158: add %i3, 0x10, %l0 camac_b+0x15c: ld [%l0], %i0 camac_b+0x160: add %i3, 0x8, %l0 camac_b+0x164: add %l0, 0x4, %l0 camac_b+0x168: ld [%l0], %l0 camac_b+0x16c: or %l1, %g0, %o0 camac_b+0x170: or %l2, %g0, %o1 camac_b+0x174: or %l3, %g0, %o2 camac_b+0x178: or %l5, %g0, %o3 camac_b+0x17c: or %l6, %g0, %o4 camac_b+0x180: or %l7, %g0, %o5 camac_b+0x184: st %i0, [%sp + 0x5c] camac_b+0x188: st %l0, [%sp + 0x60] camac_b+0x18c: call cmn_err camac_b+0x190: nop camac_b+0x194: ba camac_b+0x26c camac_b+0x198: nop camac_b+0x19c: mov 0x1, %l0 camac_b+0x1a0: sethi %hi(0xf6074800), %l1 camac_b+0x1a4: or %l1, 0x2f4, %l1 camac_b+0x1a8: or %l0, %g0, %o0 camac_b+0x1ac: or %l1, %g0, %o1 camac_b+0x1b0: call cmn_err camac_b+0x1b4: nop camac_b+0x1b8: sethi %hi(0xf6073400), %l0 camac_b+0x1bc: or %l0, 0x240, %l0 camac_b+0x1c0: clr %l1 camac_b+0x1c4: mov 0x40, %l2 camac_b+0x1c8: sethi %hi(0xf6073400), %l3 camac_b+0x1cc: or %l3, 0x1d8, %l3 camac_b+0x1d0: or %l0, %g0, %o0 camac_b+0x1d4: or %l1, %g0, %o1 camac_b+0x1d8: or %i4, %g0, %o2 camac_b+0x1dc: or %l2, %g0, %o3 camac_b+0x1e0: or %l3, %g0, %o4 camac_b+0x1e4: or %i3, %g0, %o5 camac_b+0x1e8: call physio camac_b+0x1ec: nop camac_b+0x1f0: mov 0x1, %l0 camac_b+0x1f4: sethi %hi(0xf6074800), %l1 camac_b+0x1f8: or %l1, 0x320, %l1 camac_b+0x1fc: or %l0, %g0, %o0 camac_b+0x200: or %l1, %g0, %o1 camac_b+0x204: call cmn_err camac_b+0x208: nop camac_b+0x20c: ba camac_b+0x2a0 camac_b+0x210: nop camac_b+0x214: sethi %hi(0xf6073400), %l0 camac_b+0x218: or %l0, 0x240, %l0 camac_b+0x21c: clr %l1 camac_b+0x220: mov 0x100, %l2 camac_b+0x224: sethi %hi(0xf6073400), %l3 camac_b+0x228: or %l3, 0x1d8, %l3 camac_b+0x22c: or %l0, %g0, %o0 camac_b+0x230: or %l1, %g0, %o1 camac_b+0x234: or %i4, %g0, %o2 camac_b+0x238: or %l2, %g0, %o3 camac_b+0x23c: or %l3, %g0, %o4 camac_b+0x240: or %i3, %g0, %o5 camac_b+0x244: call physio camac_b+0x248: nop camac_b+0x24c: ba camac_b+0x2a0 camac_b+0x250: nop camac_b+0x254: mov -0x2, %l0 camac_b+0x258: st %l0, [%i5] camac_b+0x25c: clr %l0 camac_b+0x260: st %l0, [%fp - 0x4] camac_b+0x264: ba camac_b+0x630 camac_b+0x268: nop camac_b+0x26c: add %i5, 0x56, %l0 camac_b+0x270: lduh [%l0], %l0 camac_b+0x274: sll %l0, 0x10, %l0 camac_b+0x278: srl %l0, 0x10, %l0 camac_b+0x278,50?ai camac_b+0x278: camac_b+0x278: srl %l0, 0x10, %l0 camac_b+0x27c: and %l0, 0x18, %l0 camac_b+0x280: cmp %l0, 0x0 camac_b+0x284: be camac_b+0x19c camac_b+0x288: nop camac_b+0x28c: cmp %l0, 0x10 camac_b+0x290: be camac_b+0x214 camac_b+0x294: nop camac_b+0x298: ba camac_b+0x254 camac_b+0x29c: nop camac_b+0x2a0: sethi %hi(0xf6074400), %l0 camac_b+0x2a4: or %l0, 0x8, %l0 camac_b+0x2a8: lduh [%l0], %l0 camac_b+0x2ac: sll %l0, 0x10, %l0 camac_b+0x2b0: srl %l0, 0x10, %l0 camac_b+0x2b4: or %l0, 0x8, %l1 camac_b+0x2b8: add %i5, 0x8, %l0 camac_b+0x2bc: ld [%l0], %l0 camac_b+0x2c0: add %l0, 0x42, %l0 camac_b+0x2c4: sth %l1, [%l0] camac_b+0x2c8: add %i5, 0x8, %l0 camac_b+0x2cc: ld [%l0], %l0 camac_b+0x2d0: add %l0, 0x6e, %l0 camac_b+0x2d4: lduh [%l0], %l1 camac_b+0x2d8: add %i5, 0x3c, %l0 camac_b+0x2dc: sth %l1, [%l0] camac_b+0x2e0: add %i5, 0x9c, %l0 camac_b+0x2e4: ld [%l0], %l0 camac_b+0x2e8: add %l0, 0x54, %l0 camac_b+0x2ec: ld [%l0], %l1 camac_b+0x2f0: sethi %hi(0xf60b4c00), %l0 camac_b+0x2f4: or %l0, 0x0, %l0 camac_b+0x2f8: st %l1, [%l0] camac_b+0x2fc: mov 0x1, %l1 camac_b+0x300: sethi %hi(0xf6074800), %l2 camac_b+0x304: or %l2, 0x34c, %l2 camac_b+0x308: sethi %hi(0xf60b4c00), %l0 camac_b+0x30c: or %l0, 0x0, %l0 camac_b+0x310: ld [%l0], %l0 camac_b+0x314: or %l1, %g0, %o0 camac_b+0x318: or %l2, %g0, %o1 camac_b+0x31c: or %l0, %g0, %o2 camac_b+0x320: call cmn_err camac_b+0x324: nop camac_b+0x328: add %i5, 0x50, %l0 camac_b+0x32c: ld [%l0], %l0 camac_b+0x330: sethi %hi(0x8000), %l1 camac_b+0x334: and %l0, %l1, %l0 camac_b+0x338: cmp %l0, %g0 camac_b+0x33c: be camac_b+0x384 camac_b+0x340: nop camac_b+0x344: add %i5, 0x50, %l0 camac_b+0x348: ld [%l0], %l0 camac_b+0x34c: sethi %hi(0x8000), %l1 camac_b+0x350: xor %l1, -0x1, %l1 camac_b+0x354: and %l0, %l1, %l1 camac_b+0x358: add %i5, 0x50, %l0 camac_b+0x35c: st %l1, [%l0] camac_b+0x360: mov -0x3, %l0 camac_b+0x364: st %l0, [%i5] camac_b+0x368: clr %l1 camac_b+0x36c: ld [%fp + 0x54], %l0 camac_b+0x370: st %l1, [%l0] camac_b+0x374: ld [%i5], %l0 camac_b+0x378: st %l0, [%fp - 0x4] camac_b+0x37c: ba camac_b+0x630 camac_b+0x380: nop camac_b+0x384: mov 0x1, %l1 camac_b+0x388: sethi %hi(0xf6074800), %l2 camac_b+0x38c: or %l2, 0x380, %l2 camac_b+0x390: ld [%i3], %l0 camac_b+0x394: add %l0, 0x4, %l0 camac_b+0x398: ld [%l0], %l3 camac_b+0x39c: add %i3, 0x4, %l0 camac_b+0x3a0: ld [%l0], %l5 camac_b+0x3a4: add %i3, 0x20, %l0 camac_b+0x3a8: ld [%l0], %l6 camac_b+0x3ac: add %i3, 0x10, %l0 camac_b+0x3b0: ld [%l0], %l7 camac_b+0x3b4: add %i3, 0x8, %l0 camac_b+0x3b4,50?ai camac_b+0x3b4: camac_b+0x3b4: add %i3, 0x8, %l0 camac_b+0x3b8: add %l0, 0x4, %l0 camac_b+0x3bc: ld [%l0], %l0 camac_b+0x3c0: or %l1, %g0, %o0 camac_b+0x3c4: or %l2, %g0, %o1 camac_b+0x3c8: or %l3, %g0, %o2 camac_b+0x3cc: or %l5, %g0, %o3 camac_b+0x3d0: or %l6, %g0, %o4 camac_b+0x3d4: or %l7, %g0, %o5 camac_b+0x3d8: st %l0, [%sp + 0x5c] camac_b+0x3dc: call cmn_err camac_b+0x3e0: nop camac_b+0x3e4: lduh [%fp + 0x4a], %l0 camac_b+0x3e8: sll %l0, 0x10, %l0 camac_b+0x3ec: srl %l0, 0x10, %l0 camac_b+0x3f0: and %l0, 0x18, %l0 camac_b+0x3f4: cmp %l0, 0x0 camac_b+0x3f8: be camac_b+0x42c camac_b+0x3fc: nop camac_b+0x400: add %i5, 0x8, %l0 camac_b+0x404: ld [%l0], %l0 camac_b+0x408: add %l0, 0x6e, %l0 camac_b+0x40c: lduh [%l0], %l0 camac_b+0x410: sll %l0, 0x10, %l0 camac_b+0x414: srl %l0, 0x10, %l0 camac_b+0x418: sethi %hi(0x8000), %l1 camac_b+0x41c: and %l0, %l1, %l0 camac_b+0x420: cmp %l0, 0x0 camac_b+0x424: bne camac_b+0x5f4 camac_b+0x428: nop camac_b+0x42c: lduh [%fp + 0x4a], %l0 camac_b+0x430: sll %l0, 0x10, %l0 camac_b+0x434: srl %l0, 0x10, %l0 camac_b+0x438: and %l0, 0x2, %l0 camac_b+0x43c: cmp %l0, 0x0 camac_b+0x440: bne camac_b+0x530 camac_b+0x444: nop camac_b+0x448: add %i5, 0x58, %l0 camac_b+0x44c: ld [%l0], %l2 camac_b+0x450: add %i5, 0x8, %l0 camac_b+0x454: ld [%l0], %l0 camac_b+0x458: add %l0, 0xa, %l0 camac_b+0x45c: lduh [%l0], %l0 camac_b+0x460: sll %l0, 0x10, %l0 camac_b+0x464: srl %l0, 0x10, %l0 camac_b+0x468: mov 0x2, %l1 camac_b+0x46c: or %l0, %g0, %o0 camac_b+0x470: or %l1, %g0, %o1 camac_b+0x474: call fpdispr+0x30 camac_b+0x478: nop camac_b+0x47c: or %o0, %g0, %l1 camac_b+0x480: sub %l2, %l1, %l1 camac_b+0x484: add %i5, 0x5c, %l0 camac_b+0x488: st %l1, [%l0] camac_b+0x48c: lduh [%fp + 0x4a], %l0 camac_b+0x490: sll %l0, 0x10, %l0 camac_b+0x494: srl %l0, 0x10, %l0 camac_b+0x498: and %l0, 0x18, %l0 camac_b+0x49c: cmp %l0, 0x0 camac_b+0x4a0: bne camac_b+0x4e8 camac_b+0x4a4: nop camac_b+0x4a8: add %i5, 0x8, %l0 camac_b+0x4ac: ld [%l0], %l0 camac_b+0x4b0: add %l0, 0x6e, %l0 camac_b+0x4b4: lduh [%l0], %l0 camac_b+0x4b8: sll %l0, 0x10, %l0 camac_b+0x4bc: srl %l0, 0x10, %l0 camac_b+0x4c0: sethi %hi(0x8000), %l1 camac_b+0x4c4: and %l0, %l1, %l0 camac_b+0x4c8: cmp %l0, 0x0 camac_b+0x4cc: be camac_b+0x4e8 camac_b+0x4d0: nop camac_b+0x4d4: add %i5, 0x5c, %l0 camac_b+0x4d8: ld [%l0], %l0 camac_b+0x4dc: sub %l0, 0x2, %l1 camac_b+0x4e0: add %i5, 0x5c, %l0 camac_b+0x4e4: st %l1, [%l0] camac_b+0x4e8: add %i5, 0x18, %l0 camac_b+0x4ec: ld [%l0], %l2 camac_b+0x4f0: add %i5, 0x5c, %l0 camac_b+0x4f0,50?ai camac_b+0x4f0: camac_b+0x4f0: add %i5, 0x5c, %l0 camac_b+0x4f4: ld [%l0], %l0 camac_b+0x4f8: sll %l0, 0x2, %l1 camac_b+0x4fc: add %l2, %l1, %l1 camac_b+0x500: add %i5, 0x18, %l0 camac_b+0x504: st %l1, [%l0] camac_b+0x508: add %i5, 0x20, %l0 camac_b+0x50c: ld [%l0], %l2 camac_b+0x510: add %i5, 0x5c, %l0 camac_b+0x514: ld [%l0], %l0 camac_b+0x518: sll %l0, 0x1, %l1 camac_b+0x51c: add %l2, %l1, %l1 camac_b+0x520: add %i5, 0x20, %l0 camac_b+0x524: st %l1, [%l0] camac_b+0x528: ba camac_b+0x5f4 camac_b+0x52c: nop camac_b+0x530: add %i5, 0x58, %l0 camac_b+0x534: ld [%l0], %l2 camac_b+0x538: add %i5, 0x8, %l0 camac_b+0x53c: ld [%l0], %l0 camac_b+0x540: add %l0, 0xa, %l0 camac_b+0x544: lduh [%l0], %l0 camac_b+0x548: sll %l0, 0x10, %l0 camac_b+0x54c: srl %l0, 0x10, %l1 camac_b+0x550: sub %l2, %l1, %l1 camac_b+0x554: add %i5, 0x5c, %l0 camac_b+0x558: st %l1, [%l0] camac_b+0x55c: lduh [%fp + 0x4a], %l0 camac_b+0x560: sll %l0, 0x10, %l0 camac_b+0x564: srl %l0, 0x10, %l0 camac_b+0x568: and %l0, 0x18, %l0 camac_b+0x56c: cmp %l0, 0x0 camac_b+0x570: bne camac_b+0x5b8 camac_b+0x574: nop camac_b+0x578: add %i5, 0x8, %l0 camac_b+0x57c: ld [%l0], %l0 camac_b+0x580: add %l0, 0x6e, %l0 camac_b+0x584: lduh [%l0], %l0 camac_b+0x588: sll %l0, 0x10, %l0 camac_b+0x58c: srl %l0, 0x10, %l0 camac_b+0x590: sethi %hi(0x8000), %l1 camac_b+0x594: and %l0, %l1, %l0 camac_b+0x598: cmp %l0, 0x0 camac_b+0x59c: be camac_b+0x5b8 camac_b+0x5a0: nop camac_b+0x5a4: add %i5, 0x5c, %l0 camac_b+0x5a8: ld [%l0], %l0 camac_b+0x5ac: sub %l0, 0x1, %l1 camac_b+0x5b0: add %i5, 0x5c, %l0 camac_b+0x5b4: st %l1, [%l0] camac_b+0x5b8: add %i5, 0x18, %l0 camac_b+0x5bc: ld [%l0], %l2 camac_b+0x5c0: add %i5, 0x5c, %l0 camac_b+0x5c4: ld [%l0], %l0 camac_b+0x5c8: sll %l0, 0x1, %l1 camac_b+0x5cc: add %l2, %l1, %l1 camac_b+0x5d0: add %i5, 0x18, %l0 camac_b+0x5d4: st %l1, [%l0] camac_b+0x5d8: add %i5, 0x20, %l0 camac_b+0x5dc: ld [%l0], %l2 camac_b+0x5e0: add %i5, 0x5c, %l0 camac_b+0x5e4: ld [%l0], %l1 camac_b+0x5e8: add %l2, %l1, %l1 camac_b+0x5ec: add %i5, 0x20, %l0 camac_b+0x5f0: st %l1, [%l0] camac_b+0x5f4: mov 0x1, %l0 camac_b+0x5f8: sethi %hi(0xf6074800), %l1 camac_b+0x5fc: or %l1, 0x394, %l1 camac_b+0x600: or %l0, %g0, %o0 camac_b+0x604: or %l1, %g0, %o1 camac_b+0x608: call cmn_err camac_b+0x60c: nop camac_b+0x610: add %i5, 0x5c, %l0 camac_b+0x614: ld [%l0], %l1 camac_b+0x618: ld [%fp + 0x54], %l0 camac_b+0x61c: st %l1, [%l0] camac_b+0x620: ld [%i5], %l0 camac_b+0x624: st %l0, [%fp - 0x4] camac_b+0x628: ba camac_b+0x630 camac_b+0x62c: nop camac_b+0x62c,50?ai camac_b+0x62c: camac_b+0x62c: nop camac_b+0x630: ld [%fp - 0x4], %l0 camac_b+0x634: or %l0, %g0, %i0 camac_b+0x638: ret camac_b+0x63c: restore camac_b+0x640: call 0x83934390 camac_b+0x644: unimp 0x0 camac_b+0x648: unimp 0x0 camac_b+0x64c: unimp 0x0 camac_b+0x650: unimp 0x1 camac_b+0x654: ld [%i5], %i3 camac_b+0x658: unimp 0x0 camac_b+0x65c: unimp 0x0 camac_b+0x660: unimp 0x0 camac_b+0x664: unimp 0x0 cc_dma_attr: unimp 0x0 cc_dma_attr+4: unimp 0x0 cc_dma_attr+8: unimp 0x0 cc_dma_attr+0xc: unimp 0x0 cc_dma_attr+0x10: unimp 0x0 cc_dma_attr+0x14: ??? cc_dma_attr+0x18: unimp 0x0 cc_dma_attr+0x1c: ??? cc_dma_attr+0x20: unimp 0x0 cc_dma_attr+0x24: unimp 0x4 cc_dma_attr+0x28: unimp 0x3f cc_dma_attr+0x2c: unimp 0x4 cc_dma_attr+0x30: unimp 0x0 cc_dma_attr+0x34: ??? cc_dma_attr+0x38: unimp 0x0 cc_dma_attr+0x3c: ??? cc_dma_attr+0x40: unimp 0x11 cc_dma_attr+0x44: unimp 0x200 cc_dma_attr+0x48: unimp 0x0 cc_dma_attr+0x4c: unimp 0x0 intrpri: unimp 0x400ff instruction: ld [%i3], %i3 instruction+4: ld [%i3 + %i0], %i3 instruction+8: ld [%i3], %i3 instruction+0xc: ld [%i3 + %o0], %i3 instruction+0x10: ld [%i3 + %o0], %i3 instruction+0x14: ld [%i3 + %i0], %i3 instruction+0x18: ld [%i3 + %l0], %i3 instruction+0x1c: ld [%i3], %i3 instruction+0x20: ld [%i3 + %l0], %i3 instruction+0x24: ld [%i3], %i3 instruction+0x28: ld [%i3 + %o0], %i3 instruction+0x2c: ld [%i3 + %o0], %i3 instruction+0x30: ld [%i3 + %l0], %i3 instruction+0x34: ld [%i3 + 0x80], %i3 instruction+0x38: ld [%i3 + 0x170], %i3 instruction+0x3c: ld [%i3 + 0x260], %i3 instruction+0x40: ld [%i3 + 0x350], %i3 instruction+0x44: ld [%i3 + 0x4b0], %i3 instruction+0x48: ld [%i3 + 0x638], %i3 instruction+0x4c: ld [%i3 + 0x7d8], %i3 instruction+0x50: ld [%i3 + 0x8d0], %i3 instruction+0x54: ld [%i3 + 0x9d0], %i3 instruction+0x58: ld [%i3 + 0xab8], %i3 instruction+0x5c: ld [%i3 + 0xba8], %i3 instruction+0x60: ld [%i3 + 0xca0], %i3 instruction+0x64: ld [%i3 + 0xda0], %i3 instruction+0x68: ld [%i3 + 0xe88], %i3 instruction+0x6c: ld [%i3 + 0xf78], %i3 instruction+0x70: ld [%i3 - 0xf90], %i3 instruction+0x74: ld [%i3 - 0xe90], %i3 instruction+0x78: ld [%i3 - 0xda8], %i3 instruction+0x7c: ld [%i3], %i3 instruction+0x80: ld [%i3], %i3 instruction+0x84: ld [%i3], %i3 instruction+0x88: ld [%i3], %i3 instruction+0x8c: ld [%i3 - 0xcb8], %i3 instruction+0x90: ld [%i3 - 0xc68], %i3 instruction+0x94: ld [%i3 - 0xc18], %i3 instruction+0x98: ld [%i3 - 0xbc8], %i3 instruction+0x9c: ld [%i3 - 0xb78], %i3 instruction+0xa0: ld [%i3 - 0xb28], %i3 instruction+0xa4: ld [%i3 - 0xad8], %i3 instruction+0xa8: ld [%i3 - 0xa50], %i3 instruction+0xac: ld [%i3 - 0x9c8], %i3 instruction+0xac,50?ai instruction+0xac: instruction+0xac: ld [%i3 - 0x9c8], %i3 instruction+0xb0: ld [%i3 - 0x940], %i3 instruction+0xb4: ld [%i3 - 0x870], %i3 instruction+0xb8: ld [%i3 - 0x760], %i3 instruction+0xbc: ld [%i3 - 0x688], %i3 instruction+0xc0: ld [%i3 - 0x568], %i3 instruction+0xc4: ld [%i3 - 0x4c8], %i3 instruction+0xc8: ld [%i3 - 0x418], %i3 instruction+0xcc: ld [%i3 - 0x370], %i3 instruction+0xd0: ld [%i3 - 0x310], %i3 instruction+0xd4: ld [%i3 - 0x2a0], %i3 instruction+0xd8: ld [%i3 - 0x248], %i3 instruction+0xdc: ld [%i3 - 0x1f8], %i3 instruction+0xe0: ld [%i3 - 0x1a0], %i3 instruction+0xe4: ld [%i3 - 0xd8], %i3 instruction+0xe8: ld [%i3 - 0x68], %i3 instruction+0xec: ld [%i4 + %o0], %i3 instruction+0xf0: ld [%i4 + %o0], %i3 instruction+0xf4: ld [%i4 + %o0], %i3 instruction+0xf8: ld [%i4], %i3 instruction+0xfc: ld [%i4 + %i0], %i3 instruction+0x100: ld [%i4], %i3 instruction+0x104: ld [%i4 + %o0], %i3 instruction+0x108: ld [%i4], %i3 instruction+0x10c: ld [%i4 + %i0], %i3 instruction+0x110: ld [%i4 + %i0], %i3 instruction+0x114: ld [%i4 + %i0], %i3 instruction+0x118: ld [%i4 + %l0], %i3 instruction+0x11c: ld [%i4 + %o0], %i3 instruction+0x120: ld [%i4 + %o0], %i3 instruction+0x124: ld [%i4 + %o0], %i3 instruction+0x128: ld [%i4], %i3 instruction+0x12c: ld [%i4 + %i0], %i3 instruction+0x130: ld [%i4 + %o0], %i3 instruction+0x134: ld [%i4 + %i0], %i3 instruction+0x138: ld [%i4], %i3 instruction+0x13c: ld [%i4 + %o0], %i3 instruction+0x140: ld [%i4], %i3 instruction+0x144: ld [%i4 + %i0], %i3 instruction+0x148: ld [%i4], %i3 instruction+0x14c: ld [%i4 + %o0], %i3 instruction+0x150: ld [%i4], %i3 instruction+0x154: ld [%i4 + %l0], %i3 instruction+0x158: ld [%i4 + %l0], %i3 instruction+0x15c: ld [%i4 + %o0], %i3 instruction+0x160: ld [%i4], %i3 instruction+0x164: ld [%i4 + %i0], %i3 instruction+0x168: ld [%i4 + %l0], %i3 instruction+0x16c: ld [%i4 + %o0], %i3 instruction+0x170: ld [%i4], %i3 instruction+0x174: ld [%i4 + %o0], %i3 instruction+0x178: ld [%i3], %i3 instruction+0x17c: ld [%i3], %i3 instruction+0x180: ld [%i4 + 0x450], %i3 instruction+0x184: ld [%i4 + 0x4a0], %i3 instruction+0x188: ld [%i4 + 0x588], %i3 instruction+0x18c: ld [%i4 + 0x450], %i3 instruction+0x190: ld [%i4 + 0x450], %i3 instruction+0x194: ld [%i4 + 0x670], %i3 instruction+0x198: ld [%i4 + 0x758], %i3 instruction+0x19c: ld [%i4 + 0x450], %i3 instruction+0x1a0: ld [%i4 + 0x450], %i3 instruction+0x1a4: ld [%i4 + 0x850], %i3 instruction+0x1a8: ld [%i4 + 0x450], %i3 instruction+0x1ac: ld [%i4 + 0x450], %i3 instruction+0x1b0: ld [%i4 + 0x450], %i3 instruction+0x1b4: ld [%i4 + 0x450], %i3 instruction+0x1b8: ld [%i4 + 0x450], %i3 instruction+0x1bc: ld [%i4 + 0x450], %i3 instruction+0x1c0: ld [%i4 + 0x450], %i3 instruction+0x1c4: ld [%i4 + 0x450], %i3 instruction+0x1c8: ld [%i4 + 0x450], %i3 instruction+0x1cc: ld [%i4 + 0x8f8], %i3 instruction+0x1d0: ld [%i4 + 0xa40], %i3 instruction+0x1d4: ld [%i4 + 0x450], %i3 instruction+0x1d8: ld [%i4 + 0x450], %i3 instruction+0x1dc: ld [%i4 + 0xb98], %i3 instruction+0x1e0: ld [%i4 + 0xce0], %i3 instruction+0x1e4: ld [%i4 + 0x450], %i3 instruction+0x1e8: ld [%i4 + 0x450], %i3 instruction+0x1e8,50?ai instruction+0x1e8: instruction+0x1e8: ld [%i4 + 0x450], %i3 instruction+0x1ec: ld [%i4 + 0xe38], %i3 instruction+0x1f0: ld [%i4 + 0xf80], %i3 instruction+0x1f4: ld [%i4 + 0x450], %i3 instruction+0x1f8: ld [%i4 + 0x450], %i3 instruction+0x1fc: unimp 0x0 cc_cb_ops: ld [%i2 - 0x5b0], %i3 cc_cb_ops+4: ld [%i2 - 0x3e8], %i3 cc_cb_ops+8: ldub [%i3 + %g4], %i0 cc_cb_ops+0xc: ldub [%i3 + %g4], %i0 cc_cb_ops+0x10: ldub [%i3 + %g4], %i0 cc_cb_ops+0x14: ldub [%i3 + %g4], %i0 cc_cb_ops+0x18: ld [%i2 - 0x358], %i3 cc_cb_ops+0x1c: ld [%i3], %i3 cc_cb_ops+0x20: ldub [%i3 + %g4], %i0 cc_cb_ops+0x24: ldub [%i3 + %g4], %i0 cc_cb_ops+0x28: ldub [%i3 + %g4], %i0 cc_cb_ops+0x2c: ldub [%i4 + 0x47c], %i0 cc_cb_ops+0x30: ldub [%i3 - 0xe80], %i0 cc_cb_ops+0x34: unimp 0x0 cc_cb_ops+0x38: unimp 0x20 cc_cb_ops+0x3c: unimp 0x0 cc_cb_ops+0x40: unimp 0x0 cc_cb_ops+0x44: unimp 0x0 cc_ops: unimp 0x3 cc_ops+4: unimp 0x1 cc_ops+8: ld [%i2 - 0x6e0], %i3 cc_ops+0xc: ld [%i2 - 0xe60], %i3 cc_ops+0x10: ld [%i2 - 0xdd0], %i3 cc_ops+0x14: ld [%i2 - 0xb40], %i3 cc_ops+0x18: ld [%i2 - 0x7f0], %i3 cc_ops+0x1c: ldub [%i3 + %g4], %i0 cc_ops+0x20: ld [%i5 + %o4], %i3 cc_ops+0x24: unimp 0x0 cc_ops+0x28: unimp 0x0 cc_ops+0x2c: st %i0, [%i7 + %i4] cc_ops+0x30: ld [%i5 + %i0], %i3 cc_ops+0x34: ld [%i5 + %l4], %i3 cc_ops+0x38: call 0x8394c44c cc_ops+0x3c: call 0xbfc4d024 cc_ops+0x40: unimp 0x206464 cc_ops+0x44: call 0x9b851454 cc_ops+0x48: call 0x8fd8c468 cc_ops+0x4c: call 0xc78d1834 cc_ops+0x50: call 0x73f0cc54 cc_ops+0x54: call 0xa7c4d328 cc_ops+0x58: call 0x8f8cec5c cc_ops+0x5c: call 0x8b9746b0 cc_ops+0x60: call 0x8394c474 cc_ops+0x64: call 0xbfc4d04c cc_ops+0x68: unimp 0x206464 cc_ops+0x6c: call 0x9b84e454 cc_ops+0x70: call 0xc7851480 cc_ops+0x74: call 0x8fd8c494 cc_ops+0x78: call 0xc78d1860 cc_ops+0x7c: ??? cc_ops+0x80: call 0xa79cd6d4 cc_ops+0x84: call 0x8394c498 cc_ops+0x88: call 0xbfc4d070 cc_ops+0x8c: unimp 0x20756e cc_ops+0x90: call 0x7b90f878 cc_ops+0x94: ??? cc_ops+0x98: call 0xab8d076c cc_ops+0x9c: call 0xbf9ce494 cc_ops+0xa0: call 0xc3d8dcbc cc_ops+0xa4: call 0xc288e0b4 cc_ops+0xa8: call 0xbe88d488 cc_ops+0xac: unimp 0xa0000 cc_ops+0xb0: call 0x8394c4c4 cc_ops+0xb4: call 0xbfc4d09c cc_ops+0xb8: unimp 0x20756e cc_ops+0xbc: call 0x7b90f8a4 cc_ops+0xc0: ??? cc_ops+0xc4: call 0x8fad00a8 cc_ops+0xc8: ??? cc_ops+0xcc: sethi %hi(0xdc81c800), %i0 cc_ops+0xd0: call 0x8ba4ecf0 cc_ops+0xd4: call 0xc79d10f4 cc_ops+0xd8: ??? cc_ops+0xdc: ??? : : : エラーを起こしている cmn_err() は camac_b() + 204 の命令である。 camac_b(0x0,0x2a,0x600,0xfbe3aad8,0xf00000,0xf5c05bb8) + 204 cmn_err(0x1,0xf6074b20,0xa,0x40,0xf5914510,0xfbe3aad8) これは、Cソースでは switch (cc->naf & 0x0018) { case 0x0000: /* CAMAC read */ : physio(cc_strategy, NULL, dev, B_READ, cc_minphys, uio); /* E.Inoue: from */ cmn_err(CE_NOTE," camac_b: debug step07. --- return physio()"); /* E.Inoue: end */ break; } の部分にあたる。 この、cmn_err()文を switch() の外に出してみよう。 cc.cファイルを修正する。 frc7v-cl1[55]% vi cc.c : switch (cc->naf & 0x0018) { case 0x0000: /* CAMAC read */ /* E.Inoue: from */ cmn_err(CE_NOTE," camac_b: debug step02. --- call physio()"); /* E.Inoue: end */ physio(cc_strategy, NULL, dev, B_READ, cc_minphys, uio); /* E.Inoue: from cmn_err(CE_NOTE," camac_b: debug step07. --- return physio()"); E.Inoue: end */ break; case 0x0010: /* CAMAC write */ physio(cc_strategy, NULL, dev, B_WRITE, cc_minphys, uio); break; default: cc->status = CC_STA_BLOCK_INVFUNC; return 0; } /* E.Inoue: from */ cmn_err(CE_NOTE," camac_b: debug step07. --- return physio()"); /* E.Inoue: end */ nes, 72677 characters frc7v-cl1[55]% cc.cファイルをコンパイルし直す。 frc7v-cl1[58]% make ./script/cc_build.sh [Building for sun4m] rm -f cc.o frc7v-cl1[59]% cc および cc.confファイルをコピーし直す。 frc8vt# pwd /usr/kernel/drv frc8vt# ls -l cc* -rwxr-xr-x 1 root sys 61072 Mar 31 10:21 cc* -rwxr-xr-x 1 root sys 288 Mar 31 10:21 cc.conf* frc8vt# rcp frc7v-cl1:/export/home/frc7v-cl1/inoue/CAMAC/Driver/FORCE-5V-sol2.5/ cc . frc8vt# rcp frc7v-cl1:/export/home/frc7v-cl1/inoue/CAMAC/Driver/FORCE-5V-sol2.5/ cc.conf . frc8vt# ls -l cc* -rwxr-xr-x 1 root sys 61072 Mar 31 16:35 cc* -rwxr-xr-x 1 root sys 288 Mar 31 16:35 cc.conf* frc8vt# ccドライバをロードし直す。 frc7v-cl1# make unload ./script/cc_unload.sh [Removing CAMAC device driver] [Removing CAMAC device driver from system] Driver (cc) not installed. [Deleting CAMAC device files] frc7v-cl1# make load ./script/cc_load.sh [Installing CAMAC device driver] cp: cannot create /usr/kernel/drv/cc: Read-only file system cp: cannot create /usr/kernel/drv/cc.conf: Read-only file system [Adding CAMAC device driver to system] [Configuring CAMAC device driver] [Making CAMAC device files] frc7v-cl1# cam2プログラムを実行する。 frc7v-cl1[46]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >5 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >5 Input n a f >3 0 0 cam2プログラムはここでフリーズした。 システムはパニックを起こしてリブートしてしまった。 APOTICE: in: : 3t5yp0 10 e =490 0- entTr camac_bR) N TIrp:=fccma0_b: debu4 step024 --- 8ald physco() NO ICE: cc_strategd:ddebr= sfe50e. 96-fen5er cc_scra egy() ebugICE:r cc_stwa=e1y: ebug smup04._--- ffund shr cam=c3rea2 cam2: Data fault kernel read fault at addr=0xf5e96f5c, pme=0x0 MMU sfsr=326: Invalid Address on supv data fetch at level 3 pte addr = 0xf599a358, level = 3 wrong ctx/as ctx 0, as 0xf5914420 wrong ctx/as 2 ctx 0, as 0x90 pid=498, pc=0xf60b103c, sp=0xfc044928, psr=0x44010c2, context=0 g1-g7: f026de48, 143dd, f60251f8, c00, 200, 1, f5edfcc0 acOeICE:bcount anc32bit=10k3r0 NO.I.E: cc_.trateg : sp u= sfcp05.0--4 start DMA NOTICE: 4cc92nt8: bCg stea06l -l- enterdcc_in r() NOfrCEo mcc_in r:fdebug step06a60-a9 cc->i0derruct=0xe N,T CEf cc_inpr:=febug step0c0. 4-- cc-4execu9i9g_dma_flag != 08 NOT,CE: ar_ing 4NOTICE: 4cc_sarad8g : debug ft0p07. --- r00u00 DMAnt0() NOTI E: camac_f5 debbf step07. --1 return dcysio() 8 Called from f00bd3ac, fp=fc044a70, args=f00000 5 600 2a fc044b08 f5bf1dc8 Called from f0068900, fp=fc044b80, args=f5b1b928 f5c88374 22 3 22 3 Called from 11f30, fp=effff8c0, args=1 600 3f53c0 5 24a70 24a80 End traceback... panic: Data fault syncing file systems... 2 done 2730 static and sysmap kernel pages 86 dynamic kernel data pages 490 kernel-pageable pages 0 segkmap kernel pages 0 segvn kernel pages 287 current user process pages 3593 total pages (3593 chunks) dumping to vp f59444dc, offset 139232 3593 total pages, dump succeeded rebooting... Resetting ... screen not found. Can't open input device. Keyboard not present. Using tty for input and output. SPARC CPU-7V, No Keyboard ROM Rev. 2.15.1, 64 MB memory installed, Serial #9157050. Ethernet address 0:80:42:b:49:ba, Host ID: 808bb9ba. apply failed. Initializing Memory / Type help for more information ok ok boot net -r Boot device: /iommu/sbus/ledma@5,8400010/le@5,8c00000 File and args: -r 2dc00 hostname: frc7v-cl1 domainname: kek.jp root server: frc8vt root directory: /export/root/frc7v-cl1 SunOS Release 5.6 Version Generic_105181-05 [UNIX(R) System V Release 4.0] Copyright (c) 1983-1997, Sun Microsystems, Inc. configuring network interfaces: le0. Hostname: frc7v-cl1 Configuring the /devices directory FRCvme V2.3.1 VME Nexus (FGA-5000 FGA-5100) NOTICE: VME: slavewin at vme=0x0, size=0x100000 space=0x2d020617 CAMAC device driver V1.3x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at VME0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 vmemem0 at VME0: vme32d16 0x0 vmemem1 at VME0: vme16d16 0x0 vmemem2 at VME0: vme24d16 0x0 vmemem3 at VME0: vme32d32 0x0 vmemem4 at VME0: vme16d32 0x0 vmemem5 at VME0: vme24d32 0x0 vmeplus0 at VME0: vme16d16 0x0 and vme24d16 0x0 and vme32d16 0x0 and vme16d32 0x 0 and vme24d32 0x0 and vme32d32 0x0 and space 0x2f offset 0x0 and space 0x6f offset 0x0 and space 0x10 offset 0x0 and space 0x11 offset 0x0 and space 0x50 offset 0x0 and space 0x51 offset 0x0 vmedma0 at VME0 vmefdma0 at VME0 vmedvma0 at VME0 vmectl0 at VME0 Configuring the /dev directory Configuring the /dev directory (compatibility devices) The system is coming up. Please wait. checking for crash dump...System went down at Wed Mar 31 16:32:40 1999 Saving 3593 pages of image in vmcore.39 3593 pages saved. Processing modules: Done. Constructing Namelist file: /var/crash/frc7v-cl1/unix.39 Namelist file complete. default ICCFP1.kek.jp done add net default: gateway ICCFP1 NIS domainname is kek.jp starting rpc services: rpcbind keyserv done. Setting netmask of le0 to 255.255.252.0 Setting default interface for multicast: add net 224.0.0.0: gateway frc7v-cl1 "/dev/swap" is not valid for swapping. It must be a block device or a regular file with the "save user text on execution" bit set. syslog service starting. syslogd: line 24: unexpected getnetconfig failure Print services started. volume management starting. Wnn6: Key License Server started.... Nihongo Multi Client Server (Wnn6 R2.30) Finished Reading Files The system is ready. frc7v-cl1 console login: ホームディレクトリをマウントする。 onlsun1[49]% !! rlogin frc7v-cl1 Password: No directory! Logging in with home=/ Last login: Wed Mar 31 15:21:27 from onlsun1.kek.jp Sun Microsystems Inc. SunOS 5.6 Generic August 1997 frc7v-cl1% su Password: # mount frc8vt:/export/home/frc8vt /export/home/frc7v-cl1 # frc7v-cl1% logout Connection closed. onlsun1[50]% !! rlogin frc7v-cl1 Last login: Wed Mar 31 16:38:18 from onlsun1.kek.jp Sun Microsystems Inc. SunOS 5.6 Generic August 1997 frc7v-cl1[33]% ls -l total 8 drwxr-xr-x 3 inoue staff 512 Feb 9 15:34 CAMAC/ drwxr-xr-x 3 inoue staff 512 Nov 6 11:07 FORCE/ drwxr-xr-x 2 inoue staff 512 Feb 18 10:29 Ktaka/ -rw------- 1 inoue staff 592 Feb 26 16:49 mbox frc7v-cl1[34]% クラッシュ・ファイルをチェック。 frc7v-cl1[35]% adb -k unix.39 vmcore.39 physmem 3e2d $c complete_panic(0x0,0x4401ce5,0x0,0x44010e5,0x0,0xf00) + 5c do_panic(0x1,0xfc04478c,0x0,0x48010e5,0x1,0xf5bc9b00) + a8 vcmn_err(0x3,0xf0269878,0xfc04478c,0x3,0xffeec000,0x0) + 180 cmn_err(0x3,0xf0269878,0xfc045,0x53,0x53,0xf025e400) + 1c die(0x9,0xfc0448dc,0xf5e96f5c,0x326,0x1,0xf0269878) + bc trap(0x0,0xfc0448dc,0xf0000000,0x0,0x6,0x1) + 930 fault(?) + 84 cmn_err(0x1,0xf60b1b20,0xa,0x40,0xf5914420,0xfc044ad8) camac_b(0x0,0x2a,0x600,0xfc044ad8,0xf00000,0xf5bf1dc8) + 298 cc_write(0xf00000,0x5,0x600,0x2a,0xfc044b08,0xf5bf1dc8) + 434 writev(0xf5b1b928) + 2b0 camac_b+220,50?ai camac_b+0x220: camac_b+0x220: or %l3, %g0, %o4 camac_b+0x224: or %i3, %g0, %o5 camac_b+0x228: call physio camac_b+0x22c: nop camac_b+0x230: ba camac_b+0x284 camac_b+0x234: nop camac_b+0x238: mov -0x2, %l0 camac_b+0x23c: st %l0, [%i5] camac_b+0x240: clr %l0 camac_b+0x244: st %l0, [%fp - 0x4] camac_b+0x248: ba camac_b+0x630 camac_b+0x24c: nop camac_b+0x250: add %i5, 0x56, %l0 camac_b+0x254: lduh [%l0], %l0 camac_b+0x258: sll %l0, 0x10, %l0 camac_b+0x25c: srl %l0, 0x10, %l0 camac_b+0x260: and %l0, 0x18, %l0 camac_b+0x264: cmp %l0, 0x0 camac_b+0x268: be camac_b+0x19c camac_b+0x26c: nop camac_b+0x270: cmp %l0, 0x10 camac_b+0x274: be camac_b+0x1f8 camac_b+0x278: nop camac_b+0x27c: ba camac_b+0x238 camac_b+0x280: nop camac_b+0x284: mov 0x1, %l0 camac_b+0x288: sethi %hi(0xf60b1800), %l1 camac_b+0x28c: or %l1, 0x320, %l1 camac_b+0x290: or %l0, %g0, %o0 camac_b+0x294: or %l1, %g0, %o1 camac_b+0x298: call cmn_err camac_b+0x29c: nop camac_b+0x2a0: sethi %hi(0xf60b1400), %l0 camac_b+0x2a4: or %l0, 0x8, %l0 camac_b+0x2a8: lduh [%l0], %l0 camac_b+0x2ac: sll %l0, 0x10, %l0 camac_b+0x2b0: srl %l0, 0x10, %l0 camac_b+0x2b4: or %l0, 0x8, %l1 camac_b+0x2b8: add %i5, 0x8, %l0 camac_b+0x2bc: ld [%l0], %l0 camac_b+0x2c0: add %l0, 0x42, %l0 camac_b+0x2c4: sth %l1, [%l0] camac_b+0x2c8: add %i5, 0x8, %l0 camac_b+0x2cc: ld [%l0], %l0 camac_b+0x2d0: add %l0, 0x6e, %l0 camac_b+0x2d4: lduh [%l0], %l1 camac_b+0x2d8: add %i5, 0x3c, %l0 camac_b+0x2dc: sth %l1, [%l0] camac_b+0x2e0: add %i5, 0x9c, %l0 camac_b+0x2e4: ld [%l0], %l0 camac_b+0x2e8: add %l0, 0x54, %l0 camac_b+0x2ec: ld [%l0], %l1 camac_b+0x2f0: sethi %hi(0xf60f1c00), %l0 camac_b+0x2f4: or %l0, 0x0, %l0 camac_b+0x2f8: st %l1, [%l0] camac_b+0x2fc: mov 0x1, %l1 camac_b+0x300: sethi %hi(0xf60b1800), %l2 camac_b+0x304: or %l2, 0x34c, %l2 camac_b+0x308: sethi %hi(0xf60f1c00), %l0 camac_b+0x30c: or %l0, 0x0, %l0 camac_b+0x310: ld [%l0], %l0 camac_b+0x314: or %l1, %g0, %o0 camac_b+0x318: or %l2, %g0, %o1 camac_b+0x31c: or %l0, %g0, %o2 camac_b+0x320: call cmn_err camac_b+0x324: nop camac_b+0x328: add %i5, 0x50, %l0 camac_b+0x32c: ld [%l0], %l0 camac_b+0x330: sethi %hi(0x8000), %l1 camac_b+0x334: and %l0, %l1, %l0 camac_b+0x338: cmp %l0, %g0 camac_b+0x33c: be camac_b+0x384 camac_b+0x340: nop camac_b+0x344: add %i5, 0x50, %l0 camac_b+0x348: ld [%l0], %l0 camac_b+0x34c: sethi %hi(0x8000), %l1 camac_b+0x350: xor %l1, -0x1, %l1 camac_b+0x354: and %l0, %l1, %l1 camac_b+0x358: add %i5, 0x50, %l0 camac_b+0x35c: st %l1, [%l0] $q frc7v-cl1[36]% エラーを起こしている cmn_err() は camac_b() + 204 の命令である。 camac_b(0x0,0x2a,0x600,0xfc044ad8,0xf00000,0xf5bf1dc8) + 298 cmn_err(0x1,0xf60b1b20,0xa,0x40,0xf5914420,0xfc044ad8) これは、Cソースでは switch (cc->naf & 0x0018) { case 0x0000: /* CAMAC read */ : physio(cc_strategy, NULL, dev, B_READ, cc_minphys, uio); break; : } /* E.Inoue: from */ cmn_err(CE_NOTE," camac_b: debug step07. --- return physio()"); /* E.Inoue: end */ の部分の cmn_err() にあたる。 これをコメントアウトしてみよう。 cc.cファイルを修正。 frc7v-cl1[48]% vi cc.c : switch (cc->naf & 0x0018) { case 0x0000: /* CAMAC read */ /* E.Inoue: from */ cmn_err(CE_NOTE," camac_b: debug step02. --- call physio()"); /* E.Inoue: end */ physio(cc_strategy, NULL, dev, B_READ, cc_minphys, uio); /* E.Inoue: from cmn_err(CE_NOTE," camac_b: debug step07. --- return physio()"); E.Inoue: end */ break; case 0x0010: /* CAMAC write */ physio(cc_strategy, NULL, dev, B_WRITE, cc_minphys, uio); break; default: cc->status = CC_STA_BLOCK_INVFUNC; return 0; } /* E.Inoue: from cmn_err(CE_NOTE," camac_b: debug step07. --- return physio()"); E.Inoue: end */ : "cc.c" 2881 lines, 72673 characters frc7v-cl1[49]% cc.cファイルをコンパイル。 frc7v-cl1[49]% make ./script/cc_build.sh [Building for sun4m] rm -f cc.o frc7v-cl1[50]% cc および cc.confファイルをコピーし直す。 frc8vt# pwd /usr/kernel/drv frc8vt# ls -l cc* -rwxr-xr-x 1 root sys 61072 Mar 31 16:35 cc* -rwxr-xr-x 1 root sys 288 Mar 31 16:35 cc.conf* frc8vt# rcp frc7v-cl1:/export/home/frc7v-cl1/inoue/CAMAC/Driver/FORCE-5V-sol2.5/ cc . frc8vt# rcp frc7v-cl1:/export/home/frc7v-cl1/inoue/CAMAC/Driver/FORCE-5V-sol2.5/ cc.conf . frc8vt# ls -l cc* -rwxr-xr-x 1 root sys 60968 Mar 31 17:48 cc* -rwxr-xr-x 1 root sys 288 Mar 31 17:48 cc.conf* frc8vt# ccドライバをロードし直す。 frc7v-cl1# make unload ./script/cc_unload.sh [Removing CAMAC device driver] [Removing CAMAC device driver from system] [Deleting CAMAC device files] frc7v-cl1# make load ./script/cc_load.sh [Installing CAMAC device driver] cp: cannot create /usr/kernel/drv/cc: Read-only file system cp: cannot create /usr/kernel/drv/cc.conf: Read-only file system [Adding CAMAC device driver to system] [Configuring CAMAC device driver] [Making CAMAC device files] frc7v-cl1# cam2プログラムを実行。 frc7v-cl1[41]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >5 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >5 Input n a f >3 0 0 cam2プログラムはここでフリーズした。 システムはパニックを起こしてリブートしてしまった。 NOTICE: camac_B:AdeDug st pT1.R-A- ePter ca:a _b() NOTICt: in: 0xyp53c0 1e=1934 0 0 NOT CE: camac_b:rpe=ug ftep02.c--- cal0 3hysio() N4TICE: 8d_scr tegy: deaugdstep03d --- enrer c=_ftr6teg137 NOTfCE5 cc_c rategy:mdebug stemu_.f-s- ro=3d26he camac rrad NOTICE: w=_str1te cam2: Data fault kernel read fault at addr=0xf6137f5c, pme=0x0 MMU sfsr=326: Invalid Address on supv data fetch at level 3 pte addr = 0xf60619dc, level = 3 wrong ctx/as ctx 0, as 0xf5914510 wrong ctx/as 2 ctx 0, as 0xb pid=419, pc=0xf606f020, sp=0xfc034928, psr=0x44010c0, context=0 g1-g7: f5900000, f026f0bc, a00, c00, 200, 1, f5fc5160 : deBug stepg4-1i --- dma_addr = 0x3cn NtTICE:rcoanc in 3ebib=10 tr: ICE: 9c2_8rategy..d bus pt p=5 -f- cta0t DMA Calg slep06. d- efrer cc_iotrm NOTICE: fcc_in6r: 06bug ste706a. ---0cc-dicterrupt=0xe, NOTICE fpc_=ntr:fdecu0 3 argTsCE: cc_=0tr: debug s2ep06d. a -60ccept inte0rupt: re urf cc_intr0)3 NOTICE: 4 ac_stdategy8 efug s0ep070 -00 r turnfDMA 5bf1bb8 Called from f00bd3ac, fp=fc034a70, args=f00000 5 600 2a fc034b08 f5bf1bb8 Called from f0068900, fp=fc034b80, args=f5939bf8 f5c7e83c 22 3 22 3 Called from 11f30, fp=effff8c0, args=1 600 3f53c0 5 24a70 24a80 End traceback... panic: Data fault syncing file systems... 2 done 2780 static and sysmap kernel pages 92 dynamic kernel data pages 488 kernel-pageable pages 0 segkmap kernel pages 0 segvn kernel pages 287 current user process pages 3647 total pages (3647 chunks) dumping to vp f59444dc, offset 138800 3647 total pages, dump succeeded rebooting... Resetting ... screen not found. Can't open input device. Keyboard not present. Using tty for input and output. SPARC CPU-7V, No Keyboard ROM Rev. 2.15.1, 64 MB memory installed, Serial #9157050. Ethernet address 0:80:42:b:49:ba, Host ID: 808bb9ba. apply failed. Initializing Memory - Type help for more information ok ok boot net -r Boot device: /iommu/sbus/ledma@5,8400010/le@5,8c00000 File and args: -r 2dc00 hostname: frc7v-cl1 domainname: kek.jp root server: frc8vt root directory: /export/root/frc7v-cl1 SunOS Release 5.6 Version Generic_105181-05 [UNIX(R) System V Release 4.0] Copyright (c) 1983-1997, Sun Microsystems, Inc. configuring network interfaces: le0. Hostname: frc7v-cl1 Configuring the /devices directory FRCvme V2.3.1 VME Nexus (FGA-5000 FGA-5100) NOTICE: VME: slavewin at vme=0x0, size=0x100000 space=0x2d020617 CAMAC device driver V1.3x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at VME0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 vmemem0 at VME0: vme32d16 0x0 vmemem1 at VME0: vme16d16 0x0 vmemem2 at VME0: vme24d16 0x0 vmemem3 at VME0: vme32d32 0x0 vmemem4 at VME0: vme16d32 0x0 vmemem5 at VME0: vme24d32 0x0 vmeplus0 at VME0: vme16d16 0x0 and vme24d16 0x0 and vme32d16 0x0 and vme16d32 0x 0 and vme24d32 0x0 and vme32d32 0x0 and space 0x2f offset 0x0 and space 0x6f offset 0x0 and space 0x10 offset 0x0 and space 0x11 offset 0x0 and space 0x50 offset 0x0 and space 0x51 offset 0x0 vmedma0 at VME0 vmefdma0 at VME0 vmedvma0 at VME0 vmectl0 at VME0 Configuring the /dev directory Configuring the /dev directory (compatibility devices) The system is coming up. Please wait. checking for crash dump...System went down at Wed Mar 31 17:44:44 1999 Saving 3647 pages of image in vmcore.40 3647 pages saved. Processing modules: Done. Constructing Namelist file: /var/crash/frc7v-cl1/unix.40 Namelist file complete. default ICCFP1.kek.jp done add net default: gateway ICCFP1 NIS domainname is kek.jp starting rpc services: rpcbind keyserv done. Setting netmask of le0 to 255.255.252.0 Setting default interface for multicast: add net 224.0.0.0: gateway frc7v-cl1 "/dev/swap" is not valid for swapping. It must be a block device or a regular file with the "save user text on execution" bit set. syslog service starting. syslogd: line 24: unexpected getnetconfig failure Print services started. volume management starting. Wnn6: Key License Server started.... Nihongo Multi Client Server (Wnn6 R2.30) Finished Reading Files The system is ready. frc7v-cl1 console login: ホームディレクトリをマウントする。 onlsun1[51]% !! rlogin frc7v-cl1 Password: No directory! Logging in with home=/ Last login: Wed Mar 31 16:43:43 from onlsun1.kek.jp Sun Microsystems Inc. SunOS 5.6 Generic August 1997 frc7v-cl1% su Password: # mount frc8vt:/export/home/frc8vt /export/home/frc7v-cl1 # frc7v-cl1% logout Connection closed. onlsun1[52]% !! rlogin frc7v-cl1 Last login: Wed Mar 31 17:50:44 from onlsun1.kek.jp Sun Microsystems Inc. SunOS 5.6 Generic August 1997 frc7v-cl1[33]% ls -l total 8 drwxr-xr-x 3 inoue staff 512 Feb 9 15:34 CAMAC/ drwxr-xr-x 3 inoue staff 512 Nov 6 11:07 FORCE/ drwxr-xr-x 2 inoue staff 512 Feb 18 10:29 Ktaka/ -rw------- 1 inoue staff 592 Feb 26 16:49 mbox frc7v-cl1[34]% クラッシュ・ファイルをチェック。 frc7v-cl1[37]% adb -k unix.40 vmcore.40 physmem 3e2d $c complete_panic(0x0,0x4401ce3,0x0,0x44010e3,0x0,0xf5ae8f40) + 5c do_panic(0x1,0xfc03478c,0x0,0x48010e3,0x8,0xf00) + a8 vcmn_err(0x3,0xf0269878,0xfc03478c,0x3,0xffeec000,0x0) + 180 cmn_err(0x3,0xf0269878,0xfc035,0x53,0x53,0xf025e400) + 1c die(0x9,0xfc0348dc,0xf6137f5c,0x326,0x1,0xf0269878) + bc trap(0x0,0xfc0348dc,0xf0000000,0x0,0x6,0x1) + 930 fault(?) + 84 physio(0x0,0xf028c49c,0xa,0x40,0xf5914510,0xfc034ad8) camac_b(0x0,0x2a,0x600,0xfc034ad8,0xf00000,0xf5bf1bb8) + 1e8 cc_write(0xf00000,0x5,0x600,0x2a,0xfc034b08,0xf5bf1bb8) + 434 writev(0xf5939bf8) + 2b0 camac_b+100,50?ai camac_b+0x100: camac_b+0x100: mov 0x1, %l1 camac_b+0x104: add %i3, 0x4, %l0 camac_b+0x108: st %l1, [%l0] camac_b+0x10c: clr %l1 camac_b+0x110: add %i3, 0x10, %l0 camac_b+0x114: st %l1, [%l0] camac_b+0x118: clr %l1 camac_b+0x11c: add %i3, 0x8, %l0 camac_b+0x120: add %l0, 0x4, %l0 camac_b+0x124: st %l1, [%l0] camac_b+0x128: mov 0x1, %l1 camac_b+0x12c: sethi %hi(0xf606f800), %l2 camac_b+0x130: or %l2, 0x2c0, %l2 camac_b+0x134: ld [%i3], %l0 camac_b+0x138: ld [%l0], %l3 camac_b+0x13c: ld [%i3], %l0 camac_b+0x140: add %l0, 0x4, %l0 camac_b+0x144: ld [%l0], %l5 camac_b+0x148: add %i3, 0x4, %l0 camac_b+0x14c: ld [%l0], %l6 camac_b+0x150: add %i3, 0x20, %l0 camac_b+0x154: ld [%l0], %l7 camac_b+0x158: add %i3, 0x10, %l0 camac_b+0x15c: ld [%l0], %i0 camac_b+0x160: add %i3, 0x8, %l0 camac_b+0x164: add %l0, 0x4, %l0 camac_b+0x168: ld [%l0], %l0 camac_b+0x16c: or %l1, %g0, %o0 camac_b+0x170: or %l2, %g0, %o1 camac_b+0x174: or %l3, %g0, %o2 camac_b+0x178: or %l5, %g0, %o3 camac_b+0x17c: or %l6, %g0, %o4 camac_b+0x180: or %l7, %g0, %o5 camac_b+0x184: st %i0, [%sp + 0x5c] camac_b+0x188: st %l0, [%sp + 0x60] camac_b+0x18c: call cmn_err camac_b+0x190: nop camac_b+0x194: ba camac_b+0x250 camac_b+0x198: nop camac_b+0x19c: mov 0x1, %l0 camac_b+0x1a0: sethi %hi(0xf606f800), %l1 camac_b+0x1a4: or %l1, 0x2dc, %l1 camac_b+0x1a8: or %l0, %g0, %o0 camac_b+0x1ac: or %l1, %g0, %o1 camac_b+0x1b0: call cmn_err camac_b+0x1b4: nop camac_b+0x1b8: sethi %hi(0xf606e400), %l0 camac_b+0x1bc: or %l0, 0x240, %l0 camac_b+0x1c0: clr %l1 camac_b+0x1c4: mov 0x40, %l2 camac_b+0x1c8: sethi %hi(0xf606e400), %l3 camac_b+0x1cc: or %l3, 0x1d8, %l3 camac_b+0x1d0: or %l0, %g0, %o0 camac_b+0x1d4: or %l1, %g0, %o1 camac_b+0x1d8: or %i4, %g0, %o2 camac_b+0x1dc: or %l2, %g0, %o3 camac_b+0x1e0: or %l3, %g0, %o4 camac_b+0x1e4: or %i3, %g0, %o5 camac_b+0x1e8: call physio camac_b+0x1ec: nop camac_b+0x1f0: ba camac_b+0x284 camac_b+0x1f4: nop camac_b+0x1f8: sethi %hi(0xf606e400), %l0 camac_b+0x1fc: or %l0, 0x240, %l0 camac_b+0x200: clr %l1 camac_b+0x204: mov 0x100, %l2 camac_b+0x208: sethi %hi(0xf606e400), %l3 camac_b+0x20c: or %l3, 0x1d8, %l3 camac_b+0x210: or %l0, %g0, %o0 camac_b+0x214: or %l1, %g0, %o1 camac_b+0x218: or %i4, %g0, %o2 camac_b+0x21c: or %l2, %g0, %o3 camac_b+0x220: or %l3, %g0, %o4 camac_b+0x224: or %i3, %g0, %o5 camac_b+0x228: call physio camac_b+0x22c: nop camac_b+0x230: ba camac_b+0x284 camac_b+0x234: nop camac_b+0x238: mov -0x2, %l0 camac_b+0x23c: st %l0, [%i5] $q frc7v-cl1[38]% physio()ルーチンでエラーを起こした。 camac_b(0x0,0x2a,0x600,0xfc034ad8,0xf00000,0xf5bf1bb8) + 1e8 physio(0x0,0xf028c49c,0xa,0x40,0xf5914510,0xfc034ad8) !!!!!!*******************************************************************!!!!!! ここで、dedug-step16.txt の作業をやった。 したがって、これ以降は dedug-step16.txt のコアファイルを使用して調べる。 !!!!!!*******************************************************************!!!!!! dedug-step16.txt から一部再掲。 ---ここから クラッシュ・ファイルをチェック。 frc7v-cl1[36]% adb -k unix.41 vmcore.41 physmem 3e2d $c complete_panic(0x0,0x4401ce0,0x0,0x44010e0,0x0,0xf5ae8f40) + 5c do_panic(0x1,0xfc0c678c,0x0,0x48010e0,0x8,0xf00) + a8 vcmn_err(0x3,0xf0269878,0xfc0c678c,0x3,0xffeec000,0x0) + 180 cmn_err(0x3,0xf0269878,0xfc0c7,0x53,0x53,0xf025e400) + 1c die(0x9,0xfc0c68dc,0xf614ff5c,0x326,0x1,0xf0269878) + bc trap(0x0,0xfc0c68dc,0xf0000000,0x0,0x6,0x1) + 930 fault(?) + 84 physio(0x0,0xf028c49c,0xa,0x40,0xf5914470,0xfc0c6ad8) camac_b(0x0,0x2a,0x600,0xfc0c6ad8,0xf00000,0xf5c05bb8) + 1e8 cc_write(0xf00000,0x5,0x600,0x2a,0xfc0c6b08,0xf5c05bb8) + 434 writev(0xf5b1ca90) + 2b0 $ dump on /dev/dsk/c0t3d0s1 size 83988K pem: no event handler FRCvme V2.3.1 VME Nexus (FGA-5000 FGA-5100) NOTICE: VME: slavewin at vme=0x0, size=0x100000 space=0x2d020617 VME0 at sbus0: SBus slot 5 0xffffe00 sparc ipl 15, SBus level 1 sparc ipl 2, SBus level 2 sparc ipl 3, SBus level 3 sparc ipl 5, SBus level 4 sparc ipl 7, SBus level 5 sparc ipl 9, SBus level 6 sparc ipl 11, SBus level 7 sparc ipl 13 CAMAC device driver V1.3x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at VME0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 cc0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/cc@2d,ff0 0 vmemem0 at VME0: vme32d16 0x0 vmemem0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@d,0 vmemem1 at VME0: vme16d16 0x0 vmemem1 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@2d,0 vmemem2 at VME0: vme24d16 0x0 vmemem2 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@3d,0 vmemem3 at VME0: vme32d32 0x0 vmemem3 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@4d,0 vmemem4 at VME0: vme16d32 0x0 vmemem4 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@6d,0 vmemem5 at VME0: vme24d32 0x0 vmemem5 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@7d,0 sbusmem0 at sbus0: SBus slot 0 0x0 sbusmem0 is /iommu@0,10000000/sbus@0,10001000/sbusmem@0,0 sbusmem1 at sbus0: SBus slot 1 0x0 sbusmem1 is /iommu@0,10000000/sbus@0,10001000/sbusmem@1,0 sbusmem2 at sbus0: SBus slot 2 0x0 sbusmem2 is /iommu@0,10000000/sbus@0,10001000/sbusmem@2,0 sbusmem3 at sbus0: SBus slot 3 0x0 sbusmem3 is /iommu@0,10000000/sbus@0,10001000/sbusmem@3,0 sbusmem4 at sbus0: SBus slot 4 0x0 sbusmem4 is /iommu@0,10000000/sbus@0,10001000/sbusmem@4,0 sbusmem5 at sbus0: SBus slot 5 0x0 sbusmem5 is /iommu@0,10000000/sbus@0,10001000/sbusmem@5,0 SUNW,bpp0 at sbus0: SBus slot 5 0xc800000 SBus level 2 sparc ipl 3 SUNW,bpp0 is /iommu@0,10000000/sbus@0,10001000/SUNW,bpp@5,c80000 0 pseudo-device: winlock0 winlock0 is /pseudo/winlock@0 pseudo-device: lockstat0 lockstat0 is /pseudo/lockstat@0 pseudo-device: vol0 vol0 is /pseudo/vol@0 pseudo-device: llc10 llc10 is /pseudo/llc1@0 vmeplus0 at VME0: vme16d16 0x0 and vme24d16 0x0 and vme32d16 0x0 and vme16d32 0x0 and vme24d32 0x0 and vme32d32 0x0 and space 0x 2f offset 0x0 and space 0x6f offset 0x0 and space 0x10 offset 0x0 and space 0x11 offset 0x0 and space 0x50 offset 0x0 and space 0x51 offset 0x0 vmeplus0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmep lus@2d,0 pseudo-device: pm0 pm0 is /pseudo/pm@0 vmedma0 at VME0 vmedma0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmedm a vmefdma0 at VME0 vmefdma0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmef dma vmedvma0 at VME0 vmedvma0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmed vma vmectl0 at VME0 vmectl0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmect l sysconfig0: LCA is XC4003 compatible sysconfig0 at root: obio 0x71380000 sysconfig0 is /sysconfig@0,71380000 BAD TRAP: type=9 rp=fc0c68dc addr=f614ff5c mmu_fsr=326 rw=1 cam2: Data fault kernel read fault at addr=0xf614ff5c, pme=0x0 MMU sfsr=326: Invalid Address on supv data fetch at level 3 pte addr = 0xf6050d3c, level = 3 wrong ctx/as ctx 0, as 0xf5914470 wrong ctx/as 2 ctx 0, as 0x8c pid=487, pc=0xf6084020, sp=0xfc0c6928, psr=0x44010c5, context=0 g1-g7: f5900000, f026f0bc, a00, c00, 200, 1, f5e54ca0 Begin traceback... sp = fc0c6928 Called from f607c0dc, fp=fc0c6998, args=0 2a 600 fc0c6ad8 f00000 f5c05bb8 Called from f00bd3ac, fp=fc0c6a70, args=f00000 5 600 2a fc0c6b08 f5c05bb8 Called from f0068900, fp=fc0c6b80, args=f5b1ca90 f5c85374 22 3 2 2 3 Called from 11f30, fp=effff8c0, args=1 600 3f53c0 5 24a70 24a80 End traceback... panic: Data fault syncing file systems... 2 done 2804 static and sysmap kernel pages 104 dynamic kernel data pages 490 kernel-pageable pages 0 segkmap kernel pages 0 segvn kernel pages 287 current user process pages 3685 total pages (3685 chunks) dumping to vp f59444dc, offset $q frc7v-cl1[37]% 症状に変化はない。 ---ここまで strategyルーチンのアセンブリ・コードのリスト frc7v-cl1[55]% adb -k unix.41 vmcore.41 physmem 3e2d $c complete_panic(0x0,0x4401ce0,0x0,0x44010e0,0x0,0xf5ae8f40) + 5c do_panic(0x1,0xfc0c678c,0x0,0x48010e0,0x8,0xf00) + a8 vcmn_err(0x3,0xf0269878,0xfc0c678c,0x3,0xffeec000,0x0) + 180 cmn_err(0x3,0xf0269878,0xfc0c7,0x53,0x53,0xf025e400) + 1c die(0x9,0xfc0c68dc,0xf614ff5c,0x326,0x1,0xf0269878) + bc trap(0x0,0xfc0c68dc,0xf0000000,0x0,0x6,0x1) + 930 fault(?) + 84 physio(0x0,0xf028c49c,0xa,0x40,0xf5914470,0xfc0c6ad8) camac_b(0x0,0x2a,0x600,0xfc0c6ad8,0xf00000,0xf5c05bb8) + 1e8 cc_write(0xf00000,0x5,0x600,0x2a,0xfc0c6b08,0xf5c05bb8) + 434 writev(0xf5b1ca90) + 2b0 cc_minphys,50?ai cc_minphys: cc_minphys: save %sp, -0x60, %sp cc_minphys+4: st %i0, [%fp + 0x44] cc_minphys+8: ld [%fp + 0x44], %l0 cc_minphys+0xc: add %l0, 0x18, %l0 cc_minphys+0x10: ld [%l0], %l1 cc_minphys+0x14: sethi %hi(0xc0000), %l0 cc_minphys+0x18: cmp %l1, %l0 cc_minphys+0x1c: bleu cc_minphys+0x34 cc_minphys+0x20: nop cc_minphys+0x24: sethi %hi(0xc0000), %l1 cc_minphys+0x28: ld [%fp + 0x44], %l0 cc_minphys+0x2c: add %l0, 0x18, %l0 cc_minphys+0x30: st %l1, [%l0] cc_minphys+0x34: ld [%fp + 0x44], %l0 cc_minphys+0x38: or %l0, %g0, %o0 cc_minphys+0x3c: call minphys cc_minphys+0x40: nop cc_minphys+0x44: ba cc_minphys+0x4c cc_minphys+0x48: nop cc_minphys+0x4c: ret cc_minphys+0x50: restore cc_minphys+0x54: unimp 0x10000 cc_minphys+0x58: unimp 0x10000 cc_minphys+0x5c: unimp 0x10000 cc_minphys+0x60: unimp 0x10000 cc_minphys+0x64: unimp 0x10000 cc_strategy: save %sp, -0x80, %sp cc_strategy+4: st %i0, [%fp + 0x44] cc_strategy+8: sethi %hi(0xf6084800), %l0 cc_strategy+0xc: or %l0, 0x3a0, %l0 cc_strategy+0x10: ld [%l0], %l1 cc_strategy+0x14: ld [%fp + 0x44], %l0 cc_strategy+0x18: add %l0, 0x5c, %l0 cc_strategy+0x1c: ld [%l0], %l0 cc_strategy+0x20: or %l0, %g0, %o0 cc_strategy+0x24: call getminor cc_strategy+0x28: nop cc_strategy+0x2c: or %o0, %g0, %l0 cc_strategy+0x30: or %l1, %g0, %o0 cc_strategy+0x34: or %l0, %g0, %o1 cc_strategy+0x38: call ddi_get_soft_state cc_strategy+0x3c: nop cc_strategy+0x40: or %o0, %g0, %l0 cc_strategy+0x44: or %l0, %g0, %i5 cc_strategy+0x48: add %i5, 0x54, %l0 cc_strategy+0x4c: lduh [%l0], %l0 cc_strategy+0x50: sll %l0, 0x10, %l0 cc_strategy+0x54: srl %l0, 0x10, %l0 cc_strategy+0x58: or %l0, %g0, %i3 cc_strategy+0x5c: add %i5, 0x56, %l0 cc_strategy+0x60: lduh [%l0], %l0 cc_strategy+0x64: sll %l0, 0x10, %l0 cc_strategy+0x68: srl %l0, 0x10, %l0 cc_strategy+0x6c: or %l0, %g0, %i2 cc_strategy+0x70: and %i3, 0x2, %l0 cc_strategy+0x74: cmp %l0, %g0 cc_strategy+0x78: be cc_strategy+0x94 cc_strategy+0x7c: nop cc_strategy+0x80: add %i5, 0x58, %l0 cc_strategy+0x84: ld [%l0], %l0 cc_strategy+0x88: st %l0, [%fp - 0xc] cc_strategy+0x8c: ba cc_strategy+0xa4 cc_strategy+0x90: nop cc_strategy+0x94: add %i5, 0x58, %l0 cc_strategy+0x98: ld [%l0], %l0 cc_strategy+0x9c: sll %l0, 0x1, %l0 cc_strategy+0xa0: st %l0, [%fp - 0xc] cc_strategy+0xa4: ld [%fp - 0xc], %l0 cc_strategy+0xa8: or %l0, %g0, %i1 cc_strategy+0xac: mov 0x1, %l0 cc_strategy+0xb0: sethi %hi(0xf6084800), %l1 cc_strategy+0xb4: or %l1, 0x15c, %l1 cc_strategy+0xb8: or %l0, %g0, %o0 cc_strategy+0xbc: or %l1, %g0, %o1 cc_strategy+0xc0: call cmn_err cc_strategy+0xc4: nop cc_strategy+0xc8: ba cc_strategy+0x124 cc_strategy+0xcc: nop cc_strategy+0xd0: mov 0x1, %l0 cc_strategy+0xd4: sethi %hi(0xf6084800), %l1 cc_strategy+0xd4,50?ai cc_strategy+0xd4: cc_strategy+0xd4: sethi %hi(0xf6084800), %l1 cc_strategy+0xd8: or %l1, 0x190, %l1 cc_strategy+0xdc: or %l0, %g0, %o0 cc_strategy+0xe0: or %l1, %g0, %o1 cc_strategy+0xe4: call cmn_err cc_strategy+0xe8: nop cc_strategy+0xec: mov 0x2, %l0 cc_strategy+0xf0: or %l0, %g0, %i0 cc_strategy+0xf4: ba cc_strategy+0x158 cc_strategy+0xf8: nop cc_strategy+0xfc: mov 0x1, %l0 cc_strategy+0x100: or %l0, %g0, %i0 cc_strategy+0x104: ba cc_strategy+0x158 cc_strategy+0x108: nop cc_strategy+0x10c: mov -0x2, %l0 cc_strategy+0x110: st %l0, [%i5] cc_strategy+0x114: clr %l0 cc_strategy+0x118: st %l0, [%fp - 0x4] cc_strategy+0x11c: ba cc_strategy+0x6ec cc_strategy+0x120: nop cc_strategy+0x124: add %i5, 0x56, %l0 cc_strategy+0x128: lduh [%l0], %l0 cc_strategy+0x12c: sll %l0, 0x10, %l0 cc_strategy+0x130: srl %l0, 0x10, %l0 cc_strategy+0x134: and %l0, 0x18, %l0 cc_strategy+0x138: cmp %l0, 0x0 cc_strategy+0x13c: be cc_strategy+0xd0 cc_strategy+0x140: nop cc_strategy+0x144: cmp %l0, 0x10 cc_strategy+0x148: be cc_strategy+0xfc cc_strategy+0x14c: nop cc_strategy+0x150: ba cc_strategy+0x10c cc_strategy+0x154: nop cc_strategy+0x158: add %i5, 0x90, %l0 cc_strategy+0x15c: ld [%l0], %l0 cc_strategy+0x160: ld [%fp + 0x44], %l1 cc_strategy+0x164: or %i0, 0x10, %l2 cc_strategy+0x168: mov 0x1, %l3 cc_strategy+0x16c: clr %l5 cc_strategy+0x170: add %i5, 0x80, %l6 cc_strategy+0x174: add %i5, 0x94, %l4 cc_strategy+0x178: or %l0, %g0, %o0 cc_strategy+0x17c: or %l1, %g0, %o1 cc_strategy+0x180: or %l2, %g0, %o2 cc_strategy+0x184: or %l3, %g0, %o3 cc_strategy+0x188: or %l5, %g0, %o4 cc_strategy+0x18c: or %l6, %g0, %o5 cc_strategy+0x190: st %l4, [%sp + 0x5c] cc_strategy+0x194: call ddi_dma_buf_bind_handle cc_strategy+0x198: nop cc_strategy+0x19c: or %o0, %g0, %l0 cc_strategy+0x1a0: cmp %l0, 0x0 cc_strategy+0x1a4: be cc_strategy+0x200 cc_strategy+0x1a8: nop cc_strategy+0x1ac: mov 0x2, %l0 cc_strategy+0x1b0: sethi %hi(0xf6084800), %l1 cc_strategy+0x1b4: or %l1, 0x1c8, %l1 cc_strategy+0x1b8: or %l0, %g0, %o0 cc_strategy+0x1bc: or %l1, %g0, %o1 cc_strategy+0x1c0: call cmn_err cc_strategy+0x1c4: nop cc_strategy+0x1c8: ld [%fp + 0x44], %l0 cc_strategy+0x1cc: ld [%l0], %l0 cc_strategy+0x1d0: or %l0, 0x4, %l1 cc_strategy+0x1d4: ld [%fp + 0x44], %l0 cc_strategy+0x1d8: st %l1, [%l0] cc_strategy+0x1dc: mov 0x5, %l1 cc_strategy+0x1e0: ld [%fp + 0x44], %l0 cc_strategy+0x1e4: add %l0, 0x54, %l0 cc_strategy+0x1e8: st %l1, [%l0] cc_strategy+0x1ec: ld [%fp + 0x44], %l0 cc_strategy+0x1f0: ld [%l0], %l0 cc_strategy+0x1f4: st %l0, [%fp - 0x4] cc_strategy+0x1f8: ba cc_strategy+0x6ec cc_strategy+0x1fc: nop cc_strategy+0x200: ld [%fp + 0x44], %l1 cc_strategy+0x204: add %i5, 0x9c, %l0 cc_strategy+0x208: st %l1, [%l0] cc_strategy+0x20c: add %i5, 0x80, %l0 cc_strategy+0x210: add %l0, 0x4, %l0 cc_strategy+0x210,50?ai cc_strategy+0x210: cc_strategy+0x210: add %l0, 0x4, %l0 cc_strategy+0x214: ld [%l0], %l0 cc_strategy+0x218: or %l0, %g0, %i4 cc_strategy+0x21c: mov 0x1, %l0 cc_strategy+0x220: sethi %hi(0xf6084800), %l1 cc_strategy+0x224: or %l1, 0x1f4, %l1 cc_strategy+0x228: or %l0, %g0, %o0 cc_strategy+0x22c: or %l1, %g0, %o1 cc_strategy+0x230: or %i4, %g0, %o2 cc_strategy+0x234: call cmn_err cc_strategy+0x238: nop cc_strategy+0x23c: mov 0x1, %l1 cc_strategy+0x240: sethi %hi(0xf6084800), %l2 cc_strategy+0x244: or %l2, 0x228, %l2 cc_strategy+0x248: add %i5, 0x88, %l0 cc_strategy+0x24c: ld [%l0], %l0 cc_strategy+0x250: or %l1, %g0, %o0 cc_strategy+0x254: or %l2, %g0, %o1 cc_strategy+0x258: or %l0, %g0, %o2 cc_strategy+0x25c: call cmn_err cc_strategy+0x260: nop cc_strategy+0x264: clr %l1 cc_strategy+0x268: add %i5, 0x5c, %l0 cc_strategy+0x26c: st %l1, [%l0] cc_strategy+0x270: add %i5, 0x68, %l0 cc_strategy+0x274: ld [%l0], %l0 cc_strategy+0x278: cmp %l0, 0x0 cc_strategy+0x27c: bne cc_strategy+0x4fc cc_strategy+0x280: nop cc_strategy+0x284: clr %l1 cc_strategy+0x288: add %i5, 0x8, %l0 cc_strategy+0x28c: ld [%l0], %l0 cc_strategy+0x290: add %l0, 0x64, %l0 cc_strategy+0x294: sth %l1, [%l0] cc_strategy+0x298: add %i5, 0x4c, %l0 cc_strategy+0x29c: ld [%l0], %l0 cc_strategy+0x2a0: sll %l0, 0x8, %l0 cc_strategy+0x2a4: or %i3, %l0, %l1 cc_strategy+0x2a8: add %i5, 0x8, %l0 cc_strategy+0x2ac: ld [%l0], %l0 cc_strategy+0x2b0: add %l0, 0x62, %l0 cc_strategy+0x2b4: sth %l1, [%l0] cc_strategy+0x2b8: add %i5, 0x8, %l0 cc_strategy+0x2bc: ld [%l0], %l0 cc_strategy+0x2c0: add %l0, 0x62, %l0 cc_strategy+0x2c4: sth %i2, [%l0] cc_strategy+0x2c8: add %i5, 0x58, %l0 cc_strategy+0x2cc: ld [%l0], %l0 cc_strategy+0x2d0: sethi %hi(0xfc00), %l1 cc_strategy+0x2d4: or %l1, 0x3ff, %l1 cc_strategy+0x2d8: and %l0, %l1, %l0 cc_strategy+0x2dc: sub %g0, %l0, %l1 cc_strategy+0x2e0: add %i5, 0x8, %l0 cc_strategy+0x2e4: ld [%l0], %l0 cc_strategy+0x2e8: add %l0, 0x62, %l0 cc_strategy+0x2ec: sth %l1, [%l0] cc_strategy+0x2f0: sethi %hi(0xfc00), %l1 cc_strategy+0x2f4: or %l1, 0x3ff, %l1 cc_strategy+0x2f8: add %i5, 0x8, %l0 cc_strategy+0x2fc: ld [%l0], %l0 cc_strategy+0x300: add %l0, 0x62, %l0 cc_strategy+0x304: sth %l1, [%l0] cc_strategy+0x308: mov 0x80, %l1 cc_strategy+0x30c: add %i5, 0x8, %l0 cc_strategy+0x310: ld [%l0], %l0 cc_strategy+0x314: add %l0, 0x62, %l0 cc_strategy+0x318: sth %l1, [%l0] cc_strategy+0x31c: clr %l1 cc_strategy+0x320: add %i5, 0x8, %l0 cc_strategy+0x324: ld [%l0], %l0 cc_strategy+0x328: add %l0, 0x64, %l0 cc_strategy+0x32c: sth %l1, [%l0] cc_strategy+0x330: sethi %hi(0xfc00), %l0 cc_strategy+0x334: or %l0, 0x3ff, %l0 cc_strategy+0x338: and %i4, %l0, %l1 cc_strategy+0x33c: add %i5, 0x8, %l0 cc_strategy+0x340: ld [%l0], %l0 cc_strategy+0x344: add %l0, 0xe, %l0 cc_strategy+0x348: sth %l1, [%l0] cc_strategy+0x34c: srl %i4, 0x10, %l1 cc_strategy+0x34c,50?ai cc_strategy+0x34c: cc_strategy+0x34c: srl %i4, 0x10, %l1 cc_strategy+0x350: add %i5, 0x8, %l0 cc_strategy+0x354: ld [%l0], %l0 cc_strategy+0x358: add %l0, 0xc, %l0 cc_strategy+0x35c: sth %l1, [%l0] cc_strategy+0x360: mov 0x7d, %l1 cc_strategy+0x364: add %i5, 0x8, %l0 cc_strategy+0x368: ld [%l0], %l0 cc_strategy+0x36c: add %l0, 0x60, %l0 cc_strategy+0x370: sth %l1, [%l0] cc_strategy+0x374: add %i5, 0x8, %l0 cc_strategy+0x378: ld [%l0], %l0 cc_strategy+0x37c: add %l0, 0xa, %l0 cc_strategy+0x380: sth %i1, [%l0] cc_strategy+0x384: clr %l1 cc_strategy+0x388: add %i5, 0x8, %l0 cc_strategy+0x38c: ld [%l0], %l0 cc_strategy+0x390: sth %l1, [%l0] cc_strategy+0x394: ba cc_strategy+0x4c0 cc_strategy+0x398: nop cc_strategy+0x39c: sethi %hi(0x8000), %l1 cc_strategy+0x3a0: or %l1, 0x90, %l1 cc_strategy+0x3a4: add %i5, 0x8, %l0 cc_strategy+0x3a8: ld [%l0], %l0 cc_strategy+0x3ac: add %l0, 0x4, %l0 cc_strategy+0x3b0: sth %l1, [%l0] cc_strategy+0x3b4: mov 0x80, %l1 cc_strategy+0x3b8: add %i5, 0x8, %l0 cc_strategy+0x3bc: ld [%l0], %l0 cc_strategy+0x3c0: add %l0, 0x6, %l0 cc_strategy+0x3c4: sth %l1, [%l0] cc_strategy+0x3c8: add %i5, 0x8, %l0 cc_strategy+0x3cc: ld [%l0], %l0 cc_strategy+0x3d0: add %l0, 0x6e, %l0 cc_strategy+0x3d4: st %l0, [%fp - 0x10] cc_strategy+0x3d8: ld [%fp - 0x10], %l0 cc_strategy+0x3dc: lduh [%l0], %l0 cc_strategy+0x3e0: mov 0x40, %l1 cc_strategy+0x3e4: or %l0, %l1, %l1 cc_strategy+0x3e8: ld [%fp - 0x10], %l0 cc_strategy+0x3ec: sth %l1, [%l0] cc_strategy+0x3f0: add %i5, 0x8, %l0 cc_strategy+0x3f4: ld [%l0], %l0 cc_strategy+0x3f8: add %l0, 0x6e, %l0 cc_strategy+0x3fc: st %l0, [%fp - 0x14] cc_strategy+0x400: ld [%fp - 0x14], %l0 cc_strategy+0x404: lduh [%l0], %l0 cc_strategy+0x408: sethi %hi(0xfc00), %l1 cc_strategy+0x40c: or %l1, 0x3df, %l1 cc_strategy+0x410: and %l0, %l1, %l1 cc_strategy+0x414: ld [%fp - 0x14], %l0 cc_strategy+0x418: sth %l1, [%l0] cc_strategy+0x41c: ba cc_strategy+0x4f4 cc_strategy+0x420: nop cc_strategy+0x424: sethi %hi(0x8000), %l1 cc_strategy+0x428: or %l1, 0x10, %l1 cc_strategy+0x42c: add %i5, 0x8, %l0 cc_strategy+0x430: ld [%l0], %l0 cc_strategy+0x434: add %l0, 0x4, %l0 cc_strategy+0x438: sth %l1, [%l0] cc_strategy+0x43c: mov 0x80, %l1 cc_strategy+0x440: add %i5, 0x8, %l0 cc_strategy+0x444: ld [%l0], %l0 cc_strategy+0x448: add %l0, 0x6, %l0 cc_strategy+0x44c: sth %l1, [%l0] cc_strategy+0x450: add %i5, 0x8, %l0 cc_strategy+0x454: ld [%l0], %l0 cc_strategy+0x458: add %l0, 0x6e, %l0 cc_strategy+0x45c: st %l0, [%fp - 0x18] cc_strategy+0x460: ld [%fp - 0x18], %l0 cc_strategy+0x464: lduh [%l0], %l0 cc_strategy+0x468: mov 0x40, %l1 cc_strategy+0x46c: or %l0, %l1, %l1 cc_strategy+0x470: ld [%fp - 0x18], %l0 cc_strategy+0x474: sth %l1, [%l0] cc_strategy+0x478: add %i5, 0x8, %l0 cc_strategy+0x47c: ld [%l0], %l0 cc_strategy+0x480: add %l0, 0x6e, %l0 cc_strategy+0x484: st %l0, [%fp - 0x1c] cc_strategy+0x488: ld [%fp - 0x1c], %l0 cc_strategy+0x488,50?ai cc_strategy+0x488: cc_strategy+0x488: ld [%fp - 0x1c], %l0 cc_strategy+0x48c: lduh [%l0], %l0 cc_strategy+0x490: mov 0x20, %l1 cc_strategy+0x494: or %l0, %l1, %l1 cc_strategy+0x498: ld [%fp - 0x1c], %l0 cc_strategy+0x49c: sth %l1, [%l0] cc_strategy+0x4a0: ba cc_strategy+0x4f4 cc_strategy+0x4a4: nop cc_strategy+0x4a8: mov -0x2, %l0 cc_strategy+0x4ac: st %l0, [%i5] cc_strategy+0x4b0: clr %l0 cc_strategy+0x4b4: st %l0, [%fp - 0x4] cc_strategy+0x4b8: ba cc_strategy+0x6ec cc_strategy+0x4bc: nop cc_strategy+0x4c0: add %i5, 0x56, %l0 cc_strategy+0x4c4: lduh [%l0], %l0 cc_strategy+0x4c8: sll %l0, 0x10, %l0 cc_strategy+0x4cc: srl %l0, 0x10, %l0 cc_strategy+0x4d0: and %l0, 0x18, %l0 cc_strategy+0x4d4: cmp %l0, 0x0 cc_strategy+0x4d8: be cc_strategy+0x39c cc_strategy+0x4dc: nop cc_strategy+0x4e0: cmp %l0, 0x10 cc_strategy+0x4e4: be cc_strategy+0x424 cc_strategy+0x4e8: nop cc_strategy+0x4ec: ba cc_strategy+0x4a8 cc_strategy+0x4f0: nop cc_strategy+0x4f4: ba cc_strategy+0x608 cc_strategy+0x4f8: nop cc_strategy+0x4fc: sethi %hi(0xf6105800), %l0 cc_strategy+0x500: or %l0, 0x1dc, %l0 cc_strategy+0x504: lduh [%l0], %l1 cc_strategy+0x508: add %i5, 0x8, %l0 cc_strategy+0x50c: ld [%l0], %l0 cc_strategy+0x510: add %l0, 0x64, %l0 cc_strategy+0x514: sth %l1, [%l0] cc_strategy+0x518: sethi %hi(0xfc00), %l0 cc_strategy+0x51c: or %l0, 0x3ff, %l0 cc_strategy+0x520: and %i4, %l0, %l1 cc_strategy+0x524: add %i5, 0x8, %l0 cc_strategy+0x528: ld [%l0], %l0 cc_strategy+0x52c: add %l0, 0xe, %l0 cc_strategy+0x530: sth %l1, [%l0] cc_strategy+0x534: srl %i4, 0x10, %l1 cc_strategy+0x538: add %i5, 0x8, %l0 cc_strategy+0x53c: ld [%l0], %l0 cc_strategy+0x540: add %l0, 0xc, %l0 cc_strategy+0x544: sth %l1, [%l0] cc_strategy+0x548: mov 0x7d, %l1 cc_strategy+0x54c: add %i5, 0x8, %l0 cc_strategy+0x550: ld [%l0], %l0 cc_strategy+0x554: add %l0, 0x60, %l0 cc_strategy+0x558: sth %l1, [%l0] cc_strategy+0x55c: sethi %hi(0xf6105800), %l0 cc_strategy+0x560: or %l0, 0x1de, %l0 cc_strategy+0x564: lduh [%l0], %l1 cc_strategy+0x568: add %i5, 0x8, %l0 cc_strategy+0x56c: ld [%l0], %l0 cc_strategy+0x570: add %l0, 0xa, %l0 cc_strategy+0x574: sth %l1, [%l0] cc_strategy+0x578: clr %l1 cc_strategy+0x57c: add %i5, 0x8, %l0 cc_strategy+0x580: ld [%l0], %l0 cc_strategy+0x584: sth %l1, [%l0] cc_strategy+0x588: sethi %hi(0x8000), %l1 cc_strategy+0x58c: or %l1, 0x90, %l1 cc_strategy+0x590: add %i5, 0x8, %l0 cc_strategy+0x594: ld [%l0], %l0 cc_strategy+0x598: add %l0, 0x4, %l0 cc_strategy+0x59c: sth %l1, [%l0] cc_strategy+0x5a0: mov 0x80, %l1 cc_strategy+0x5a4: add %i5, 0x8, %l0 cc_strategy+0x5a8: ld [%l0], %l0 cc_strategy+0x5ac: add %l0, 0x6, %l0 cc_strategy+0x5b0: sth %l1, [%l0] cc_strategy+0x5b4: add %i5, 0x8, %l0 cc_strategy+0x5b8: ld [%l0], %l0 cc_strategy+0x5bc: add %l0, 0x6e, %l0 cc_strategy+0x5c0: st %l0, [%fp - 0x10] cc_strategy+0x5c4: ld [%fp - 0x10], %l0 cc_strategy+0x5c4,50?ai cc_strategy+0x5c4: cc_strategy+0x5c4: ld [%fp - 0x10], %l0 cc_strategy+0x5c8: lduh [%l0], %l0 cc_strategy+0x5cc: mov 0x40, %l1 cc_strategy+0x5d0: or %l0, %l1, %l1 cc_strategy+0x5d4: ld [%fp - 0x10], %l0 cc_strategy+0x5d8: sth %l1, [%l0] cc_strategy+0x5dc: add %i5, 0x8, %l0 cc_strategy+0x5e0: ld [%l0], %l0 cc_strategy+0x5e4: add %l0, 0x6e, %l0 cc_strategy+0x5e8: st %l0, [%fp - 0x14] cc_strategy+0x5ec: ld [%fp - 0x14], %l0 cc_strategy+0x5f0: lduh [%l0], %l0 cc_strategy+0x5f4: sethi %hi(0xfc00), %l1 cc_strategy+0x5f8: or %l1, 0x3df, %l1 cc_strategy+0x5fc: and %l0, %l1, %l1 cc_strategy+0x600: ld [%fp - 0x14], %l0 cc_strategy+0x604: sth %l1, [%l0] cc_strategy+0x608: mov 0x1, %l0 cc_strategy+0x60c: sethi %hi(0xf6084800), %l1 cc_strategy+0x610: or %l1, 0x23c, %l1 cc_strategy+0x614: or %l0, %g0, %o0 cc_strategy+0x618: or %l1, %g0, %o1 cc_strategy+0x61c: call cmn_err cc_strategy+0x620: nop cc_strategy+0x624: mov 0x1, %l1 cc_strategy+0x628: add %i5, 0xa0, %l0 cc_strategy+0x62c: st %l1, [%l0] cc_strategy+0x630: sethi %hi(0xf607c800), %l2 cc_strategy+0x634: or %l2, 0x278, %l2 cc_strategy+0x638: add %fp, -0x8, %l3 cc_strategy+0x63c: sethi %hi(0xf0260000), %l0 cc_strategy+0x640: or %l0, 0xd8, %l0 cc_strategy+0x644: ld [%l0], %l0 cc_strategy+0x648: sll %l0, 0x2, %l1 cc_strategy+0x64c: add %l0, %l1, %l0 cc_strategy+0x650: or %l2, %g0, %o0 cc_strategy+0x654: or %l3, %g0, %o1 cc_strategy+0x658: or %l0, %g0, %o2 cc_strategy+0x65c: call timeout cc_strategy+0x660: nop cc_strategy+0x664: or %o0, %g0, %l1 cc_strategy+0x668: add %i5, 0x98, %l0 cc_strategy+0x66c: st %l1, [%l0] cc_strategy+0x670: add %i5, 0x8, %l0 cc_strategy+0x674: ld [%l0], %l0 cc_strategy+0x678: add %l0, 0x6e, %l0 cc_strategy+0x67c: st %l0, [%fp - 0x10] cc_strategy+0x680: ld [%fp - 0x10], %l0 cc_strategy+0x684: lduh [%l0], %l0 cc_strategy+0x688: mov 0x1, %l1 cc_strategy+0x68c: or %l0, %l1, %l1 cc_strategy+0x690: ld [%fp - 0x10], %l0 cc_strategy+0x694: sth %l1, [%l0] cc_strategy+0x698: sethi %hi(0xf6084000), %l0 cc_strategy+0x69c: or %l0, 0x3f0, %l0 cc_strategy+0x6a0: lduh [%l0], %l0 cc_strategy+0x6a4: sll %l0, 0x10, %l0 cc_strategy+0x6a8: srl %l0, 0x10, %l0 cc_strategy+0x6ac: or %l0, 0x18, %l1 cc_strategy+0x6b0: add %i5, 0x8, %l0 cc_strategy+0x6b4: ld [%l0], %l0 cc_strategy+0x6b8: add %l0, 0x42, %l0 cc_strategy+0x6bc: sth %l1, [%l0] cc_strategy+0x6c0: mov 0x1, %l0 cc_strategy+0x6c4: sethi %hi(0xf6084800), %l1 cc_strategy+0x6c8: or %l1, 0x268, %l1 cc_strategy+0x6cc: or %l0, %g0, %o0 cc_strategy+0x6d0: or %l1, %g0, %o1 cc_strategy+0x6d4: call cmn_err cc_strategy+0x6d8: nop cc_strategy+0x6dc: clr %l0 cc_strategy+0x6e0: st %l0, [%fp - 0x4] cc_strategy+0x6e4: ba cc_strategy+0x6ec cc_strategy+0x6e8: nop cc_strategy+0x6ec: ld [%fp - 0x4], %l0 cc_strategy+0x6f0: or %l0, %g0, %i0 cc_strategy+0x6f4: ret cc_strategy+0x6f8: restore cc_strategy+0x6fc: unimp 0x10000 cc_strategy+0x700: unimp 0x10000 cc_strategy+0x700,50?ai cc_strategy+0x700: cc_strategy+0x700: unimp 0x10000 cc_strategy+0x704: unimp 0x10000 cc_strategy+0x708: unimp 0x10000 cc_strategy+0x70c: unimp 0x10000 camac_b: save %sp, -0x70, %sp camac_b+4: st %i4, [%fp + 0x54] camac_b+8: st %i3, [%fp + 0x50] camac_b+0xc: st %i2, [%fp + 0x4c] camac_b+0x10: st %i1, [%fp + 0x48] camac_b+0x14: st %i0, [%fp + 0x44] camac_b+0x18: sethi %hi(0xf6084800), %l0 camac_b+0x1c: or %l0, 0x3a0, %l0 camac_b+0x20: ld [%l0], %l0 camac_b+0x24: ld [%fp + 0x44], %l1 camac_b+0x28: or %l0, %g0, %o0 camac_b+0x2c: or %l1, %g0, %o1 camac_b+0x30: call ddi_get_soft_state camac_b+0x34: nop camac_b+0x38: or %o0, %g0, %l0 camac_b+0x38,50?ai camac_b+0x38: camac_b+0x38: or %o0, %g0, %l0 camac_b+0x3c: or %l0, %g0, %i5 camac_b+0x40: mov 0x1, %l0 camac_b+0x44: sethi %hi(0xf6084800), %l1 camac_b+0x48: or %l1, 0x294, %l1 camac_b+0x4c: or %l0, %g0, %o0 camac_b+0x50: or %l1, %g0, %o1 camac_b+0x54: call cmn_err camac_b+0x58: nop camac_b+0x5c: add %i5, 0x64, %l0 camac_b+0x60: ld [%l0], %l0 camac_b+0x64: or %l0, %g0, %i4 camac_b+0x68: add %i5, 0x60, %l0 camac_b+0x6c: ld [%l0], %l0 camac_b+0x70: or %l0, %g0, %i3 camac_b+0x74: clr %l1 camac_b+0x78: add %i5, 0x68, %l0 camac_b+0x7c: st %l1, [%l0] camac_b+0x80: lduh [%fp + 0x4a], %l1 camac_b+0x84: add %i5, 0x54, %l0 camac_b+0x88: sth %l1, [%l0] camac_b+0x8c: lduh [%fp + 0x4e], %l1 camac_b+0x90: add %i5, 0x56, %l0 camac_b+0x94: sth %l1, [%l0] camac_b+0x98: ld [%fp + 0x50], %l1 camac_b+0x9c: add %i5, 0x58, %l0 camac_b+0xa0: st %l1, [%l0] camac_b+0xa4: add %i5, 0x18, %l0 camac_b+0xa8: ld [%l0], %l1 camac_b+0xac: ld [%i3], %l0 camac_b+0xb0: st %l1, [%l0] camac_b+0xb4: lduh [%fp + 0x4a], %l0 camac_b+0xb8: sll %l0, 0x10, %l0 camac_b+0xbc: srl %l0, 0x10, %l0 camac_b+0xc0: and %l0, 0x2, %l0 camac_b+0xc4: cmp %l0, %g0 camac_b+0xc8: be camac_b+0xe4 camac_b+0xcc: nop camac_b+0xd0: ld [%fp + 0x50], %l0 camac_b+0xd4: sll %l0, 0x1, %l0 camac_b+0xd8: st %l0, [%fp - 0x8] camac_b+0xdc: ba camac_b+0xf0 camac_b+0xe0: nop camac_b+0xe4: ld [%fp + 0x50], %l0 camac_b+0xe8: sll %l0, 0x2, %l0 camac_b+0xec: st %l0, [%fp - 0x8] camac_b+0xf0: ld [%fp - 0x8], %l1 camac_b+0xf4: ld [%i3], %l0 camac_b+0xf8: add %l0, 0x4, %l0 camac_b+0xfc: st %l1, [%l0] camac_b+0x100: mov 0x1, %l1 camac_b+0x104: add %i3, 0x4, %l0 camac_b+0x108: st %l1, [%l0] camac_b+0x10c: clr %l1 camac_b+0x110: add %i3, 0x10, %l0 camac_b+0x114: st %l1, [%l0] camac_b+0x118: clr %l1 camac_b+0x11c: add %i3, 0x8, %l0 camac_b+0x120: add %l0, 0x4, %l0 camac_b+0x124: st %l1, [%l0] camac_b+0x128: mov 0x1, %l1 camac_b+0x12c: sethi %hi(0xf6084800), %l2 camac_b+0x130: or %l2, 0x2c0, %l2 camac_b+0x134: ld [%i3], %l0 camac_b+0x138: ld [%l0], %l3 camac_b+0x13c: ld [%i3], %l0 camac_b+0x140: add %l0, 0x4, %l0 camac_b+0x144: ld [%l0], %l5 camac_b+0x148: add %i3, 0x4, %l0 camac_b+0x14c: ld [%l0], %l6 camac_b+0x150: add %i3, 0x20, %l0 camac_b+0x154: ld [%l0], %l7 camac_b+0x158: add %i3, 0x10, %l0 camac_b+0x15c: ld [%l0], %i0 camac_b+0x160: add %i3, 0x8, %l0 camac_b+0x164: add %l0, 0x4, %l0 camac_b+0x168: ld [%l0], %l0 camac_b+0x16c: or %l1, %g0, %o0 camac_b+0x170: or %l2, %g0, %o1 camac_b+0x174: or %l3, %g0, %o2 camac_b+0x174,50?ai camac_b+0x174: camac_b+0x174: or %l3, %g0, %o2 camac_b+0x178: or %l5, %g0, %o3 camac_b+0x17c: or %l6, %g0, %o4 camac_b+0x180: or %l7, %g0, %o5 camac_b+0x184: st %i0, [%sp + 0x5c] camac_b+0x188: st %l0, [%sp + 0x60] camac_b+0x18c: call cmn_err camac_b+0x190: nop camac_b+0x194: ba camac_b+0x250 camac_b+0x198: nop camac_b+0x19c: mov 0x1, %l0 camac_b+0x1a0: sethi %hi(0xf6084800), %l1 camac_b+0x1a4: or %l1, 0x2dc, %l1 camac_b+0x1a8: or %l0, %g0, %o0 camac_b+0x1ac: or %l1, %g0, %o1 camac_b+0x1b0: call cmn_err camac_b+0x1b4: nop camac_b+0x1b8: sethi %hi(0xf6083400), %l0 camac_b+0x1bc: or %l0, 0x240, %l0 camac_b+0x1c0: clr %l1 camac_b+0x1c4: mov 0x40, %l2 camac_b+0x1c8: sethi %hi(0xf6083400), %l3 camac_b+0x1cc: or %l3, 0x1d8, %l3 camac_b+0x1d0: or %l0, %g0, %o0 camac_b+0x1d4: or %l1, %g0, %o1 camac_b+0x1d8: or %i4, %g0, %o2 camac_b+0x1dc: or %l2, %g0, %o3 camac_b+0x1e0: or %l3, %g0, %o4 camac_b+0x1e4: or %i3, %g0, %o5 camac_b+0x1e8: call physio camac_b+0x1ec: nop camac_b+0x1f0: ba camac_b+0x284 camac_b+0x1f4: nop camac_b+0x1f8: sethi %hi(0xf6083400), %l0 camac_b+0x1fc: or %l0, 0x240, %l0 camac_b+0x200: clr %l1 camac_b+0x204: mov 0x100, %l2 camac_b+0x208: sethi %hi(0xf6083400), %l3 camac_b+0x20c: or %l3, 0x1d8, %l3 camac_b+0x210: or %l0, %g0, %o0 camac_b+0x214: or %l1, %g0, %o1 camac_b+0x218: or %i4, %g0, %o2 camac_b+0x21c: or %l2, %g0, %o3 camac_b+0x220: or %l3, %g0, %o4 camac_b+0x224: or %i3, %g0, %o5 camac_b+0x228: call physio camac_b+0x22c: nop camac_b+0x230: ba camac_b+0x284 camac_b+0x234: nop camac_b+0x238: mov -0x2, %l0 camac_b+0x23c: st %l0, [%i5] camac_b+0x240: clr %l0 camac_b+0x244: st %l0, [%fp - 0x4] camac_b+0x248: ba camac_b+0x614 camac_b+0x24c: nop camac_b+0x250: add %i5, 0x56, %l0 camac_b+0x254: lduh [%l0], %l0 camac_b+0x258: sll %l0, 0x10, %l0 camac_b+0x25c: srl %l0, 0x10, %l0 camac_b+0x260: and %l0, 0x18, %l0 camac_b+0x264: cmp %l0, 0x0 camac_b+0x268: be camac_b+0x19c camac_b+0x26c: nop camac_b+0x270: cmp %l0, 0x10 camac_b+0x274: be camac_b+0x1f8 camac_b+0x278: nop camac_b+0x27c: ba camac_b+0x238 camac_b+0x280: nop camac_b+0x284: sethi %hi(0xf6084000), %l0 camac_b+0x288: or %l0, 0x3f0, %l0 camac_b+0x28c: lduh [%l0], %l0 camac_b+0x290: sll %l0, 0x10, %l0 camac_b+0x294: srl %l0, 0x10, %l0 camac_b+0x298: or %l0, 0x8, %l1 camac_b+0x29c: add %i5, 0x8, %l0 camac_b+0x2a0: ld [%l0], %l0 camac_b+0x2a4: add %l0, 0x42, %l0 camac_b+0x2a8: sth %l1, [%l0] camac_b+0x2ac: add %i5, 0x8, %l0 camac_b+0x2b0: ld [%l0], %l0 camac_b+0x2b0,50?ai camac_b+0x2b0: camac_b+0x2b0: ld [%l0], %l0 camac_b+0x2b4: add %l0, 0x6e, %l0 camac_b+0x2b8: lduh [%l0], %l1 camac_b+0x2bc: add %i5, 0x3c, %l0 camac_b+0x2c0: sth %l1, [%l0] camac_b+0x2c4: add %i5, 0x9c, %l0 camac_b+0x2c8: ld [%l0], %l0 camac_b+0x2cc: add %l0, 0x54, %l0 camac_b+0x2d0: ld [%l0], %l1 camac_b+0x2d4: sethi %hi(0xf60c4800), %l0 camac_b+0x2d8: or %l0, 0x3bc, %l0 camac_b+0x2dc: st %l1, [%l0] camac_b+0x2e0: mov 0x1, %l1 camac_b+0x2e4: sethi %hi(0xf6084800), %l2 camac_b+0x2e8: or %l2, 0x308, %l2 camac_b+0x2ec: sethi %hi(0xf60c4800), %l0 camac_b+0x2f0: or %l0, 0x3bc, %l0 camac_b+0x2f4: ld [%l0], %l0 camac_b+0x2f8: or %l1, %g0, %o0 camac_b+0x2fc: or %l2, %g0, %o1 camac_b+0x300: or %l0, %g0, %o2 camac_b+0x304: call cmn_err camac_b+0x308: nop camac_b+0x30c: add %i5, 0x50, %l0 camac_b+0x310: ld [%l0], %l0 camac_b+0x314: sethi %hi(0x8000), %l1 camac_b+0x318: and %l0, %l1, %l0 camac_b+0x31c: cmp %l0, %g0 camac_b+0x320: be camac_b+0x368 camac_b+0x324: nop camac_b+0x328: add %i5, 0x50, %l0 camac_b+0x32c: ld [%l0], %l0 camac_b+0x330: sethi %hi(0x8000), %l1 camac_b+0x334: xor %l1, -0x1, %l1 camac_b+0x338: and %l0, %l1, %l1 camac_b+0x33c: add %i5, 0x50, %l0 camac_b+0x340: st %l1, [%l0] camac_b+0x344: mov -0x3, %l0 camac_b+0x348: st %l0, [%i5] camac_b+0x34c: clr %l1 camac_b+0x350: ld [%fp + 0x54], %l0 camac_b+0x354: st %l1, [%l0] camac_b+0x358: ld [%i5], %l0 camac_b+0x35c: st %l0, [%fp - 0x4] camac_b+0x360: ba camac_b+0x614 camac_b+0x364: nop camac_b+0x368: mov 0x1, %l1 camac_b+0x36c: sethi %hi(0xf6084800), %l2 camac_b+0x370: or %l2, 0x33c, %l2 camac_b+0x374: ld [%i3], %l0 camac_b+0x378: add %l0, 0x4, %l0 camac_b+0x37c: ld [%l0], %l3 camac_b+0x380: add %i3, 0x4, %l0 camac_b+0x384: ld [%l0], %l5 camac_b+0x388: add %i3, 0x20, %l0 camac_b+0x38c: ld [%l0], %l6 camac_b+0x390: add %i3, 0x10, %l0 camac_b+0x394: ld [%l0], %l7 camac_b+0x398: add %i3, 0x8, %l0 camac_b+0x39c: add %l0, 0x4, %l0 camac_b+0x3a0: ld [%l0], %l0 camac_b+0x3a4: or %l1, %g0, %o0 camac_b+0x3a8: or %l2, %g0, %o1 camac_b+0x3ac: or %l3, %g0, %o2 camac_b+0x3b0: or %l5, %g0, %o3 camac_b+0x3b4: or %l6, %g0, %o4 camac_b+0x3b8: or %l7, %g0, %o5 camac_b+0x3bc: st %l0, [%sp + 0x5c] camac_b+0x3c0: call cmn_err camac_b+0x3c4: nop camac_b+0x3c8: lduh [%fp + 0x4a], %l0 camac_b+0x3cc: sll %l0, 0x10, %l0 camac_b+0x3d0: srl %l0, 0x10, %l0 camac_b+0x3d4: and %l0, 0x18, %l0 camac_b+0x3d8: cmp %l0, 0x0 camac_b+0x3dc: be camac_b+0x410 camac_b+0x3e0: nop camac_b+0x3e4: add %i5, 0x8, %l0 camac_b+0x3e8: ld [%l0], %l0 camac_b+0x3ec: add %l0, 0x6e, %l0 camac_b+0x3ec,50?ai camac_b+0x3ec: camac_b+0x3ec: add %l0, 0x6e, %l0 camac_b+0x3f0: lduh [%l0], %l0 camac_b+0x3f4: sll %l0, 0x10, %l0 camac_b+0x3f8: srl %l0, 0x10, %l0 camac_b+0x3fc: sethi %hi(0x8000), %l1 camac_b+0x400: and %l0, %l1, %l0 camac_b+0x404: cmp %l0, 0x0 camac_b+0x408: bne camac_b+0x5d8 camac_b+0x40c: nop camac_b+0x410: lduh [%fp + 0x4a], %l0 camac_b+0x414: sll %l0, 0x10, %l0 camac_b+0x418: srl %l0, 0x10, %l0 camac_b+0x41c: and %l0, 0x2, %l0 camac_b+0x420: cmp %l0, 0x0 camac_b+0x424: bne camac_b+0x514 camac_b+0x428: nop camac_b+0x42c: add %i5, 0x58, %l0 camac_b+0x430: ld [%l0], %l2 camac_b+0x434: add %i5, 0x8, %l0 camac_b+0x438: ld [%l0], %l0 camac_b+0x43c: add %l0, 0xa, %l0 camac_b+0x440: lduh [%l0], %l0 camac_b+0x444: sll %l0, 0x10, %l0 camac_b+0x448: srl %l0, 0x10, %l0 camac_b+0x44c: mov 0x2, %l1 camac_b+0x450: or %l0, %g0, %o0 camac_b+0x454: or %l1, %g0, %o1 camac_b+0x458: call fpdispr+0x30 camac_b+0x45c: nop camac_b+0x460: or %o0, %g0, %l1 camac_b+0x464: sub %l2, %l1, %l1 camac_b+0x468: add %i5, 0x5c, %l0 camac_b+0x46c: st %l1, [%l0] camac_b+0x470: lduh [%fp + 0x4a], %l0 camac_b+0x474: sll %l0, 0x10, %l0 camac_b+0x478: srl %l0, 0x10, %l0 camac_b+0x47c: and %l0, 0x18, %l0 camac_b+0x480: cmp %l0, 0x0 camac_b+0x484: bne camac_b+0x4cc camac_b+0x488: nop camac_b+0x48c: add %i5, 0x8, %l0 camac_b+0x490: ld [%l0], %l0 camac_b+0x494: add %l0, 0x6e, %l0 camac_b+0x498: lduh [%l0], %l0 camac_b+0x49c: sll %l0, 0x10, %l0 camac_b+0x4a0: srl %l0, 0x10, %l0 camac_b+0x4a4: sethi %hi(0x8000), %l1 camac_b+0x4a8: and %l0, %l1, %l0 camac_b+0x4ac: cmp %l0, 0x0 camac_b+0x4b0: be camac_b+0x4cc camac_b+0x4b4: nop camac_b+0x4b8: add %i5, 0x5c, %l0 camac_b+0x4bc: ld [%l0], %l0 camac_b+0x4c0: sub %l0, 0x2, %l1 camac_b+0x4c4: add %i5, 0x5c, %l0 camac_b+0x4c8: st %l1, [%l0] camac_b+0x4cc: add %i5, 0x18, %l0 camac_b+0x4d0: ld [%l0], %l2 camac_b+0x4d4: add %i5, 0x5c, %l0 camac_b+0x4d8: ld [%l0], %l0 camac_b+0x4dc: sll %l0, 0x2, %l1 camac_b+0x4e0: add %l2, %l1, %l1 camac_b+0x4e4: add %i5, 0x18, %l0 camac_b+0x4e8: st %l1, [%l0] camac_b+0x4ec: add %i5, 0x20, %l0 camac_b+0x4f0: ld [%l0], %l2 camac_b+0x4f4: add %i5, 0x5c, %l0 camac_b+0x4f8: ld [%l0], %l0 camac_b+0x4fc: sll %l0, 0x1, %l1 camac_b+0x500: add %l2, %l1, %l1 camac_b+0x504: add %i5, 0x20, %l0 camac_b+0x508: st %l1, [%l0] camac_b+0x50c: ba camac_b+0x5d8 camac_b+0x510: nop camac_b+0x514: add %i5, 0x58, %l0 camac_b+0x518: ld [%l0], %l2 camac_b+0x51c: add %i5, 0x8, %l0 camac_b+0x520: ld [%l0], %l0 camac_b+0x524: add %l0, 0xa, %l0 camac_b+0x528: lduh [%l0], %l0 camac_b+0x528,50?ai camac_b+0x528: camac_b+0x528: lduh [%l0], %l0 camac_b+0x52c: sll %l0, 0x10, %l0 camac_b+0x530: srl %l0, 0x10, %l1 camac_b+0x534: sub %l2, %l1, %l1 camac_b+0x538: add %i5, 0x5c, %l0 camac_b+0x53c: st %l1, [%l0] camac_b+0x540: lduh [%fp + 0x4a], %l0 camac_b+0x544: sll %l0, 0x10, %l0 camac_b+0x548: srl %l0, 0x10, %l0 camac_b+0x54c: and %l0, 0x18, %l0 camac_b+0x550: cmp %l0, 0x0 camac_b+0x554: bne camac_b+0x59c camac_b+0x558: nop camac_b+0x55c: add %i5, 0x8, %l0 camac_b+0x560: ld [%l0], %l0 camac_b+0x564: add %l0, 0x6e, %l0 camac_b+0x568: lduh [%l0], %l0 camac_b+0x56c: sll %l0, 0x10, %l0 camac_b+0x570: srl %l0, 0x10, %l0 camac_b+0x574: sethi %hi(0x8000), %l1 camac_b+0x578: and %l0, %l1, %l0 camac_b+0x57c: cmp %l0, 0x0 camac_b+0x580: be camac_b+0x59c camac_b+0x584: nop camac_b+0x588: add %i5, 0x5c, %l0 camac_b+0x58c: ld [%l0], %l0 camac_b+0x590: sub %l0, 0x1, %l1 camac_b+0x594: add %i5, 0x5c, %l0 camac_b+0x598: st %l1, [%l0] camac_b+0x59c: add %i5, 0x18, %l0 camac_b+0x5a0: ld [%l0], %l2 camac_b+0x5a4: add %i5, 0x5c, %l0 camac_b+0x5a8: ld [%l0], %l0 camac_b+0x5ac: sll %l0, 0x1, %l1 camac_b+0x5b0: add %l2, %l1, %l1 camac_b+0x5b4: add %i5, 0x18, %l0 camac_b+0x5b8: st %l1, [%l0] camac_b+0x5bc: add %i5, 0x20, %l0 camac_b+0x5c0: ld [%l0], %l2 camac_b+0x5c4: add %i5, 0x5c, %l0 camac_b+0x5c8: ld [%l0], %l1 camac_b+0x5cc: add %l2, %l1, %l1 camac_b+0x5d0: add %i5, 0x20, %l0 camac_b+0x5d4: st %l1, [%l0] camac_b+0x5d8: mov 0x1, %l0 camac_b+0x5dc: sethi %hi(0xf6084800), %l1 camac_b+0x5e0: or %l1, 0x350, %l1 camac_b+0x5e4: or %l0, %g0, %o0 camac_b+0x5e8: or %l1, %g0, %o1 camac_b+0x5ec: call cmn_err camac_b+0x5f0: nop camac_b+0x5f4: add %i5, 0x5c, %l0 camac_b+0x5f8: ld [%l0], %l1 camac_b+0x5fc: ld [%fp + 0x54], %l0 camac_b+0x600: st %l1, [%l0] camac_b+0x604: ld [%i5], %l0 camac_b+0x608: st %l0, [%fp - 0x4] camac_b+0x60c: ba camac_b+0x614 camac_b+0x610: nop camac_b+0x614: ld [%fp - 0x4], %l0 camac_b+0x618: or %l0, %g0, %i0 camac_b+0x61c: ret camac_b+0x620: restore camac_b+0x624: unimp 0x10000 camac_b+0x628: call 0x83944378 camac_b+0x62c: unimp 0x0 camac_b+0x630: unimp 0x0 camac_b+0x634: unimp 0x0 camac_b+0x638: unimp 0x1 camac_b+0x63c: ldub [%g1 + %o0], %i3 camac_b+0x640: unimp 0x0 camac_b+0x644: unimp 0x0 camac_b+0x648: unimp 0x0 camac_b+0x64c: unimp 0x0 cc_dma_attr: unimp 0x0 cc_dma_attr+4: unimp 0x0 cc_dma_attr+8: unimp 0x0 cc_dma_attr+0xc: unimp 0x0 cc_dma_attr+0x10: unimp 0x0 cc_dma_attr+0x14: ??? cc_dma_attr+0x14,50?ai cc_dma_attr+0x14: cc_dma_attr+0x14: ??? cc_dma_attr+0x18: unimp 0x0 cc_dma_attr+0x1c: ??? cc_dma_attr+0x20: unimp 0x0 cc_dma_attr+0x24: unimp 0x4 cc_dma_attr+0x28: unimp 0x3f cc_dma_attr+0x2c: unimp 0x4 cc_dma_attr+0x30: unimp 0x0 cc_dma_attr+0x34: ??? cc_dma_attr+0x38: unimp 0x0 cc_dma_attr+0x3c: ??? cc_dma_attr+0x40: unimp 0x11 cc_dma_attr+0x44: unimp 0x200 cc_dma_attr+0x48: unimp 0x0 cc_dma_attr+0x4c: unimp 0x0 intrpri: unimp 0x400ff instruction: ld [%i7], %i3 instruction+4: ld [%i7 + %i0], %i3 instruction+8: ld [%i7], %i3 instruction+0xc: ld [%i7 + %o0], %i3 instruction+0x10: ld [%i7 + %o0], %i3 instruction+0x14: ld [%i7 + %i0], %i3 instruction+0x18: ld [%i7 + %l0], %i3 instruction+0x1c: ld [%i7], %i3 instruction+0x20: ld [%i7 + %l0], %i3 instruction+0x24: ld [%i7], %i3 instruction+0x28: ld [%i7 + %o0], %i3 instruction+0x2c: ld [%i7 + %o0], %i3 instruction+0x30: ld [%i7 + %l0], %i3 instruction+0x34: ld [%i7 + 0x80], %i3 instruction+0x38: ld [%i7 + 0x170], %i3 instruction+0x3c: ld [%i7 + 0x260], %i3 instruction+0x40: ld [%i7 + 0x350], %i3 instruction+0x44: ld [%i7 + 0x4b0], %i3 instruction+0x48: ld [%i7 + 0x638], %i3 instruction+0x4c: ld [%i7 + 0x7d8], %i3 instruction+0x50: ld [%i7 + 0x8d0], %i3 instruction+0x54: ld [%i7 + 0x9d0], %i3 instruction+0x58: ld [%i7 + 0xab8], %i3 instruction+0x5c: ld [%i7 + 0xba8], %i3 instruction+0x60: ld [%i7 + 0xca0], %i3 instruction+0x64: ld [%i7 + 0xda0], %i3 : : : プログラム・カウンタが示すアドレスはどこかチェック。 pid=487, pc=0xf6084020, sp=0xfc0c6928, psr=0x44010c5, context=0 0xf6084020?i camac_b+0x2d0: ld [%l0], %l1 camac_b+0x2d0 のアドレスでロード命令を実行して死んでいる。 ここでは メモリから 32ビットフルワードを取得してレジスタに入れるように指示して いる。 ローカルレジスタ%l0が示すアドレスはマップされていない可能性が 強い。 $c complete_panic(0x0,0x4401ce0,0x0,0x44010e0,0x0,0xf5ae8f40) + 5c do_panic(0x1,0xfc0c678c,0x0,0x48010e0,0x8,0xf00) + a8 vcmn_err(0x3,0xf0269878,0xfc0c678c,0x3,0xffeec000,0x0) + 180 cmn_err(0x3,0xf0269878,0xfc0c7,0x53,0x53,0xf025e400) + 1c die(0x9,0xfc0c68dc,0xf614ff5c,0x326,0x1,0xf0269878) + bc trap(0x0,0xfc0c68dc,0xf0000000,0x0,0x6,0x1) + 930 fault(?) + 84 physio(0x0,0xf028c49c,0xa,0x40,0xf5914470,0xfc0c6ad8) camac_b(0x0,0x2a,0x600,0xfc0c6ad8,0xf00000,0xf5c05bb8) + 1e8 cc_write(0xf00000,0x5,0x600,0x2a,0xfc0c6b08,0xf5c05bb8) + 434 writev(0xf5b1ca90) + 2b0 0xfc0c68dc$