Subject: sun4m cypress 605b untested cpu fails test. ;)
To: None <port-sparc@netbsd.org>
From: Tim Rightnour <root@garbled.net>
List: port-sparc
Date: 12/18/1999 23:33:17
A friend of mine recently bought himself a wonderful dual CY605B sun4m module
for his sparc 10, and attempted solaris 7 on it.  When that blew a gasket due
to an unsupported cpu.. he asked me about netbsd..  I looked in sparc/cpu.c and
saw his cpu, right next to the word /* UNTESTED */

So I finally got my hands on this machine today for a few hours to test it out.
The results were.. bizzare:  COMDEX-1999 snap shown below.

NetBSD 1.4M (GENERIC) #0: Tue Nov  9 21:45:44 PST 1999
    root@bill-the-cat.mit.edu:/u2/src/sys/arch/sparc/compile/GENERIC
total memory = 64992 KB
avail memory = 57360 KB
using 838 buffers containing 3352 KB of memory
bootpath: /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@3,0
mainbus0 (root): SUNW,SPARCstation-10
cpu0 at mainbus0: CY7C601/605 (v.b) @ 40 MHz, RT602 or WTL3171 FPU
cpu0: 64K byte write-back, 32 bytes/line, sw flush: cache enabled
cpu at mainbus0 not configured
<snip>
ledma0 at sbus0 slot 15 offset 0x400010: rev 2
le0 at ledma0 slot 15 offset 0xc00000 level 6: address 08:00:20:1a:bf:84
le0: 8 receive buffers, 2 transmit buffers
<snip>

The machine installed like a charm.  everything appears to work great.  Then we
tried to fire up the network:

ledma0: error: csr=a0460013<INT,ERR,DRAINING=0,IEN,DSBL_WR_INVAL,TP>
ledma0: error: csr=a0060012<ERR,DRAINING=0,IEN,DSBL_WR_INVAL>

So we stuffed another le card in there..

lebuffer0 at sbus0 slot 1 offset 0x40000: 128K memory
le1 at lebuffer0 slot 1 offset 0x60000 level 4 (ipl 7): address 08:00:20:1a:bf:8
4
le1: 64 receive buffers, 16 transmit buffers

This one wouldn't even attempt to light up a link light.

The keyboard spat out mysterious errors every so often about input overruns,
and it would freak if you hit two keys at once yammering about invalid keysyms.

Finally we tried to tar the dmesg to a floppy, and got:

panic: fdcintr: spurious interrupt can't be cleared

Mysteriously..  the disks worked fine..  both esp controllers worked great. 
the cd worked..  no problems at all during install..  nothing except the floppy
and the network looked hosed.

He stuck in a normal sun4m cpu, and poof.. machine behaved itself perfectly.

So... where to look to fix this?  My first guess would be cypress_cache_enable
and the cypress_flush routines..  But I know squat about the cpu goop.

---
Tim Rightnour <root@garbled.net>
NetBSD: Free multi-architecture OS http://www.netbsd.org/
NetBSD Mailing lists on the web: http://mail-index.netbsd.org/