Subject: SMP on AlphaServer2000 causes machine check
To: None <port-alpha@NetBSD.org>
From: Jochen Kunz <jkunz@unixag-kl.fh-kl.de>
List: port-alpha
Date: 08/04/2003 10:27:57
Hi.

I have this nice AlphaServer2000 4/200:

P00>>>sh conf
                        Digital Equipment Corporation
                           AlphaServer 2000 4/200

SRM Console V5.3-2              VMS PALcode V5.56-7, OSF PALcode
V1.45-12

Component       Status          Module ID
CPU 0              P            B2020-AA DECchip (tm) 21064-3
CPU 1              P            B2020-AA DECchip (tm) 21064-3
Memory 0           P            B2023-BA 512 MB
Memory 1           P            B2023-BA 128 MB
I/O                             B2111-AA
                                dva0.0.0.1000.0         RX26/RX23

 Slot   Option                  Hose 0, Bus 0, PCI
   1    NCR 53C810              pka0.7.0.1.0            SCSI Bus ID 7
                                dka600.6.0.1.0          SEAGATE
SX4464524
   2    Intel 82375                                     Bridge to Bus 1,
EISA
   6    DECchip 21140-AA        ewa0.0.0.6.0          =20
00-AA-BB-CC-DD-EE
   8    DEC PCI FDDI            fwa0.0.0.8.0          =20
00-AA-BB-CC-DD-EE

 Slot   Option                  Hose 0, Bus 1, EISA
P00>>>
P00>>>sh dev
dka600.6.0.1.0             DKA600            SEAGATE SX4464524  B410
dva0.0.0.1000.0            DVA0                      RX26/RX23
ewa0.0.0.6.0               EWA0              00-AA-BB-CC-DD-EE
fwa0.0.0.8.0               FWA0              00-AA-BB-CC-DD-EE
pka0.7.0.1.0               PKA0                  SCSI Bus ID 7

I build "The World" on this machine when it had only a single CPU
without trouble. I got an additional CPU yesterday, pluged it in, booted
a MP kernel and got a machine check. The machine runs fine with two CPUs
and a non-MP kernel. I instaled Tru64 5.1 on it and it runs fine. So
this looks like a NetBSD problem.=20
What to do now to get SMP working?=20

P00>>>b -fl '-s'
(boot dka600.6.0.1.0 -flags -s)
block 0 of dka600.6.0.1.0 is a valid boot block
reading 15 blocks from dka600.6.0.1.0
bootstrap code read in
base =3D 200000, image_start =3D 0, image_bytes =3D 1e00
initializing HWRPB at 2000
initializing page table at 27ff0000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code

NetBSD/alpha 1.6R FFS Primary Bootstrap
Jumping to entry point...

NetBSD/alpha 1.6R Secondary Bootstrap, Revision 1.13
(toor@Zimbo, Fri May 16 10:18:17 CEST 2003)

VMS PAL rev: 0x4000700010538
OSF PAL rev: 0x4000c0002012d
Switch to OSF PAL code succeeded.

Boot flags: -s
6806704+379448 [399312+241227]=3D0x777148

Entering netbsd at 0xfffffc0000301460...
consinit: not using prom console
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.6U (GENERIC.MP) #0: Sat Jul 19 09:05:53 UTC 2003
        jkunz@TheGromble:/usr/src/src-current/objdir-alpha/sys/arch/alpha=
/compile/GENERIC.MP
AlphaServer 2000 4/200, 190MHz, s/n ab12345678
8192 byte page size, 2 processors.
total memory =3D 640 MB
(2120 KB reserved for PROM, 637 MB used by NetBSD)
avail memory =3D 585 MB
using 4095 buffers containing 32760 KB of memory
mainbus0 (root)
cpu0 at mainbus0: ID 0 (primary), 21064-1
cpu0: Architecture extensions: fffffc00009d1440
cpu1 at mainbus0: ID 1, 21064-1
cpu1: Architecture extensions: fffffc0000011000
ttwoga0 at mainbus0
ttwopci0 at ttwoga0 hose 0: T2 Gate Array rev. 1
sableio0 at ttwopci0 bus 0: Sable STDIO module
pckbc0 at sableio0 port 0x60
fdc1 at sableio0 port 0x3f0
fdc1: interrupting at T2 irq 7
fd0 at fdc1 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
com0 at sableio0 port 0x3f8: ns16550a, working fifo
com0: console
com0: interrupting at T2 irq 15
com1 at sableio0 port 0x2f8: ns16550a, working fifo
com1: interrupting at T2 irq 8
lpt0 at sableio0 port 0x3bc
lpt0: interrupting at T2 irq 9
pci0 at ttwopci0 bus 0
pci0: i/o space, memory space enabled
siop0 at pci0 dev 1 function 0: Symbios Logic 53c810 (fast scsi)
siop0: interrupting at T2 irq 1
scsibus0 at siop0: 8 targets, 8 luns per target
pceb0 at pci0 dev 2 function 0: Intel 82375EB/SB PCI-EISA Bridge (PCEB)
(rev. 0x03)
tlp0 at pci0 dev 6 function 0: DECchip 21140A Ethernet, pass 2.2
tlp0: interrupting at T2 irq 0
tlp0: Ethernet address 00:AA:BB:CC:DD:EE
nsphy0 at tlp0 phy 1: DP83840 10/100 media interface, rev. 1
nsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fpa0 at pci0 dev 8 function 0: DEC DEFPA PCI FDDI DAS Controller
fpa0: FDDI address 00:AA:BB:CC:DD:EE, FW=3D2.46, HW=3D0, SMT V7.2
fpa0: FDDI Port[A] =3D A (PMD =3D ANSI Multi-Mode), FDDI Port[B] =3D B (P=
MD =3D
ANSI Multi-Mode)
fpa0: interrupting at T2 irq 5
eisa0 at pceb0
isa0 at pceb0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
spkr0 at pcppi0
isabeep0 at pcppi0
mcclock0 at isa0 port 0x70-0x71: mc146818 or compatible
Kernelized RAIDframe activated
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 6 lun 0: <SEAGATE, SX4464524, B410> disk fixed
sd0: 44884 MB, 9996 cyl, 28 head, 328 sec, 512 bytes/sect x 91923356
sectors
sd0: sync (100.00ns offset 8), 8-bit (10.000MB/s) transfers, tagged
queueing
root on sd0a dumps on sd0b
root file system type: ffs

unexpected machine check:

    mces    =3D 0x1
    vector  =3D 0x660
    param   =3D 0xfffffc0000006400
    pc      =3D 0xfffffc0000300734
    ra      =3D 0xfffffc0000300724
    code    =3D 0x10000008a
    curlwp =3D 0x0

panic: machine check
Stopped at      netbsd:cpu_Debugger+0x4:        ret     zero,(ra)
db{1}> t
cpu_Debugger() at netbsd:cpu_Debugger+0x4
panic() at netbsd:panic+0x180
machine_check() at netbsd:machine_check+0x2a8
dec_2100_a500_machine_check() at netbsd:dec_2100_a500_machine_check+0x40
interrupt() at netbsd:interrupt+0x228
XentInt() at netbsd:XentInt+0x1c
--- interrupt (from ipl 0) ---
idle() at netbsd:idle+0x64
idle() at netbsd:idle+0x54
--- root of call graph ---
db{1}>=20
--=20


tsch=FC=DF,
       Jochen

Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/