Subject: 1.4/1.4.2 install kernels break on a Sparc Classic
To: None <port-sparc@netbsd.org>
From: Albert Dvornik <bert@gsilumonics.com>
List: port-sparc
Date: 08/17/2000 11:47:02
I've tried to install NetBSD/Sparc on a Sparc Classic and am running
into a kernel fault booting the install media.  I tried to check the
mailing list archive and the PR database, and didn't find anything
useful.

Unfortunately, I don't have any familiarity with *BSD kernels or finer
points of Sparc assembly, so I wasn't able to get far debugging this.
So I really hope I'm doing something horribly stupid and that this'll
be trivial to get around, in which case I apologize for the waste of
everyone's inbox space. >=)

FWIW, the classic has 24MB of memory (yes, that's 6 4MB SIMMs),
selftest-#megs is set to 24, and the test passes fine.

Here is what I've tried:

(1) booting off of NetBSD/sparc 1.4.2 installation CD-ROM:

    Fails with a kernel data fault, apparently on a null pointer
    dereference inside uvm_pagealloc_strat.
    (Full log appended below.)

    Booting off of NetBSD/sparc 1.4.2 installation floppies (taken
    from the CD-ROM) fails completely identically, of course...

(2) booting off of NetBSD/sparc 1.4.2 "fixed" installation floppy:

    I tried the floppy image from
    ftp://ftp.netbsd.org/pub/NetBSD/arch/sparc/1.4.2-bootfs/syboot-142.fs.gz

    It fails identically (except that 5th argument to main() and 6th
    argument to startmap_done() now live in the 0x300000 address range
    rather than 0x700000).

(3) booting off of NetBSD/sparc 1.4 installation CD-ROM:

    Fails almost identically: same fault at the same address, with the
    same stack trace except for address arguments.

I would have considered trying 1.4.3_ALPHA, but the fact that 1.4
doesn't work either strikes me as a possibly bad omen.  So:

(A) Am I missing anything?
(B) Do people think using 1.4.3_ALPHA will work any better?
(C) Do people think netbooting 1.4.2 will work any better?
(D) Should I submit a PR?

--Albert Dvornik
  <bert@gsilumonics.com>



PS.  Here's the output from booting the 1.4.2 CD-ROM:

Rebooting with command: cdrom                                         
Boot device: /iommu/sbus/espdma@4,8400000/esp@4,8800000/sd@6,0:d
	File and args: 
>> NetBSD/sparc Secondary Boot, Revision 1.8
>> (toddpw@threepio.toddpw.net, Fri Mar  3 17:51:31 PST 2000)
open: netbsd: No such file or directory: trying netbsd.gz...
Booting netbsd.gz @ 0x4000
1056768+1738008+146404+[62268+71473]=0x2f2b71
OBP version 3, revision 2.9 (plugin rev 2)
[ preserving 133748 bytes of netbsd a.out symbol table ]
console is ttya
Copyright (c) 1996, 1997, 1998, 1999, 2000
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.
 
data fault: pc=0xf00b8f9c addr=0x0 sfsr=1a6<PERR=0,LVL=1,AT=5,FT=1,FAV,OW>
panic: kernel fault
Stopped in  at  _Debugger+0x4:  jmpl            [%o7 + 0x8], %g0
db> x/i 0xf00b8f9c
_uvm_pagealloc_strat+0x1a0:     st              %o0, [%o1 + %g0]
db> t
_mem_access_fault4m(0x0, 0x1a6, 0x0, 0xf010dcd0, 0xf03232c8, 0xf0002000)
        at _mem_access_fault4m+0x308
memfault_sun4m(0x0, 0x0, 0xf02cfa74, 0x1409, 0xf02cf800, 0xffffffff)
        at memfault_sun4m+0xe4
_uvm_map(0xf03b3000, 0x3f5000, 0x0, 0x0, 0x0, 0x0) at _uvm_map+0x478
_uvm_km_alloc1(0xf02aeed8, 0x3f5000, 0x1, 0x0, 0x0, 0xf00f44e8)
        at _uvm_km_alloc1+0xf4
_kmeminit(0xf03f5000, 0xfe000000, 0xf02ca018, 0x1, 0xf03f41d4, 0xf02c9fa8)
        at _kmeminit+0x10
_uvm_init(0xf0110400, 0x1, 0xf0002000, 0xf010df20, 0xf010df18, 0x8a9)
        at _uvm_init+0x68
_main(0x0, 0xf02c8e70, 0xf00021b8, 0xf010e0a3, 0x713848, 0x18)
        at _main+0x34
startmap_done(0x0, 0x50, 0x0, 0xe1d79654, 0x2f2b71, 0x709728)
        at startmap_done+0x1cc