Subject: NetBSD/sparc sun4
To: None <port-sparc@netbsd.org>
From: Theo de Raadt <deraadt@fsa.ca>
List: port-sparc
Date: 09/26/1994 02:08:15
Weee..

I have managed to merge Chuck Cranor's sun4/300 diffs into
NetBSD/sparc.  I changed numerous things so that I can compile a
single kernel which will boot and run on both sun4 and sun4c machines
(and sun4m eventually).  That's a rather major difference from what
Chuck did -- I ended up generating about 3-4x as many diffs as he
did. I'm very glad that he did the most machine-dependent diffs,
though.

There should be no binary incompatibility issues whatsoever.

The major differences I had to face were: 8192 byte pagesize instead
of 4096 byte pagesize, stupid old rom, no direct configuration of
devices possible.

Here's a closer look:

Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.

NetBSD 1.0A (TDRN) #17: Mon Sep 26 01:22:59 MDT 1994
    deraadt@croc:/usr/src/sys/arch/sparc/compile/TDRN
real mem = 8257536
avail mem = 6414336
using 50 buffers containing 409600 bytes of memory
mainbus0 (root)
cpu0 at mainbus0: SUN-4/300 series (L64812 or ACT8847 FPU)
cpu0: cache chip bug; trap page uncached
cpu0: 131072 byte write-through, 16 bytes/line, sw flush cache enabled
obio0 at mainbus0
clock0 at obio0 addr f2000000: mk48t02 (eeprom)
timer0 at obio0 addr ef000000
memreg0 at obio0 addr f4000000
zs0 at obio0 addr f1000000 pri 12, softpri 6
zs0a: console i/o
zs1 at obio0 addr f0000000 pri 12, softpri 6
le0 at obio0 addr f9000000 pri 6: hardware address 08:00:20:08:dc:05
nfs_boot: using network interface 'le0'
nfs_boot: client=0xc0c56050, server=0xc0c56001
nfs_boot: hostname=frog.fsa.ca
root on croc:/export/root/frog
swap on croc:/export/swap/frog

sysctl shows us:

hw.machine = sparc
hw.model = SUN-4/300 series (L64812 or ACT8847 FPU)
hw.ncpu = 1
hw.byteorder = 4321
hw.physmem = 8257536
hw.usermem = 6135808
hw.pagesize = 8192

(Compare this later to what a sun4c says:
hw.machine = sparc
hw.model = Sun 4/40 (MB86900/1A or L64801 @ 25 MHz, WTL3170/2 FPU)
hw.ncpu = 1
hw.byteorder = 4321
hw.physmem = 12517376
hw.usermem = 9658368
hw.pagesize = 4096

At the moment I know of a few bugs:

1. some strange behaviours in the serial driver
2. no VME scsi card driver
3. didn't attempt to make the 4/300's esp SCSI work.
4. no IE driver (the 4/300 has lance ethernet). An IE driver will be
   needed for the 4/110, 4/200, or 4/400 machines.
5. a funky bug in libkvm

(This will not make it into NetBSD 1.0, of course.)