Subject: Re: SMP enabled
To: Paul Kranenburg <pk@cs.few.eur.nl>
From: None <ragge@ludd.luth.se>
List: port-sparc
Date: 01/08/2003 15:40:15
> Folks,
> 
> I've now enabled SMP operation in MULTIPROCESSOR kernels.
> 
> As noted before, there are still a number of loose ends to tie up but
> it's now usable on at least two different platforms: various 2-processor
> viking supersparc machines and a 4-processor 4/670, i.e.:
> 
I just tried to compile a kernel on a similar machine (4/670, 4 CPUs,
128MB RAM) but it do not manage to start the other cpus. Boot message:

Rebooting with command: -as                                           
Boot device: /iommu/sbus/dma@f,81000/esp@f,80000/sd@2,0   File and args: -as
>> NetBSD/sparc Secondary Boot, Revision 1.9
>> (root@dora.int.purplei.com, Fri Aug 25 05:44:39 BST 2000)
device[/iommu/sbus/dma@f,81000/esp@f,80000/sd@2,0] ("halt" to halt): 
boot (press RETURN to try default list): netbsd.smp
Booting netbsd.smp
2923836+98176+221648 [84+190368+145521]=0x37a0e4
OBP version 3, revision 2.5 (plugin rev 2)
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
    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.6L (GENERIC.MP) #0: Wed Jan  8 14:08:27 UTC 2003
    ragge@sister:/usr/src/sys/arch/sparc/compile/GENERIC.MP
total memory = 127 MB
avail memory = 114 MB
using 896 buffers containing 6632 KB of memory
bootpath: /iommu0/sbus0/dma@f,81000/esp@f,80000/sd@2,0
mainbus0 (root): SUNW,Sun 4/600
cpu0 at mainbus0: mid 8: CY7C601/605 (v.c) @ 40 MHz, RT602 or WTL3171 FPU
cpu0: 64K byte write-back, 32 bytes/line, sw flush: cache enabled
cpu1 at mainbus0: mid 9: CY7C601/605 (v.c) @ 40 MHz, RT602 or WTL3171 FPU
cpu1: 64K byte write-back, 32 bytes/line, sw flush: cache enabled
cpu2 at mainbus0: mid 10: CY7C601/605 (v.c) @ 40 MHz, RT602 or WTL3171 FPU
cpu2: 64K byte write-back, 32 bytes/line, sw flush: cache enabled
cpu3 at mainbus0: mid 11: CY7C601/605 (v.c) @ 40 MHz, RT602 or WTL3171 FPU
cpu3: 64K byte write-back, 32 bytes/line, sw flush: cache enabled
obio0 at mainbus0
clock0 at obio0 slot 0 offset 0x200000: mk48t08: hostid 71401a17
timer0 at obio0 slot 0 offset 0x300000: delay constant 18
zs0 at obio0 slot 0 offset 0x100000 level 12 softpri 6
zstty0 at zs0 channel 0 (console i/o)
zstty1 at zs0 channel 1
zs1 at obio0 slot 0 offset 0x0 level 12 softpri 6
kbd0 at zs1 channel 0: baud rate 1200
ms0 at zs1 channel 1: baud rate 1200
audioamd0 at obio0 slot 0 offset 0x500000 level 13 softpri 4
audio0 at audioamd0: full duplex
leds at obio0 slot 0 offset 0x600000 not configured
iommu0 at mainbus0 ioaddr 0xe0000000: version 0x1/0x0, page-size 4096, range 64MB
sbus0 at iommu0: clock = 20 MHz
dma0 at sbus0 slot 15 offset 0x81000: dma rev esc
esp0 at dma0 slot 15 offset 0x80000 level 4: ESP200, 25MHz, SCSI ID 7
scsibus0 at esp0: 8 targets, 8 luns per target
lebuffer0 at sbus0 slot 15 offset 0x40000: 128K memory
le0 at lebuffer0 slot 15 offset 0x60000 level 6: address 08:00:20:10:cc:6a
le0: 64 receive buffers, 16 transmit buffers
sparcvme0 at iommu0: version 0x0
vme0 at sparcvme0
eccmemctl0 at mainbus0 ioaddr 0x0: version 0x0/0x0
Kernelized RAIDframe activated
scsibus0: waiting 2 seconds for devices to settle...
st0 at scsibus0 target 1 lun 0: <ARCHIVE, VIPER 150  21531, -004> tape removable
st0: rogue, drive empty
st0: async, 8-bit transfers
sd0 at scsibus0 target 2 lun 0: <SEAGATE, ST41600N SUN1.3G, 0040> disk fixed
sd0: 1307 MB, 2099 cyl, 17 head, 75 sec, 512 bytes/sect x 2676846 sectors
sd0: sync (200.0ns offset 15), 8-bit (5.000MB/s) transfers
cd0 at scsibus0 target 6 lun 0: <SONY, CD-ROM CDU-8012, 3.1e> cdrom removable
cd0: async, 8-bit transfers
root device (default sd0a): 
dump device (default sd0b): 
file system (default generic): 
root on sd0a dumps on sd0b
root file system type: ffs
cpu0: booting secondary processors: cpu1 cpu2 cpu3
xcall(cpu1,0xf0261c98): couldn't ping cpus: cpu0 cpu2 cpu3
xcall(cpu1,0xf025bce0): couldn't ping cpus: cpu0 cpu2 cpu3
Async registers (mid 9): afsr=0<AFA=0>; afva=0x00
Async registers (mid 8): afsr=0<AFA=0>; afva=0x00
Async registers (mid 10): afsr=0<AFA=0>; afva=0x00
nmi_hard: SMP botch.cpu0: NMI: system interrupts: c0000<VME=0,SBUS=0,SC,T>

and then it just hangs. What can I do to find the problem?

-- Ragge