Subject: Re: 2.0 doesn't boot on 4/300
To: NetBSD port-sparc mailing list <port-sparc@netbsd.org>
From: Julian Coleman <jdc@coris.org.uk>
List: port-sparc
Date: 01/22/2005 10:05:58
>                  I added some debug and see that it never gets past the call
> to spl0() at the bottom of cpu_configure().  With some help (thanks, uwe!), I
> see from ddb, that intrcnt+10 is increasing rapidly.  I presume this is level
> 4 interrupts?

I did some more debugging today.  I added a printf() to all the interrupt
handlers that I thought were in use.  dmesg is:

  NetBSD 2.0.1 (SUN4300) #12: Sat Jan 22 09:37:19 GMT 2005
          root@sparky.coris.org.uk:/usr/obj/sparc/usr/cvs/netbsd-2-0/src/sys/arch/sparc/compile/SUN4300
  total memory = 90048 KB
  avail memory = 85304 KB
  bootpath: /obio0/esp0/sd@1,0
  mainbus0 (root): SUN-4/300 series: hostid 230046e3
  cpu0 at mainbus0: cache chip bug; trap page uncached: CY7C601 @ 25 MHz, L64812 or ACT8847 FPU
  cpu0: 128K byte write-back, 16 bytes/line, sw flush: cache enabled
  obio0 at mainbus0
  timer0 at obio0 addr 0xef000000: delay constant 10
  dma0 at obio0 addr 0xfa001000 level 4: DMA rev 0
  le0 at obio0 addr 0xf9000000 level 6: address 08:00:20:09:6c:af
  le0: 8 receive buffers, 2 transmit buffers
  esp0 at obio0 addr 0xfa000000 level 4 : ESP100A, 24MHz, SCSI ID 7
  scsibus0 at esp0: 8 targets, 8 luns per target
  clock0 at obio0 addr 0xf2000000: mk48t02
  memreg0 at obio0 addr 0xf4000000
  zs0 at obio0 addr 0xf1000000 level 12 softpri 6
  zstty0 at zs0 channel 0 (console i/o)
  zstty1 at zs0 channel 1
  zs1 at obio0 addr 0xf0000000 level 12 softpri 6
  kbd0 at zs1 channel 0: baud rate 1200
  ms0 at zs1 channel 1: baud rate 1200
  zs2 at obio0 addr 0xe0000000 level 12 softpri 6
  zstty2 at zs2 channel 0
  zstty3 at zs2 channel 1
  sparcvme0 at mainbus0
  vme0 at sparcvme0

And from debug I added to intr_establish(), I see:

  Establishing interrupt for level 10 with function 0xf021ccac (clockintr_4)
  Establishing interrupt for level 14 with function 0xf021ccdc (statintr_4)
  Establishing interrupt for level 6 with function 0xf00b0224 (am7990_intr)
  Establishing interrupt for level 4 with function 0xf00b6804 (ncr53c9x_intr)
  Establishing interrupt for level 12 with function 0xf0225e28 (zshard)

So, with printf()'s at the beginning of each of these functions, I expected
to see ncr53c9x_intr() being called as intrcnt+10 increased.  However, I only
see the printf() from zshard() when I hit break.  So, which interrupt handler
is being called at level intrcnt+10?

Thanks,

J

-- 
  My other computer also runs NetBSD    /        Sailing at Newbiggin
        http://www.netbsd.org/        /   http://www.newbigginsailingclub.org/