From mboxrd@z Thu Jan 1 00:00:00 1970 From: nigel@9fs.org To: 9fans@cse.psu.edu Subject: Re: [9fans] 53c895 failed to INIT Date: Fri, 28 Jul 2000 09:36:28 +0100 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-jzxwffncfxilodjwmusaxzbcaq" Message-Id: Topicbox-Message-UUID: ecdebe22-eac8-11e9-9e20-41e7f4b1d025 This is a multi-part message in MIME format. --upas-jzxwffncfxilodjwmusaxzbcaq Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Oh dear. I read the code too early in the morning. It appears the table entry is missing for 895. But things are worse. The code is too old for an 895. We need to transfer /sys/src/9/pc/sd53c8xx.c to /sys/src/fs/*/scsincr53c8xx.c, and also the microcode. I run my fileserver on an 875 which is OK (just). --upas-jzxwffncfxilodjwmusaxzbcaq Content-Type: message/rfc822 Content-Disposition: inline Received: from finch-punt-12.mail.demon.net ([194.217.242.36]) by cpu; Fri Jul 28 07:23:54 BST 2000 Received: from punt-1.mail.demon.net by mailstore for ngr@cotswold.demon.co.uk id 964761789:10:28879:29; Fri, 28 Jul 2000 05:23:09 GMT Received: from hearno.cyberware.co.uk ([194.74.221.2]) by punt-1.mail.demon.net id aa1127511; 28 Jul 2000 5:22 GMT Received: from cse.psu.edu (majordom@claven.cse.psu.edu [130.203.3.50]) by hearno.cyberware.co.uk (8.9.1b+Sun/8.7.2) with ESMTP id GAA29170 for ; Fri, 28 Jul 2000 06:21:50 +0100 (BST) Received: from localhost (majordom@localhost) by cse.psu.edu (8.8.8/8.8.8) with SMTP id BAA08674; Fri, 28 Jul 2000 01:22:06 -0400 (EDT) Received: by claven.cse.psu.edu (bulk_mailer v1.5); Fri, 28 Jul 2000 01:22:03 -0400 Received: (from majordom@localhost) by cse.psu.edu (8.8.8/8.8.8) id BAA08652 for 9fans-outgoing; Fri, 28 Jul 2000 01:21:58 -0400 (EDT) X-Authentication-Warning: claven.cse.psu.edu: majordom set sender to owner-9fans using -f Received: from ar.aichi-u.ac.jp (none@ar.aichi-u.ac.jp [202.250.160.40]) by cse.psu.edu (8.8.8/8.8.8) with SMTP id BAA08647 for <9fans@cse.psu.edu>; Fri, 28 Jul 2000 01:21:51 -0400 (EDT) Date: Fri, 28 Jul 2000 01:21:51 -0400 (EDT) From: arisawa@ar.aichi-u.ac.jp Message-Id: <200007280521.BAA08647@cse.psu.edu> To: 9fans@cse.psu.edu Subject: Re: [9fans] 53c895 failed to INIT MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Sender: owner-9fans@cse.psu.edu Reply-To: 9fans@cse.psu.edu Precedence: bulk Hello, nigel@9fs.org said: >#define KPRINT if(1)print >#define IPRINT if(1)print >#define DEBUG(n) ((n) <= 2) and jmk@plan9.bell-labs.com: >Which of the fileserver kernels are you using (plan9pc, emelie, etc.)? >They were all slightly different in the original release but will all >be the same in the update planned this weekend. > >What do you have in plan9.ini? Thanks. My 9pcfs is based on emelie and my plan9.ini is as follows. ----- plan9.ini ---- *nomp=1 bootfile=fd0!dos!9pcfs distname=plan9 scsi0=type=53c8xx ether0=type=elnk3 monitor=cga mouseport=ps2 nvr=fd!0!plan9.nvr sysname=gaea -------------------- Manual says known scsi type is mylex and 53c8xx. Not ncr53c8xx. However you will find in fs/emelie/scsi.c: static struct { char* type; Scsiio (*reset)(int, ISAConf*); } scsictlr[] = { { "aha1542", buslogic, }, { "buslogic", buslogic, }, { "ncr53c8xx", ncr53c8xxreset, }, { 0, }, }; So I have add a line this time { "53c8xx", ncr53c8xxreset, }, so that 9pcfs can go farther to the line including (*scsictlr[n].reset)(ctlrno, ctlr)) in fs/emelie/scsi.c: for(n = 0; scsictlr[n].type; n++) { if(strcmp(scsictlr[n].type, ctlr->type)) continue; if((ctlr->io = (*scsictlr[n].reset)(ctlrno, ctlr)) == 0) break; However problem has not fixed; 9pcfs shows the same message as before: scsi#0: 53c895: port 0 Failed to INIT controller So I investigated farther. In the function ncr53c8xxreset() in fs/emelie/scsincr53c8xx.c, 9pcfs can proceed to init(ctlr, isa, differential). So I added the debugging code in init function as follows: rid = pcicfgr8(pcidev, PciRID); for (var = 0; var < MAXVAR; var++) { print("scsincr53c8xx.c: init(): did=%d,%d rid=%d, %d\n", pcidev->did,variant[var].did,rid,variant[var].maxrid); if (pcidev->did == variant[var].did && rid <= variant[var].maxrid) break; } if (var >= MAXVAR) return 0; print("scsi#%d: %s rev. 0x%.2x intr=%d command=%.4x\n", ctlr->ctlrno, variant[var].name, rid, pcidev->intl, pcicfgr16(pcidev, PciPCR)); The result is: scsincr53c8xx.c: init(): did=12,1 rid=1,15 scsincr53c8xx.c: init(): did=12,1 rid=1,31 scsincr53c8xx.c: init(): did=12,1 rid=1,255 scsincr53c8xx.c: init(): did=12,5 rid=1,255 scsincr53c8xx.c: init(): did=12,4 rid=1,255 scsincr53c8xx.c: init(): did=12,3 rid=1,15 scsincr53c8xx.c: init(): did=12,3 rid=1,255 scsincr53c8xx.c: init(): did=12,6 rid=1,15 scsincr53c8xx.c: init(): did=12,6 rid=1,255 scsincr53c8xx.c: init(): did=12,15 rid=1,1 scsincr53c8xx.c: init(): did=12,15 rid=1,255 scsincr53c8xx.c: init(): did=12,13 rid=1,255 scsincr53c8xx.c: init(): did=12,11 rid=1,255 Thanks again. Kenji Arisawa E-mail: arisawa@aichi-u.ac.jp --upas-jzxwffncfxilodjwmusaxzbcaq--