Port-sparc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: mostly working SMP again



> FWIW, with a simple hack to the zs driver (zshard() always returns 1)
> my dual SS20 boots fine from the internal sd0.

It looks the problem is that ZS_HWFLAG_USE_CONSDEV is never set
in !(NWSKBD == 0) case then default consdev_prom via ttya mangles
zs interrupts.

The following patch seems to fix stray interrupt panic on my SS20MP.

---
Index: dev/zs.c
===================================================================
RCS file: /cvsroot/src/sys/arch/sparc/dev/zs.c,v
retrieving revision 1.116
diff -u -r1.116 zs.c
--- dev/zs.c    31 May 2009 17:09:03 -0000      1.116
+++ dev/zs.c    6 Jan 2010 09:37:25 -0000
@@ -464,6 +464,10 @@
                        }
                } else {
                        zsc_args.hwflags = hwflags;
+                       if (zsc_args.hwflags & ZS_HWFLAG_CONSOLE) {
+                               zsc_args.hwflags |= ZS_HWFLAG_USE_CONSDEV;
+                               zsc_args.consdev = &zs_consdev;
+                       }
                }
 #endif
                if ((zsc_args.hwflags & ZS_HWFLAG_CONSOLE_INPUT) != 0) {

---

It still sometimes complains and get watch dog reset though:
---
cpu0: booting secondary processors: cpu1 cpu2 cpu3
scsibus0: waiting 2 seconds for devices to settle...
wskbd0 at kbd0 mux 1
dbri0: speakerbox detected
dri0: cs4215 rev E found at offset 8
audio0 at dbri0stray interrupt cpu0 ipl 0xc pc=0xf0147658 npc=0xf014765c 
psr=0x1e4000c6<S,PS>
: full duplex, playback, capture, mmap
sd0 at scsibus0 target 3 lun 0: <IBM, DDRS-39130W, S97B> disk fixed
sd0: 8715 MB, 8387 cyl, 10 head, 212 sec, 512 bytes/sect x 17850000 sectors
sd0: sync (100.00ns offset 15), 8-bit (10.000MB/s) transfers, tagged queueing

 :

IPv6 mode: host
stray interrupt cpu0 ipl 0x7 pc=0xf014765c npc=0xf0134530 psr=0x1e4000c5<S,PS>
xcall(cpu2,0xf0027f0c): couldn't ping cpus:
Configuring network interfaces: hme0.

 :
---
Izumi Tsutsui


Home | Main Index | Thread Index | Old Index