Subject: Re: NOTICE: thorpej-mips-cache branch will be merged today
To: Havard Eidnes <he@netbsd.org>
From: Jason R Thorpe <thorpej@wasabisystems.com>
List: port-sgimips
Date: 11/16/2001 17:24:58
On Fri, Nov 16, 2001 at 05:29:18PM +0100, Havard Eidnes wrote:

 > I hate to rain on your parade, but my Indigo2 with R4400 and 2MB SC,
 > where I have tweaked the code to use the 2M cache via

Ok, this I have fixed (looks like you and I have similar I2's?) by
making cpu_attach() talk the ARCBIOS device tree to find the L2 cache,
and initialize the size that way.  Now it finds it correctly on my
Indigo2 Impact:

mainbus0 (root): SGI-IP22 [SGI, 6909860f], 1 processor
cpu0 at mainbus0: MIPS R4400 CPU (0x460) Rev. 6.0 with MIPS R4010 FPC Rev. 0.0
cpu0: 16KB/16B direct-mapped L1 Instruction cache, 48 TLB entries
cpu0: 16KB/16B direct-mapped write-back L1 Data cache
cpu0: 2048KB/128B direct-mapped write-back L2 Unified cache

 > and a config file which sats SGI_L2_CACHE_SIZE to 2048 apparently has
 > problems with the SCSI controller when I try to reboot with a kernel
 > compiled from today's sources, as shown below (I can decode the
 > addresses if need be, but DDB apparently can't (yet)).
 > 
 > (I had to do "init" in the monitor before the old kernel would
 > cooperate without spazzing out on the SCSI controller as well...)

Huh .. I saw some SCSI lossage on my systems, too, but I saw messages
on port-sgimips that people NOT running the new cache code were seeing
SCSI problems, too, so I didn't think anything of it.  Also, mhitch
reported his Challenge S was working fine w/ SCSI...

I'll look into it as soon as I get a chance.

 > 
 > 
 > Regards,
 > 
 > - Havard
 > 
 > ------------------------------
 > 
 > 
 >                            Starting up the system...
 > 
 > 
 > NetBSD/sgimips 1.5Y  Bootstrap, Revision 1.0
 > (he@viola.urc.uninett.no, Mon Jul 12 12:31:09 CEST 1993)
 > 
 > Mem block: type 0 base 0x0 size 0x1000
 > Mem block: type 1 base 0x1000 size 0x1000
 > Mem block: type 3 base 0x8002000 size 0x73e000
 > Mem block: type 6 base 0x8740000 size 0xc0000
 > Mem block: type 3 base 0x8800000 size 0x800000
 > Mem block: type 5 base 0x9000000 size 0xc000
 > Mem block: type 3 base 0x900c000 size 0xeff4000
 > Local storage 887fe558
 > argv[0]: scsi(0)disk(2)rdisk(0)partition(8)/boot
 > argv[1]: OSLoadOptions=auto
 > argv[2]: ConsoleIn=serial(0)
 > argv[3]: ConsoleOut=serial(0)
 > argv[4]: SystemPartition=scsi(0)disk(2)rdisk(0)partition(8)
 > argv[5]: OSLoader=boot
 > argv[6]: OSLoadPartition=scsi(0)disk(2)rdisk(0)partition(0)
 > argv[7]: OSLoadFilename=/netbsd
 > Boot: scsi(0)disk(2)rdisk(0)partition(0)/netbsd
 > devopen: scsi(0)disk(2)rdisk(0)partition(0) type scsi file /netbsd
 > diskopen: 0,2,0 scsi(0)disk(2)rdisk(0)partition(0)
 > 1359088+136648 [61520+50481]=0x188a50
 > Starting at 0x88002000
 > 
 > nsym 0x1 ssym 0x8816f2b8 esym 0x8818aa50
 > zs channel 0 had address 0xbfbd9830
 > IOC rev 0, machine Indigo2 (Fullhouse), board rev 8
 > Timer calibration, got 1250000 cycles (1250000, 1250000, 1250000)
 > CPU clock speed = 125.00Mhz
 > Mem block 1: type 0, base 0, size 1
 > Mem block 2: type 1, base 1, size 1
 > Mem block 3: type 3, base 32770, size 1854
 > Mem block 4: type 6, base 34624, size 192
 > Mem block 5: type 3, base 34816, size 2048
 > Mem block 6: type 5, base 36864, size 12
 > Mem block 7: type 3, base 36876, size 61428
 > Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001
 >     The NetBSD Foundation, Inc.  All rights reserved.
 > Copyright (c) 1982, 1986, 1989, 1991, 1993
 >     The Regents of the University of California.  All rights reserved.
 > 
 > NetBSD 1.5Y (VIOLA) #12: Fri Nov 16 12:05:54 CET 2001
 >     he@viola.urc.uninett.no:/usr/src/sys/arch/sgimips/compile/VIOLA
 > 256 MB memory, 234 MB free, 768 KB for ARCS, 13208 KB in 3302 buffers
 > mainbus0 (root): SGI-IP22 [SGI, 690a6af3], 1 processor
 > cpu0 at mainbus0: MIPS R4400 CPU (0x460) Rev. 6.0 with MIPS R4010 FPC Rev. 0.0
 > cpu0: 16KB/16B direct-mapped L1 Instruction cache, 48 TLB entries
 > cpu0: 16KB/16B direct-mapped write-back L1 Data cache
 > cpu0: 2048KB/128B direct-mapped write-back L2 Unified cache
 > imc0 at mainbus0 addr 0x1fa00000
 > imc0: Revision 3
 > gio0 at imc0
 > hpc0 at gio0 addr 0x1fb80000
 > zsc0 at hpc0
 > zstty0 at zsc0 channel 1 (console i/o)
 > zstty1 at zsc0 channel 0
 > sq0 at hpc0: SGI Seeq 80c03
 > sq0: Ethernet address 08:00:69:0a:6a:f3
 > wdsc0 at hpc0: WD33C93B SCSI, rev=0, target 7
 > scsibus0 at wdsc0: 8 targets, 8 luns per target
 > dsclock0 at hpc0 offset 0x60000
 > biomask 07 netmask 07 ttymask 0f clockmask bf
 > scsibus0: waiting 5 seconds for devices to settle...
 > probe(wdsc0:0:1:0): wdsc0: timed out; asr=0x20 [acb 0x8963f000 (flags 0x1, dleft 4a)], <state 5, nexus 0x8963f000, resid 4a, msg(q 0,o 0)>probe(wdsc0:0:1:0): ABORT in timeout: csr=0xff, asr=0x20
 > probe(wdsc0:0:1:0): sending ABORT command
 > probe(wdsc0:0:1:0): Resetting bus
 > : WD33C93B SCSI, rev=0, target 7
 > probe(wdsc0:0:1:0): wdsc0: timed out; asr=0x00 [acb 0x8963f000 (flags 0x41, dleft 4a)], <state 8, nexus 0x8963f000, resid 4a, msg(q 0,o 0)>probe(wdsc0:0:1:0): ABORT in timeout: csr=0x01, asr=0x00
 > probe(wdsc0:0:1:0): sending ABORT command
 > probe(wdsc0:0:1:0): sending DISCONNECT to target
 > sbic_wait: TIMEO @877 with asr=x0 csr=x1
 > Stopped at      0x880f8c54:     jr      ra
 >                 bdslot: nop
 > db> trace
 > 880f8c50+4 (f800,0,0,8) ra 8810ec0c sz 0
 > 8810eb60+ac (f800,0,0,8) ra 8810efa4 sz 48
 > 8810ec64+340 (f800,0,0,8) ra 8811201c sz 48
 > 88111f14+108 (f800,0,0,8) ra 88018770 sz 72
 > 8801853c+234 (f800,0,0,8) ra 8801846c sz 56
 > 88017cd8+794 (f800,0,0,8) ra 8810623c sz 40
 > 881061d0+6c (f800,0,0,8) ra 88109e0c sz 64
 > 88109dc4+48 (f800,0,0,8) ra 88003208 sz 32
 > mips3_KernIntr+84 (882bd000,8816d568,0,0) ra 88002278 sz 128
 > cpu_switch+64 (882bd000,8816d568,0,0) ra 88029c08 sz 24
 > 88029998+270 (882bd000,8816d568,0,0) ra 880291d0 sz 48
 > 88028f98+238 (882bd000,8816d568,0,0) ra 881160f4 sz 48
 > 88115d9c+358 (882bd000,8816d568,0,0) ra 88118268 sz 56
 > 8811812c+13c (882bd000,8816d568,0,0) ra 88113610 sz 48
 > 88113550+c0 (882bd000,8816d568,0,0) ra 88114ce4 sz 64
 > 88114c64+80 (882bd000,8816d568,0,0) ra 88118afc sz 72
 > 88118a34+c8 (882bd000,8816d568,0,0) ra 88118804 sz 176
 > 881186d0+134 (882bd000,8816d568,0,0) ra 881184f4 sz 56
 > 88118478+7c (882bd000,8816d568,0,0) ra 8802f9a4 sz 32
 > 8802f914+90 (882bd000,8816d568,0,0) ra 8802ec0c sz 40
 > 8802ebb0+5c (882bd000,8816d568,0,0) ra 880163dc sz 24
 > main+47c (882bd000,8816d568,0,0) ra 88002098 sz 88
 > User-level: curproc NULL
 > db> reboot 8
 > syncing disks... done
 > halting...
 > 
 > sc0,1,0: cmd=0x12 timeout after 2 sec.  Resetting SCSI bus
 > Cannot connect to keyboard -- check the cable.
 > Cannot open keyboard() for input
 > Cannot connect to keyboard -- check the cable.
 > Cannot open keyboard() for inut
 > 

-- 
        -- Jason R. Thorpe <thorpej@wasabisystems.com>