Jun 3, 1998 onl5v4: Solaris 1.1.2 cc ドライバのインストール cc ドライバの実行 #02 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/CAMAC/ onl5v4-sol1.1.2/camac-step02.txt) 高エネルギー加速器研究機構 素粒子原子核研究所 物理、オンライングループ 井上 栄二 (1). 現状確認 (A). camac.sparc-1.22d.tar.gzを/home/onl5v4/inoue/CAMACに展開した。 (B). /home/onl5v4/inoue/CAMAC1/vme以下にファイルが作られた。 (C). 122d_to_e.tar.gzを/home/onl5v4/inoue/CAMACに展開した。 (D). READMEファイル と パッチファイル 122d_to_e.patch.dev, 122d_to_e.patch.include が作られた。 (E). camac.sparc-1.22d のキットにパッチをあててcamac.sparc-1.22e にした。 (F). cc ドライバをインストールした。 (G). 例題のプログラムを実行した。 1. 24ビットのcamacシングル・アクションread/write は 正常に実行できた。 2. 割り込み処理は正常に実行できた。 3. camacブロック転送read/write は NG。 (2). ここでやるべきこと slave window を設定してから、再度例題のプログラムを実行する。 (3). slave window を設定する (3-1). 現在の 設定をチェック Soalris 1.x の場合には、slave window の設定は NVRAM で行う。 システムをシャットダウンしてパラメータをチェックする。 ok ok printenv Parameter Name Value Default Value tpe-link-test? true true bn-rarp? false false bn-arp? false false bn-p-ip-addr 0 0 bn-master-ip-addr 0 0 bn-p-en-addr 0:0:0:0:0:0 0:0:0:0:0:0 bn-master-en-addr 0:0:0:0:0:0 0:0:0:0:0:0 bn-p-access 50 50 bn-p-space 61 61 bn-p-offset 0 0 bn-master-access 50 50 bn-master-space 61 61 bn-master-offset 0 0 bn-packet-size 2048 2048 bn-logical-addr 0 0 bn-p-mbox? true true bn-p-mbox-intr 5 5 bn-p-mbox-access 16 16 bn-p-mbox-space 45 45 bn-p-mbox-offset 288 288 etq-testarea 0 0 bootflash-load-base 4294967295 4294967295 bootflash-#devices 0 0 bootflash-#megs 0 0 abort-ena? true true wd-timeout 7 7 fmb-addr 250 250 fmb-slot# 1 1 fmb-init? true true vme-bbsy-filter? false false vme-arb-mode pri pri vme-ds-slow? false false vme-as-slow? false false vme-sgl-filter? false false #sbus-retry 20 20 sbus-split-flow? true true sbus-hidden-arb? true true sbus-burst? true true #sbus-read-stop 64 64 #sbus-burst-len 32 32 vme-rel-mode ror ror vme-early-rel? false false vme-req-level 3 3 vme-fair-req? false false vme-slot# 1 1 vme-acfail-assert? false false vme-sysfail-negate? false false vme-sysfail-assert? false false vme-sysfail-clear? true true vme-bus-timeout 3 3 vme-bus-timer? true true vme-intr7 255 255 vme-intr6 255 255 vme-intr5 255 255 vme-intr4 255 255 vme-intr3 255 255 vme-intr2 255 255 vme-intr1 255 255 vme-a32-master-ena? false false vme-a32-master-size 0 0 vme-a32-master-addr 0 0 vme-a24-master-ena? false false vme-a24-master-size 0 0 vme-a24-master-addr 0 0 vme-a16-master-ena? false false vme-a16-master-size 512 512 vme-a16-master-addr 0 0 vme-ibox-ena? false false vme-ibox-addr 0 0 vme-a32-slave-ena? false false vme-a32-slave-size 0 0 vme-a32-slave-addr 0 0 vme-a24-slave-ena? false false vme-a24-slave-size 0 0 vme-a24-slave-addr 0 0 vme-a16-slave-ena? false false vme-a16-slave-size 512 512 vme-a16-slave-addr 0 0 vme-init? true true wd-ena? false false level-15-intr-ena? true true output-device screen screen input-device keyboard keyboard keyboard-click? false false keymap ttyb-rts-dtr-off false false ttyb-ignore-cd true true ttya-rts-dtr-off false false ttya-ignore-cd true true ttyb-mode 9600,8,n,1,- 9600,8,n,1,- ttya-mode 9600,8,n,1,- 9600,8,n,1,- fcode-debug? false false local-mac-address? false false screen-#columns 80 80 screen-#rows 34 34 selftest-#megs 1 1 scsi-initiator-id 7 7 silent-mode? false false auto-boot? true true watchdog-reboot? false false diag-file diag-device net net boot-file boot-device disk disk net sbus-probe-list 54123 54123 use-nvramrc? true false nvramrc probe-all install-consol ... sunmon-compat? false false security-mode none none security-password security-#badlogins 0 oem-logo oem-logo? false false oem-banner oem-banner? false false hardware-revision 005 last-hardware-update 0 testarea 0 0 mfg-switch? false false diag-switch? false false ok (3-2). slave window パラメータを変更する ok printenv Parameter Name Value Default Value tpe-link-test? true true bn-rarp? false false : : ttya-ignore-cd true true ok setenv vme-a24-slave-ena? true vme-a24-slave-ena? = true ok setenv vme-a24-slave-size 0x10000 vme-a24-slave-size = 65536 ok setenv vme-a24-slave-addr 0x0 vme-a24-slave-addr = 0 ok (3-3). システムを立ち上げる ok ok boot -r Resetting ... screen not found. Can't open input device. Keyboard not present. Using tty for input and output. SPARC CPU-5V, No Keyboard ROM Rev. 2.15.3, 48 MB memory installed, Serial #9149788. Ethernet address 0:80:42:b:2d:5c, Host ID: 808b9d5c. Rebooting with command: -r Boot device: /iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@3,0 File and args: - r root on /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@3,0: a fstype 4.2 Boot: vmunix Size: 1613824+477752+757160 bytes VAC ENABLED SunOS Release 4.1.4 (CAMAC) #2: Fri Dec 20 11:26:47 JST 1996 Copyright (c) 1983-1993, Sun Microsystems, Inc. cpu = SPARC,CPU-5V mod0 = FMI,MB86904 (mid = 0) mem = 47672K (0x2e8e000) avail mem = 43298816 entering uniprocessor mode Ethernet address = 0:80:42:b:2d:5c espdma0 at SBus slot 5 0x8400000 esp0 at SBus slot 5 0x8800000 pri 4 (onboard) sd0 at esp0 target 3 lun 0 sd0: sr0: Unrecongized Vendor 'PLEXTOR ', product 'CD-ROM PX-4XCE 'sr0 at esp0 targe t 6 lun 0 SUNW,bpp0 at SBus slot 5 0xc800000 pri 3 (sbus level 2) ledma0 at SBus slot 5 0x8400010 le0 at SBus slot 5 0x8c00000 pri 6 (onboard) FORCE Solaris 1.1.2 CPU-5V VME Driver (nexus & memplus) Version 2.1 (Swift TLB flushpagectx Bugfix included) (Flush Writebuffers Bugfix included) Hardware Revision: 3. (Swift TLB flushpagectx Bugfix included) VME: SBus device(s) present in physical SBus slots - SBus space for VME interface will be fragmented. FGA-5000 Arbiter/Req. Ctrl_Req Reg: 0xbf7effff FGA-5000 A16 Address: 0x0 DVMA Compatibility Range enabled: address: (A24) 0x0, size: 0x100000 VME DMA interrupt handler on SBus level 5. VME0 at SBus slot 5 0xffffe00 zs0 at SBus slot 5 0x1100000 pri 12 (onboard) zs1 at SBus slot 5 0x1000000 pri 12 (onboard) SUNW,fdtwo0 at SBus slot 5 0x1400000 pri 11 (onboard) CAMAC device driver V1.22e, 1991-1995 by Y.TAKEUCHI (T.I.T.) cc0 at vme16d16 0xff00 vec 0xff root on sd0a fstype 4.2 swap on sd0b fstype spec size 131812K dump on sd0b fstype spec size 131796K checking filesystems/dev/rsd0 a: is stable./dev/rsd0h: is stable./dev/rsd0g: is stable.Automatic reboot in pro gress...Mon Jun 1 14:19:38 JST 1998checking quotas: done.starting rpc port mapp er.NIS domainname is kek.jpstarting NIS services: ypserv ypxfrd ypbind ypupdated .rpc.yppasswddstarting RPC key server.Flushing routing tables:add net default: g ateway ICCFG0network interface configuration:le0: flags=63 inet 130.87.153.49 netmask fffffc00 broadcast 130.87.152.0 ether 0:80:42:b:2d:5c lo0: flags=49 inet 127.0. 0.1 netmask ff000000 mount -vat nfsstarting additional services: biod.starting s ystem loggerstarting local daemons: auditd sendmail statd lockd automount.link-e ditor directory cachepreserving editor filesclearing /tmpstandard daemons: updat e cron uucp.starting network daemons: inetd printer.Mon Jun 1 14:19:56 JST 1998 onl5v4 login: onl5v4 login: (4). 例題のプログラムを実行する (4-1). cam2 のコンパイル ---xxx (4-2). cam2 の実行 (4-2-1). 確認のために、再度 16ビットのブロック転送を実行する onl5v4[74]% pwd /home/onl5v4/inoue/CAMAC1/vme/camac/include onl5v4[75]% mv ../../../122d_to_e.patch.include . total 15 -rw-r--r-- 1 inoue kek 424 Apr 19 1995 122d_to_e.patch.include -rw-r--r-- 1 inoue kek 399 Mar 17 1993 Makefile -rw-r--r-- 1 inoue kek 1415 Mar 17 1993 camlib.h -rw-r--r-- 1 inoue kek 2661 Sep 3 1993 cc.h -rw-r--r-- 1 inoue kek 2288 Mar 17 1993 cc_common.h -rw-r--r-- 1 inoue kek 876 Mar 17 1993 cc_config.h -rw-r--r-- 1 inoue kek 3850 Mar 17 1993 k2917.h onl5v4[77]% onl5v4[77]% patch < 122d_to_e.patch.include Hmm... Looks like a new-style context diff to me... The text leading up to this was: -------------------------- |*** cc.h Fri Sep 3 21:25:01 1993 |--- cc.h.new Wed Apr 19 15:59:22 1995 -------------------------- Patching file cc.h using Plan A... Hunk #1 succeeded at 12. done onl5v4[78]% onl5v4[88]% mv ../../../122d_to_e.patch.dev . onl5v4[89]% pwd /home/onl5v4/inoue/CAMAC1/vme/camac/dev onl5v4[90]% ls -l total 65 -rw-r--r-- 1 inoue kek 2476 Apr 19 1995 122d_to_e.patch.dev -rw-r--r-- 1 inoue kek 2186 Mar 17 1993 Makefile -rw-r--r-- 1 inoue kek 19156 Mar 30 1993 cclist.c -rw-r--r-- 1 inoue kek 20877 Aug 18 1993 ccmain.c -rw-r--r-- 1 inoue kek 5168 Mar 17 1993 kcam_mb.c -rw-r--r-- 1 inoue kek 3069 Nov 30 1992 kcam_sb.c -rw-r--r-- 1 inoue kek 2211 Mar 17 1993 kcam_ss.c -rw-r--r-- 1 inoue kek 6926 Mar 17 1993 klist.c onl5v4[91]% patch < 122d_to_e.patch.dev Hmm... Looks like a new-style context diff to me... The text leading up to this was: -------------------------- |*** cclist.c Tue Mar 30 19:21:21 1993 |--- cclist.c.new Wed Apr 19 15:56:20 1995 -------------------------- Patching file cclist.c using Plan A... Hunk #1 succeeded at 254. Hunk #2 succeeded at 880. Hunk #3 succeeded at 923. Hmm... The next patch looks like a new-style context diff to me... The text leading up to this was: -------------------------- |*** ccmain.c Wed Aug 18 16:45:59 1993 |--- ccmain.c.new Wed Apr 19 15:56:29 1995 -------------------------- Patching file ccmain.c using Plan A... Hunk #1 succeeded at 9. Hunk #2 succeeded at 561. Hmm... The next patch looks like a new-style context diff to me... The text leading up to this was: -------------------------- |*** kcam_mb.c Wed Mar 17 14:44:25 1993 |--- kcam_mb.c.new Wed Apr 19 15:56:47 1995 -------------------------- Patching file kcam_mb.c using Plan A... Hunk #1 succeeded at 96. done onl5v4[92]% (6). /home/onl5v4/inoue/CAMAC/vme/camac/dev ディレクトリにシステムの オリジナルファイルを参照して、./CAMAC, ./conf.c, ./files の各ファイル を作成する。 onl5v4[112]% cp /sys/sun4m/conf/GENERIC CAMAC onl5v4[113]% cp /sys/sun4m/conf/files files onl5v4[114]% cp /sys/sun/conf.c conf.c onl5v4[115]% ls -l total 168 -rw-r--r-- 1 inoue kek 2476 Apr 19 1995 122d_to_e.patch.dev -rw-r--r-- 1 inoue kek 14588 Dec 18 15:46 CAMAC -rw-r--r-- 1 inoue kek 2186 Mar 17 1993 Makefile -rw-r--r-- 1 inoue kek 19436 Dec 18 15:35 cclist.c -rw-r--r-- 1 inoue kek 19156 Mar 30 1993 cclist.c.orig -rw-r--r-- 1 inoue kek 21046 Dec 18 15:35 ccmain.c -rw-r--r-- 1 inoue kek 20877 Aug 18 1993 ccmain.c.orig -rw-r--r-- 1 inoue kek 31496 Dec 18 15:48 conf.c -rw-r--r-- 1 inoue kek 10636 Dec 18 15:46 files -rw-r--r-- 1 inoue kek 5267 Dec 18 15:35 kcam_mb.c -rw-r--r-- 1 inoue kek 5168 Mar 17 1993 kcam_mb.c.orig -rw-r--r-- 1 inoue kek 3069 Nov 30 1992 kcam_sb.c -rw-r--r-- 1 inoue kek 2211 Mar 17 1993 kcam_ss.c -rw-r--r-- 1 inoue kek 6926 Mar 17 1993 klist.c onl5v4[116]% (7). ./CAMAC, ./conf.c, ./files の各ファイルを修正する。 onl5v4[123]% vi CAMAC : : disk sd20 at scsibus4 target 0 lun 0 # twenty-first hard SCSI disk # # support for VME-CAMAC Interface K2917 # device cc0 at vme16d16 ? csr 0xff00 priority 4 vector ccintr 0xff : onl5v4[124]% onl5v4[125]% vi files : : sun/stubs.c standard # # for CAMAC # sundev/cc.c optional cc device-driver : onl5v4[126]% nl5v4[127]% vi conf.c : /**************************************************************** * for CAMAC add by Y.Takeuchi * ****************************************************************/ #include "cc.h" #if NCC > 0 extern int ccopen(); extern int ccclose(); extern int ccwrite(); extern int ccioctl(); #else #define ccopen nodev #define ccclose nodev #define ccwrite nodev #define ccioctl nodev #endif : : }, /******************************************************** * for CAMAC * ********************************************************/ { ccopen, ccclose, nodev, ccwrite, /*110*/ ccioctl, nodev, nodev, nodev, 0, 0, }, }; : : onl5v4[128]% (8). Makefile を修正する。 onl5v4[128]% vi Makefile : DEV = /sys/sun/conf.c \ /sys/sun4m/conf/files \ ^ c を m に変更 /sys/sun4m/conf/CAMAC \ ^ c を m に変更 : : kernel: $(DEV) cd /sys/sun4m/conf; config CAMAC ^ ^ sfconfig を config に変更 c を m に変更 cd /sys/sun4m/CAMAC; make ^ c を m に変更 : mv -i /sys/sun4m/CAMAC/vmunix /vmunix ^ c を m に変更 : /sys/sun4m/conf/files: files ^ c を m に変更 cp files /sys/sun4m/conf/files ^ c を m に変更 /sys/sun4m/conf/CAMAC: CAMAC ^ c を m に変更 cp CAMAC /sys/sun4m/conf/CAMAC ^ c を m に変更 : newfiles: cp /sys/sun4m/conf/GENERIC CAMAC ^ c を m に変更 : cp /sys/sun4m/conf/files.org files ^ ^ original を org に変更 c を m に変更 : node: cd /dev; mknod cc c 110 0; chmod 666 cc ^ 105 を 110 に変更 (9). camac のデバイスファイルを作る。 onl5v4# make node cd /dev; mknod cc c 110 0; chmod 666 cc onl5v4# ls -l /dev/cc crw-rw-rw- 1 root staff 110, 0 Dec 18 16:40 /dev/cc (10.) 現在のカーネルを保存した後、カーネルを再構成しリブートする。 onl5v4# mv /vmunix /vmunix.orig onl5v4# make kernel cp conf.c /sys/sun/conf.c cp files /sys/sun4m/conf/files cp CAMAC /sys/sun4m/conf/CAMAC cp ../include/k2917.h /sys/sundev/k2917.h cp ../include/cc.h /sys/sundev/cc.h cp ../include/cc_config.h /sys/sundev/cc_config.h cp ../include/cc_common.h /sys/sundev/cc_common.h cat ccmain.c kcam_ss.c kcam_mb.c cclist.c klist.c >/sys/sundev/cc.c cd /sys/sun4m/conf; config CAMAC Doing a "make depend" cd /sys/sun4m/CAMAC; make cc -sparc -c -O -Dsun4m -DGENERIC -DSUN4M_35 -DSUN4M_50 -DSUN4M_690 -DWINSVJ -DV DDRV -DASYNCHIO -DLWP -DVFSSTATS -DRFS -DCRYPT -DTCPDEBUG -DIPCSHMEM -DIPCSEMAPH ORE -DIPCMESSAGE -DSYSAUDIT -DSYSACCT -DPCFS -DHSFS -DTMPFS -DTFS -DLOFS -DNFSSE RVER -DNFSCLIENT -DUFS -DQUOTA -DINET -DMULTIPROCESSOR -DKERNEL -I. -I.. -I../.. ../../os/init_sysent.c cc -sparc -c -O -Dsun4m -DGENERIC -DSUN4M_35 -DSUN4M_50 -DSUN4M_690 -DWINSVJ -DV DDRV -DASYNCHIO -DLWP -DVFSSTATS -DRFS -DCRYPT -DTCPDEBUG -DIPCSHMEM -DIPCSEMAPH ORE -DIPCMESSAGE -DSYSAUDIT -DSYSACCT -DPCFS -DHSFS -DTMPFS -DTFS -DLOFS -DNFSSE RVER -DNFSCLIENT -DUFS -DQUOTA -DINET -DMULTIPROCESSOR -DKERNEL -I. -I.. -I../.. ../../os/uipc_proto.c cc -sparc -c -O -Dsun4m -DGENERIC -DSUN4M_35 -DSUN4M_50 -DSUN4M_690 -DWINSVJ -DV DDRV -DASYNCHIO -DLWP -DVFSSTATS -DRFS -DCRYPT -DTCPDEBUG -DIPCSHMEM -DIPCSEMAPH ORE -DIPCMESSAGE -DSYSAUDIT -DSYSACCT -DPCFS -DHSFS -DTMPFS -DTFS -DLOFS -DNFSSE RVER -DNFSCLIENT -DUFS -DQUOTA -DINET -DMULTIPROCESSOR -DKERNEL -I. -I.. -I../.. ../../os/vfs_conf.c cc -sparc -c -O -Dsun4m -DGENERIC -DSUN4M_35 -DSUN4M_50 -DSUN4M_690 -DWINSVJ -DV DDRV -DASYNCHIO -DLWP -DVFSSTATS -DRFS -DCRYPT -DTCPDEBUG -DIPCSHMEM -DIPCSEMAPH ORE -DIPCMESSAGE -DSYSAUDIT -DSYSACCT -DPCFS -DHSFS -DTMPFS -DTFS -DLOFS -DNFSSE RVER -DNFSCLIENT -DUFS -DQUOTA -DINET -DMULTIPROCESSOR -DKERNEL -I. -I.. -I../.. ../../sun/conf.c cc -sparc -c -O -Dsun4m -DGENERIC -DSUN4M_35 -DSUN4M_50 -DSUN4M_690 -DWINSVJ -DV DDRV -DASYNCHIO -DLWP -DVFSSTATS -DRFS -DCRYPT -DTCPDEBUG -DIPCSHMEM -DIPCSEMAPH ORE -DIPCMESSAGE -DSYSAUDIT -DSYSACCT -DPCFS -DHSFS -DTMPFS -DTFS -DLOFS -DNFSSE RVER -DNFSCLIENT -DUFS -DQUOTA -DINET -DMULTIPROCESSOR -DKERNEL -I. -I.. -I../.. ../../sun/stubs.c cc -sparc -c -O -Dsun4m -DGENERIC -DSUN4M_35 -DSUN4M_50 -DSUN4M_690 -DWINSVJ -DV DDRV -DASYNCHIO -DLWP -DVFSSTATS -DRFS -DCRYPT -DTCPDEBUG -DIPCSHMEM -DIPCSEMAPH ORE -DIPCMESSAGE -DSYSAUDIT -DSYSACCT -DPCFS -DHSFS -DTMPFS -DTFS -DLOFS -DNFSSE RVER -DNFSCLIENT -DUFS -DQUOTA -DINET -DMULTIPROCESSOR -DKERNEL -I. -I.. -I../.. ../../sundev/cc.c cc -sparc -c -O -Dsun4m -DGENERIC -DSUN4M_35 -DSUN4M_50 -DSUN4M_690 -DWINSVJ -DV DDRV -DASYNCHIO -DLWP -DVFSSTATS -DRFS -DCRYPT -DTCPDEBUG -DIPCSHMEM -DIPCSEMAPH ORE -DIPCMESSAGE -DSYSAUDIT -DSYSACCT -DPCFS -DHSFS -DTMPFS -DTFS -DLOFS -DNFSSE RVER -DNFSCLIENT -DUFS -DQUOTA -DINET -DMULTIPROCESSOR -DKERNEL -I. -I.. -I../.. -DMAXUSERS=16 param.c cc -sparc -c -O -Dsun4m -DGENERIC -DSUN4M_35 -DSUN4M_50 -DSUN4M_690 -DWINSVJ -DV DDRV -DASYNCHIO -DLWP -DVFSSTATS -DRFS -DCRYPT -DTCPDEBUG -DIPCSHMEM -DIPCSEMAPH ORE -DIPCMESSAGE -DSYSAUDIT -DSYSACCT -DPCFS -DHSFS -DTMPFS -DTFS -DLOFS -DNFSSE RVER -DNFSCLIENT -DUFS -DQUOTA -DINET -DMULTIPROCESSOR -DKERNEL -I. -I.. -I../.. ioconf.c cc -sparc -I. -c -O -Dsun4m -DGENERIC -DSUN4M_35 -DSUN4M_50 -DSUN4M_690 -DWINSVJ -DVDDRV -DASYNCHIO -DLWP -DVFSSTATS -DRFS -DCRYPT -DTCPDEBUG -DIPCSHMEM -DIPCSE MAPHORE -DIPCMESSAGE -DSYSAUDIT -DSYSACCT -DPCFS -DHSFS -DTMPFS -DTFS -DLOFS -DN FSSERVER -DNFSCLIENT -DUFS -DQUOTA -DINET -DMULTIPROCESSOR -DKERNEL -I. -I.. -I. ./.. confvmunix.c loading vmunix rearranging symbols text data bss dec hex 1613824 477752 757160 2848736 2b77e0 !!!CAUTION!!! /vmunix will be overwrite. mv -i /sys/sun4m/CAMAC/vmunix /vmunix remove /vmunix? y onl5v4# (11.) リブートする。 nl5v4# shutdown -h now Shutdown at 13:57 (in 0 minutes) [pid 776] onl5v4# *** FINAL System shutdown message from root@onl5v4 *** System going down IMMEDIATELY System shutdown time has arrived Dec 20 13:57:20 onl5v4 shutdown: halt by root Dec 20 13:57:22 onl5v4 syslogd: going down on signal 15 Dec 20 13:57:23 automount[117]: exiting syncing file systems... done Halted Program terminated Type help for more information ok ok xxscreen not found. Can't open input device. Keyboard not present. Using tty for input and output. SPARC CPU-5V, No Keyboard ROM Rev. 2.15.3, 16 MB memory installed, Serial #9149788. Ethernet address 0:80:42:b:2d:5c, Host ID: 808b9d5c. Boot device: /iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@3,0 File and args: root on /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@3,0: a fstype 4.2 Boot: vmunix Size: 1613824+477752+757160 bytes VAC ENABLED SunOS Release 4.1.4 (CAMAC) #2: Fri Dec 20 11:26:47 JST 1996 Copyright (c) 1983-1993, Sun Microsystems, Inc. cpu = SPARC,CPU-5V mod0 = FMI,MB86904 (mid = 0) mem = 15952K (0xf94000) avail mem = 11583488 entering uniprocessor mode Ethernet address = 0:80:42:b:2d:5c espdma0 at SBus slot 5 0x8400000 esp0 at SBus slot 5 0x8800000 pri 4 (onboard) sd0 at esp0 target 3 lun 0 sd0: SUNW,bpp0 at SBus slot 5 0xc800000 pri 3 (sbus level 2) ledma0 at SBus slot 5 0x8400010 le0 at SBus slot 5 0x8c00000 pri 6 (onboard) FORCE Solaris 1.1.2 CPU-5V VME Driver (nexus & memplus) Version 2.1 (Swift TLB flushpagectx Bugfix included) (Flush Writebuffers Bugfix included) Hardware Revision: 3. (Swift TLB flushpagectx Bugfix included) VME: No SBus device(s) present in physical SBus slots - Full SBus space available for VME interface. FGA-5000 Arbiter/Req. Ctrl_Req Reg: 0xbf7effff FGA-5000 A16 Address: 0x0 DVMA Compatibility Range disabled. VME DMA interrupt handler on SBus level 5. VME0 at SBus slot 5 0xffffe00 zs0 at SBus slot 5 0x1100000 pri 12 (onboard) zs1 at SBus slot 5 0x1000000 pri 12 (onboard) SUNW,fdtwo0 at SBus slot 5 0x1400000 pri 11 (onboard) CAMAC device driver V1.22e, 1991-1995 by Y.TAKEUCHI (T.I.T.) cc0 at vme16d16 0xff00 vec 0xff root on sd0a fstype 4.2 swap on sd0b fstype spec size 131812K dump on sd0b fstype spec size 131800K checking filesystems/dev/ rsd0a: is stable./dev/rsd0h: is stable./dev/rsd0g: is stable.Automatic reboot in progress...Fri Dec 20 14:02:33 JST 1996checking quotas: done.starting rpc port mapper.NIS domainname is kek.jpstarting NIS services: ypserv ypxfrd ypbind ypupd ated.rpc.yppasswddstarting RPC key server.Flushing routing tables:add net defaul t: gateway ICCFG0network interface configuration:le0: flags=63 inet 130.87.153.49 netmask fffffc00 broadcast 130.87.152. 0 ether 0:80:42:b:2d:5c lo0: flags=49 inet 12 7.0.0.1 netmask ff000000 mount -vat nfsstarting additional services: biod.starti ng system loggerstarting local daemons: auditd sendmail statd lockd automount.li nk-editor directory cachepreserving editor filesclearing /tmpstandard daemons: u pdate cron uucp.starting network daemons: inetd printer.Fri Dec 20 14:02:51 JST 1996 onl5v4 login: o /var/adm/messages の記録を以下に示す。 Dec 20 13:57:20 onl5v4 shutdown: halt by root Dec 20 13:57:22 onl5v4 syslogd: going down on signal 15 Dec 20 14:02:47 onl5v4 vmunix: VAC ENABLED Dec 20 14:02:47 onl5v4 vmunix: SunOS Release 4.1.4 (CAMAC) #2: Fri Dec 20 11:26:47 JST 1996 Dec 20 14:02:47 onl5v4 vmunix: Copyright (c) 1983-1993, Sun Microsystems, Inc. Dec 20 14:02:47 onl5v4 vmunix: cpu = SPARC,CPU-5V Dec 20 14:02:47 onl5v4 vmunix: mod0 = FMI,MB86904 (mid = 0) Dec 20 14:02:47 onl5v4 vmunix: mem = 15952K (0xf94000) Dec 20 14:02:47 onl5v4 vmunix: avail mem = 11583488 Dec 20 14:02:47 onl5v4 vmunix: entering uniprocessor mode Dec 20 14:02:47 onl5v4 vmunix: Ethernet address = 0:80:42:b:2d:5c Dec 20 14:02:47 onl5v4 vmunix: espdma0 at SBus slot 5 0x8400000 Dec 20 14:02:47 onl5v4 vmunix: esp0 at SBus slot 5 0x8800000 pri 4 (onboard) Dec 20 14:02:47 onl5v4 vmunix: sd0 at esp0 target 3 lun 0 Dec 20 14:02:47 onl5v4 vmunix: sd0: Dec 20 14:02:47 onl5v4 vmunix: SUNW,bpp0 at SBus slot 5 0xc800000 pri 3 (sbus level 2) Dec 20 14:02:47 onl5v4 vmunix: ledma0 at SBus slot 5 0x8400010 Dec 20 14:02:47 onl5v4 vmunix: le0 at SBus slot 5 0x8c00000 pri 6 (onboard) Dec 20 14:02:47 onl5v4 vmunix: FORCE Solaris 1.1.2 CPU-5V VME Driver (nexus & memplus) Version 2.1 Dec 20 14:02:47 onl5v4 vmunix: (Swift TLB flushpagectx Bugfix included) Dec 20 14:02:47 onl5v4 vmunix: (Flush Writebuffers Bugfix included) Dec 20 14:02:47 onl5v4 vmunix: Hardware Revision: 3. Dec 20 14:02:47 onl5v4 vmunix: (Swift TLB flushpagectx Bugfix included) Dec 20 14:02:47 onl5v4 vmunix: VME: No SBus device(s) present in physical SBus slots - Dec 20 14:02:47 onl5v4 vmunix: Full SBus space available for VME interface. Dec 20 14:02:47 onl5v4 vmunix: FGA-5000 Arbiter/Req. Ctrl_Req Reg: 0xbf7effff Dec 20 14:02:47 onl5v4 vmunix: FGA-5000 A16 Address: 0x0 Dec 20 14:02:47 onl5v4 vmunix: DVMA Compatibility Range disabled. Dec 20 14:02:47 onl5v4 vmunix: VME DMA interrupt handler on SBus level 5. Dec 20 14:02:47 onl5v4 vmunix: VME0 at SBus slot 5 0xffffe00 Dec 20 14:02:47 onl5v4 vmunix: zs0 at SBus slot 5 0x1100000 pri 12 (onboard) Dec 20 14:02:47 onl5v4 vmunix: zs1 at SBus slot 5 0x1000000 pri 12 (onboard) Dec 20 14:02:47 onl5v4 vmunix: SUNW,fdtwo0 at SBus slot 5 0x1400000 pri 11 (onboard) Dec 20 14:02:47 onl5v4 vmunix: CAMAC device driver V1.22e, 1991-1995 by Y.TAKEUCHI (T.I.T.) Dec 20 14:02:47 onl5v4 vmunix: cc0 at vme16d16 0xff00 vec 0xff Dec 20 14:02:47 onl5v4 vmunix: root on sd0a fstype 4.2 Dec 20 14:02:47 onl5v4 vmunix: swap on sd0b fstype spec size 131812K Dec 20 14:02:47 onl5v4 vmunix: dump on sd0b fstype spec size 131800K Dec 20 14:02:47 onl5v4 vmunix: le0: AUI Ethernet cc ドライバはカーネルに組み込まれたことを確認した。 (12.) ライブラリを構築し、インストールする。 onl5v4[60]% pwd /home/onl5v4/inoue/CAMAC/vme/camac onl5v4[61]% ls -l total 11 -rw-r--r-- 1 inoue kek 1559 Mar 22 1993 Makefile drwxr-xr-x 2 inoue kek 512 Nov 30 1992 camasm/ drwxr-xr-x 2 inoue kek 512 Dec 20 11:38 dev/ drwxr-xr-x 2 inoue kek 512 Aug 18 1993 doc/ drwxr-xr-x 2 inoue kek 512 Nov 30 1992 examples/ drwxr-xr-x 2 inoue kek 512 Nov 30 1992 fortran/ drwxr-xr-x 2 inoue kek 512 Nov 7 15:50 include/ drwxr-xr-x 2 inoue kek 512 Aug 5 1993 lib/ drwxr-xr-x 2 inoue kek 1024 Nov 30 1992 test/ drwxr-xr-x 4 inoue kek 512 Nov 30 1992 titech/ onl5v4[62]% onl5v4[41]% make library *** lib *** cc -O -c camlib.c -o camlib.o -I../include cc -O -c forlib.c -o forlib.o -I../include rm -f libcamac.a ar rcv libcamac.a camlib.o forlib.o a - camlib.o a - forlib.o ranlib libcamac.a *** include *** *** camasm *** cc -O -target sun4 -o camasm camasm.c onl5v4[42]% onl5v4[43]% su Password: onl5v4# source /.cshrc onl5v4# make install install -d /usr/local/vme/camac/camasm install -d /usr/local/vme/camac/include install -d /usr/local/vme/camac/lib install -m 755 camasm/camasm \ /usr/local/vme/camac/camasm install -m 644 camasm/Makefile camasm/asm_code.h camasm/camasm.c \ camasm/err_code.h \ /usr/local/vme/camac/camasm install -m 644 include/Makefile include/camlib.h \ include/cc_config.h \ include/cc_common.h \ include/cc.h include/k2917.h \ /usr/local/vme/camac/include install -m 644 lib/Makefile lib/camlib.c \ lib/forlib.c lib/libcamac.a \ /usr/local/vme/camac/lib ranlib /usr/local/vme/camac/lib/libcamac.a onl5v4# (13.) テストプログラムをコンパイルする。 onl5v4[78]% pwd /usr/local/vme/camac onl5v4[79]% make sample *** examples *** cc -O cam0.c -o cam0 -I/usr/local/vme/camac/include -L/usr/local/vme/camac/lib -lcamac cc -O cam1.c -o cam1 -I/usr/local/vme/camac/include -L/usr/local/vme/camac/lib -lcamac cc -O cam1w.c -o cam1w -I/usr/local/vme/camac/include -L/usr/local/vme/camac/lib -lcamac cc -O cam3.c -o cam3 -I/usr/local/vme/camac/include -L/usr/local/vme/camac/lib -lcamac cc -O cam4.c -o cam4 -I/usr/local/vme/camac/include -L/usr/local/vme/camac/lib -lcamac /usr/local/vme/camac/camasm/camasm cam4 a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.Takeuchi Oct-1991 cc -O cam6.c -o cam6 -I/usr/local/vme/camac/include -L/usr/local/vme/camac/lib -lcamac /usr/local/vme/camac/camasm/camasm cam6 a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.Takeuchi Oct-1991 cc -O cam6a.c -o cam6a -I/usr/local/vme/camac/include -L/usr/local/vme/camac/lib -lcamac cc -O cam7.c -o cam7 -I/usr/local/vme/camac/include -L/usr/local/vme/camac/lib -lcamac /usr/local/vme/camac/camasm/camasm cam7a a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.Takeuchi Oct-1991 /usr/local/vme/camac/camasm/camasm cam7b a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.Takeuchi Oct-1991 *** fortran *** f77 -fast -O3 -u cam1.f -o cam1 -I/usr/local/vme/camac/include -L/usr/local/vme/camac/lib -lcamac f77: Warning: -O3 overwrites previously set optimization level of -O2 cam1.f: MAIN: f77 -fast -O3 -u cam2.f -o cam2 -I/usr/local/vme/camac/include -L/usr/local/vme/camac/lib -lcamac f77: Warning: -O3 overwrites previously set optimization level of -O2 cam2.f: MAIN: f77 -fast -O3 -u camh1.f -o camh1 -I/usr/local/vme/camac/include -L/usr/local/vme/camac/lib -lcamac -L/usr/cern/lib -lgraflib -lgrafX11 -lpacklib -lkernlib -lX11 f77: Warning: -O3 overwrites previously set optimization level of -O2 camh1.f: MAIN: f77 -fast -O3 -u camh2.f -o camh2 -I/usr/local/vme/camac/include -L/usr/local/vme/camac/lib -lcamac -L/usr/cern/lib -lgraflib -lgrafX11 -lpacklib -lkernlib -lX11 f77: Warning: -O3 overwrites previously set optimization level of -O2 camh2.f: MAIN: *** test *** ../camasm/camasm camt1 a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.Takeuchi Oct-1991 cc -O camt1.c -o camt1 -I../include -L../lib -lcamac ../camasm/camasm camt2 a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.Takeuchi Oct-1991 cc -O camt2.c -o camt2 -I../include -L../lib -lcamac ../camasm/camasm camt3 a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.Takeuchi Oct-1991 cc -O camt3.c -o camt3 -I../include -L../lib -lcamac cc -O -target sun4 -o camt3a camt3a.c -I../include -L../lib -lcamac ../camasm/camasm camt41 a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.Takeuchi Oct-1991 ../camasm/camasm camt42 a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.Takeuchi Oct-1991 ../camasm/camasm camt43 a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.Takeuchi Oct-1991 ../camasm/camasm camt49 a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.Takeuchi Oct-1991 cc -O camt4.c -o camt4 -I../include -L../lib -lcamac ../camasm/camasm camt61 a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.Takeuchi Oct-1991 ../camasm/camasm camt62 a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.Takeuchi Oct-1991 cc -O camt6.c -o camt6 -I../include -L../lib -lcamac cc -O -target sun4 -o cpu_consumer cpu_consumer.c -I../include -L../lib -lcamac cc -O -target sun4 -o memory_consumer memory_consumer.c -I../include -L../lib -lcamac onl5v4[80]% (14.) テストプログラムを実行する。 o camac シングルアクション read/write のテスト。 onl5v4[49]% pwd /usr/local/vme/camac/examples onl5v4[50]% cam1 5 Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:000000(Hex) 00000000(Dec) Input n a f (data)>3 0 16 55555 N=3 A=0 F=16 Q=1 X=1 Data:00D903(Hex) 00055555(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:00D903(Hex) 00055555(Dec) Input n a f (data)>3 0 16 0 N=3 A=0 F=16 Q=1 X=1 Data:000000(Hex) 00000000(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:000000(Hex) 00000000(Dec) onl5v4[51]% ok. read/write ともに正しく実行できた。 o LAM 割り込みのテスト。 onl5v4[53]% pwd /usr/local/vme/camac/examples onl5v4[54]% cam3 *** Now waiting LAM ... N=3 Loop=10 Timeout=0 sec Interrupted !! count=1 Interrupted !! count=2 Interrupted !! count=3 Interrupted !! count=4 Interrupted !! count=5 Interrupted !! count=6 Interrupted !! count=7 Interrupted !! count=8 Interrupted !! count=9 Interrupted !! count=10 *** cam3 nomal end. onl5v4[55]% ok. 正常に実行できた。 o camac ブロック転送のテスト。 onl5v4[61]% pwd /usr/local/vme/camac/fortran onl5v4[62]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >10 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >0 Input data counts >5 Input n a f >3 0 0 MODE=0 N= 3 A= 0 F= 0 len= 5 lenr= 0 error= 0(Hex) Data( 1)= 0 0x 0(Hex) Data( 2)= 0 0x 0(Hex) Data( 3)= 0 0x 0(Hex) Data( 4)= 0 0x 0(Hex) Data( 5)= 0 0x 0(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f > NG. 正常に実行できない。 (症状) "Input n a f >3 0 0" を入力すると、 o 2917 の "ADD REC" の LED が一瞬だけ点灯してすぐに消える。 o 2917 の "RUN" の LED は点灯する。 o CPU-5V の "RUN" の LED は赤と黄色を交互に点灯し続ける。 o 端末の画面上は、 "Input n a f >3 0 0" が入力された後、 そのままの状態が続いている。 となる。 ここで、2917 の "Reset" ボタンを押すと、 o 2917 の "RUN" の LED は消える。 o CPU-5V の "RUN" の LED は点滅をやめて、緑色になる。 o 端末の画面は、 MODE=0 N= 3 A= 0 F= 0 len= 5 lenr= 0 error= 0(Hex) Data( 1)= 0 0x 0(Hex) Data( 2)= 0 0x 0(Hex) : : Data(10)= 0 0x 0(Hex) Input n a f > と表示された後、入力待ちになる。