Subject: Re: Current kernels hanging in _splnone() on a /240?
To: None <port-pmax@NetBSD.ORG>
From: Marc Gutschner <Marc.Gutschner@Frankfurt.NetSurf.DE>
List: port-pmax
Date: 12/07/1999 00:30:12
Toru Nishimura wrote:
> 
[...]
> 
> According to the symptoms, your /240 kernel mishandles interrupts from
> TC option cards, either HX or PMAD, even both.  Is it possible to test

Mmhhmmm, strange... Does this point to broken hardware? I've been
running a 1.4.1 kernel for about 20 hours without any problems - but
then the machine crashed while running the 'daily' cron job with the
following message:

    panic: trap: reserved instruction in kernel mode
    status=0x8fc10, cause=0x10000028, epc=0x8011ff78, vaddr=0x4536c00
    pid=998 cmd=netstat usp=0x7ffff188 ksp=0x8002fee0
    panic: trap

> the machinary to boot w/ no TC option card, or either of two?

I've tried your kernel with both a CFB and a SFB. The good news is that
with borh it gets past the point where my kernel hangs. The boot
messages are as follows:

  [ usual copyright message ]
  DECstation 5000/240 (3MAXPLUS)
  total memory = 112 MB
  avail memory = 101 MB
  using 1459 buffers containing 5836 KB of memory
  mainbus0 (root)
  cpu0 at mainbus0
  cpu0: MIPS R3000 CPU Rev. 3.0 with MIPS R3010 FPC, Rev. 4.0
  cpu0: 64KB Instruction, 64KB Data, direct mapped cache
  tc0 at mainbus0: 25MHz clock
  ioasic0 at tc0 slot 3 offset 0x0
  le0 at ioasic0 offset 0xc0000: address 08:00:2b:30:a7:06
  le0 32 receive buffers, 8 transmit buffers
  zsc0 at ioasic0 offset 0x100000
  vsms0 at zsc0 channel 0
  wsmouse0 at vsms0 mux 0
  zstty0 at zsc0 channel 1
  zsc1 at ioasic0 offset 0x180000
  lkkbd0 at zsc1 channel 0
  wskbd0 at lkkbd0 (mux 1 ignored for console): console keyboard
  zstty1 at zsc1 channel 1
  mcclock0 at ioasic0 offset 0x200000: mc146818 or compatible
  asc0 at ioasic0, offset 0x300000: NCR53C94, 25MHz, SCSI ID 7
  scsibus0 at asc0: 8 targets, 8 luns per target
  le1 at tc0 slot 1 offset 0x0: address 08:00:2b:1a:c0:1c
  le1 32 receive buffers, 8 transmit buffers
  sfb0 at tc0 slot 0 offset 0x0: 1280 x 1024, 8bpp
  wsdisplay at sfb0: console (std, vt100 emulation), using wskbd0
  scsibus0: waiting 2 seconds for devices to settle
  biomask e0200 netmask e1300 ttymask e1bc0
  boot device: <unknown>
  root device:
               ^-- and here it sits and doesn't accept any input from
the keyboard :-( This also happens with either a CX or HX board...

With the 1.4.1 I get the following startup messages:

  NetBSD 1.4.1 (INSTALL) #23: Wed Oct 13 09:49:27 EST 1999
      root@vlad:/usr/src/sys/arch/pmax/compile/INSTALL
  DECstation 5000/240 (3MAXPLUS)
  real mem  = 117440512
  avail mem = 101158912
  using 2867 buffers containing 11743232 bytes of memory
  mainbus0 (root)
  cpu0 at mainbus0: 
  cpu0: MIPS R3000 CPU Rev. 3.0 with MIPS R3010 FPC   Rev. 4.0
  cpu0: 64kb Instruction, 64kb Data, direct mapped cache
  tc0 at mainbus0: 25 MHz clock
  ioasic0 at tc0 slot 3 offset 0x0
  le0 at ioasic0 offset 0xc0000: address 08:00:2b:30:a7:06
  le0: 32 receive buffers, 8 transmit buffers
  scc0 at ioasic0 offset 0x100000
  scc1 at ioasic0 offset 0x180000
  mcclock0 at ioasic0 offset 0x200000: mc146818 or compatible
  asc0 at ioasic0 offset 0x300000: target 7
  sfb0 at tc0 slot 1 offset 0x0: (1280x1024x8) (console)
  le1 at tc0 slot 0 offset 0x0: address 08:00:2b:1a:c0:1c
  le1: 32 receive buffers, 8 transmit buffers
  Beginning old-style SCSI device autoconfiguration
  boot device: <unknown>
  nfs_boot: trying DHCP/BOOTP

  [ error messages because the kernel tries le0 first... ]

  root device (default le0): le1
  dump device: 
  file system (default nfs): 

  [ boot proceeds normally ]

Now, just to round off this parade of message transcripts, the kernel I
rolled myself prints the following before going to Never-never-land:

  [ well known copyright message... ]
  DECstation 5000/240 (3MAXPLUS)
  total memory = 112 MB
  avail memory = 102 MB
  using 1459 buffers containing 5836 KB of memory
  mainbus0 (root)
  cpu0 at mainbus0
  cpu0: MIPS R3000 CPU Rev. 3.0 with MIPS R3010 FPC Rev. 4.0
  cpu0: 64KB Instruction, 64KB Data, direct mapped cache
  tc0 at mainbus0: 25 MHz clock
  ioasic0 at tc0 slot 3 offset 0x0
  le0 at ioasic0 offset 0xc0000: address 08:00:2b:30:a7:06
  le0: 32 receive buffers, 8 transmit buffers
  scc0 at ioasic0 offset 0x100000
  scc1 at ioasic0 offset 0x180000
  mcclock0 at ioasic0 offset 0x200000: mc146818 or compatible
  asc at ioasic0 offset 0x300000 not configured
  sfb0 at tc0 slot 1 offset 0x0: 1280x1024x8 (console)
  le1 at tc0 slot 0 offset 0x0: address 08:00:2b:1a:c0:1c
  le1: 32 receive buffers, 8 transmit buffers
  [ and here it just hangs ]

Note that I switched around the TC options while doing some experiments.
But with my kernel it doesn't matter where I put the HX board - it will
always hang just after entering _splnone() from autoconf.c right before
getting to the configure_scsi :-( The source I used is -current as of
December 5th, 22:23 CET...

Does this info provide any insight to the pmax wizards out there? I
would love to get this machine back to action since a /240 is a terrible
thing to waste :-)

Oh, just as an additional "data point": I've compiled my own kernel with
a 1.4.1 kernel running in a 1.4 user land - if this makes any
difference...

MTIA,
Marc