Subject: those sun4m system hangs
To: None <port-sparc@NetBSD.ORG>
From: Erik E. Fair <fair@atomic.clock.org>
List: port-sparc
Date: 04/10/1998 16:36:42
This afternoon, I tried to boot a kernel built from this morning's sup. It's
one of my configurations (ATOMIC) rather than GENERIC, and I will attach it
below. What's interesting about this one is that it died during autoconfig,
thus:
SPARCclassic, No Keyboard
ROM Rev. 2.9, 48 MB memory installed, Serial #153703.
Ethernet address 8:0:20:4:d3:67, Host ID: 80025867.
Boot device: /iommu/sbus/espdma@4,8400000/esp@4,8800000/sd@0,0 File and args:
>> NetBSD/sparc Secondary Boot, Revision 1.7
>> (root@atomic.clock.org, Wed Sep 24 09:30:35 PDT 1997)
Booting netbsd @ 0x4000
1245184+116184+144888+[78012+91922]=0x19d3a6
pmap_bootstrap: installing kernel page tables...done.
console is ttya
Copyright (c) 1996, 1997, 1998
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.3E (ATOMIC) #5: Fri Apr 10 14:13:29 PDT 1998
root@atomic.clock.org:/usr/src/sys/arch/sparc/compile/ATOMIC
real mem = 49967104
avail mem = 44560384
using 609 buffers containing 2494464 bytes of memory
bootpath: /iommu@0,10000000/sbus@0,10001000/espdma@4,8400000/esp@4,8800000/sd@0,0
mainbus0 (root): SUNW,SPARCclassic
cpu0 at mainbus0: TMS390S10 @ 50 MHz, on-chip FPU
cpu0: physical 4K instruction (32 b/l), 2K data (16 b/l): cache enabled
obio0 at mainbus0
clock0 at obio0 slot 0 offset 0x200000: mk48t08 (eeprom)
timer0 at obio0 slot 0 offset 0xd00000
Now, it should read:
timer0 at obio0 slot 0 offset 0xd00000 delay constant 23
zs0 at obio0 slot 0 offset 0x100000 level 12 softpri 6
[remainder elided...]
So, it would appear that during the initialization of the timer's delay
constant something goes awry (usual symptoms - power cycle required).
Charles, do you have the /dev/random stuff turned on in the kernels you are
using?
Erik E. Fair <fair@clock.org>
# $NetBSD: GENERIC,v 1.63 1998/03/21 11:15:25 pk Exp $
include "arch/sparc/conf/std.sparc"
maxusers 32
## System kernel configuration. See options(4) for more detail.
# Options for variants of the Sun SPARC architecure.
# We currently support three architecture types; at least one is required.
#options SUN4 # sun4/100, sun4/200, sun4/300
#options SUN4C # sun4c - SS1, 1+, 2, ELC, SLC, IPC, IPX, etc.
options SUN4M # sun4m - SS10, SS20, Classic, etc.
#options SUN4_MMU3L # 3-level MMU on sun4/400; (incomplete)
## System options specific to the sparc machine type
# Blink the power LED on some machines to indicate the system load.
#options BLINK
## Use a faster console than the PROM's slow drawing routines. Not needed
## for headless (no framebuffer) machines.
options RASTERCONSOLE # fast rasterop console
#### System options that are the same for all ports
## Root device configuration: change the ?'s if you are going to use a
## nonstandard root partition (other than where the kernel is booted from)
## and/or nonstandard root type (not ffs or nfs). Normally this can be
## automagically determined at boot time.
config netbsd root on ? type ?
## Virtual memory configuration. There are two choices, the old Mach
## based VM system, or the new UVM system.
options OLDVM # MACH VM
#options UVM # UVM VM
## System call tracing (see ktrace(1)).
options KTRACE
## Collect statistics on kernel malloc's and free's. This does have a
## significant performance hit on slower machines, so it is intended for
## diagnostic use only.
#options KMEMSTATS
## System V compatible IPC subsystem. (msgctl(2), semctl(2), and shmctl(2))
options SYSVMSG # System V message queues
options SYSVSEM # System V semaphores
options SYSVSHM # System V shared memory
#options SHMMAXPGS=1024 # 1024 pages is the default
## Loadable kernel module support; still under development.
#options LKM
## NFS boot options; default on sparc is the bootparam protocol
options NFS_BOOT_BOOTPARAM
#options NFS_BOOT_BOOTP
#options NFS_BOOT_DHCP
#### Debugging options
## The DDB in-kernel debugger runs at panic (unless DDB_ONPANIC=0), or at
## serial console break or keyboard reset, where the PROM would normally
## intercept. DDB_HISTORY_SIZE adds up/down arrow command history.
#options DDB # kernel dynamic debugger
#options DDB_HISTORY_SIZE=100 # enable history editing in DDB
#options DDB_ONPANIC # see also sysctl(8): `ddb.onpanic'
## You may also use gdb, on another computer connected to this machine over
## a serial port. Both KGDBDEV and KGDBRATE should be specified; KGDBDEV is
## a dev_t encoded device number of the serial port to use.
## (0xc01 = ttya, 0xc02 = ttyb.)
#options KGDB # support for kernel gdb
#options KGDBDEV=0xc01 # kgdb device number (this sample is `ttyb')
#options KGDBRATE=38400 # baud rate
## Compile the kernel with debugging symbols (`netbsd.gdb' is the debug file),
## such that gdb(1) can be used on a kernel coredump.
makeoptions DEBUG="-g"
## Adds code to the kernel that does internal consistency checks, and will
## cause the kernel to panic if corruption of internal data structures
## is detected.
options DIAGNOSTIC # extra kernel sanity checking
## Enable (possibly expensive) debugging code that may also display messages
## on the system console
options DEBUG
## Make SCSI error messages more verbose when explaining their meanings.
options SCSIVERBOSE
## `INSECURE' turns off the kernel security level (securelevel = 0 always).
## This allows writing to /dev/mem, loading kernel modules while multi-user,
## and other insecurities good only for development work. Do not use this
## option on a production machine.
#options INSECURE
## Allow non-root users to grab /dev/console with programs such as xconsole.
## `xconsole' therefore does not need setuid root with this option enabled.
#options UCONSOLE
## `FDSCRIPTS' allows non-readable but executable scripts by providing a
## pre-opened opaque file to the script interpreter. `SETUIDSCRIPTS',
## which implies FDSCRIPTS, allows scripts to be set-user-id using the same
## opaque file mechanism. Perl calls this "secure setuid scripts."
#options FDSCRIPTS
#options SETUIDSCRIPTS
## Options for compatibility with previous releases foreign system binaries.
## In the cases of COMPAT_SUNOS and COMPAT_SVR4, you may need to set up
## additional user-level utilities or system configuration files. See
## compat_sunos(8) and compat_svr4(8).
options COMPAT_43 # 4.3BSD system interfaces
options COMPAT_10 # NetBSD 1.0 binary compatibility
options COMPAT_11 # NetBSD 1.1 binary compatibility
options COMPAT_12 # NetBSD 1.2 binary compatibility
options COMPAT_13 # NetBSD 1.3 binary compatibility
options COMPAT_SUNOS # SunOS 4.x binary compatibility
options COMPAT_SVR4 # SunOS 5.x binary compatibility
options EXEC_ELF32 # Exec module for SunOS 5.x binaries.
## File systems. You probably need at least one of FFS or NFS.
file-system FFS # Berkeley Fast Filesystem
file-system NFS # Sun NFS-compatible filesystem client
file-system KERNFS # kernel data-structure filesystem
file-system NULLFS # NULL layered filesystem
file-system MFS # memory-based filesystem
file-system FDESC # user file descriptor filesystem
file-system UMAPFS # uid/gid remapping filesystem
#file-system LFS # Log-based filesystem (still experimental)
#file-system PORTAL # portal filesystem (still experimental)
file-system PROCFS # /proc
file-system CD9660 # ISO 9660 + Rock Ridge file system
#file-system UNION # union file system
file-system MSDOSFS # MS-DOS FAT filesystem(s).
## File system options.
options NFSSERVER # Sun NFS-compatible filesystem server
#options QUOTA # FFS quotas
#options FFS_EI # FFS Endian Independent support
options FIFO # POSIX fifo support (in all filesystems)
## Network protocol support. In most environments, INET is required.
options INET # IP (Internet Protocol) v4
#options TCP_COMPAT_42 # 4.2BSD IP implementation compatibility
options GATEWAY # packet forwarding ("router switch")
options MROUTING # packet forwarding of multicast packets
#options DIRECTED_BROADCAST # allow broadcasts through routers
#options NS # Xerox NS networking
#options NSIP # Xerox NS tunneling over IP
#options ISO,TPIP # OSI networking
#options EON # OSI tunneling over IP
#options CCITT,LLC,HDLC # X.25 packet switched protocol
options NETATALK # AppleTalk (over Ethernet) protocol
options NTP # Network Time Protocol in-kernel support
options PPS_SYNC # Add serial line synchronization for NTP
#options PFIL_HOOKS # Add pfil(9) hooks, intended for custom LKMs.
#options IPFILTER_LOG # Add ipmon(8) logging for ipfilter device
#options PPP_BSDCOMP # Add BSD compression to ppp device
#options PPP_DEFLATE # Add deflate (libz) compression to ppp device
#options PPP_FILTER # Add active filters for ppp (via bpf)
#### Main bus and CPU .. all systems.
mainbus0 at root
cpu0 at mainbus0
#### Bus types found on SPARC systems.
#sbus0 at mainbus0 # sun4c
obio0 at mainbus0 # sun4 and sun4m
#vme0 at mainbus0 # sun4
iommu0 at mainbus0 # sun4m
sbus0 at iommu0 # sun4m
#vme0 at iommu0 # sun4m
#### Standard system devices -- all required for a given architecture
## Auxiliary system registers on sun4c and sun4m
#auxreg0 at mainbus0 # sun4c
auxreg0 at obio0 # sun4m
## Power status and control register on Sun4m systems
power0 at obio0
## Mostek clock found on 4/300, sun4c, and sun4m systems.
## The Mostek clock NVRAM is the "eeprom" on sun4/300 systems.
#clock0 at mainbus0 # sun4c
clock0 at obio0 # sun4m
#clock0 at obio0 addr 0xf2000000 # sun4/300
## Intersil clock found on 4/100 and 4/200 systems.
#oclock0 at obio0 addr 0xf3000000 # sun4/200
#oclock0 at obio0 addr 0x03000000 # sun4/100
## Memory error registers.
#memreg0 at mainbus0 # sun4c
memreg0 at obio0 # sun4m
#memreg0 at obio0 addr 0xf4000000 # sun4/200 and sun4/300
#memreg0 at obio0 addr 0x04000000 # sun4/100
## Timer chip found on 4/300, sun4c, and sun4m systems.
#timer0 at mainbus0 # sun4c
timer0 at obio0 # sun4m
#timer0 at obio0 addr 0xef000000 # sun4/300
## EEPROM found on 4/100 and 4/200 systems. Note that the 4/300
## doesn't use this driver; the `EEPROM' is in the NVRAM on the
## Mostek clock chip on 4/300 systems.
#eeprom0 at obio0 addr 0xf2000000 # sun4/200
#eeprom0 at obio0 addr 0x02000000 # sun4/100
#### Serial port configuration
## Zilog 8530 serial chips. Each has two-channels.
## zs0 is ttya and ttyb. zs1 is the keyboard and mouse.
#zs0 at mainbus0 # sun4c
zs0 at obio0 # sun4m
#zs0 at obio0 addr 0xf1000000 level 12 flags 0x103 # sun4/200 and sun4/300
#zs0 at obio0 addr 0x01000000 level 12 flags 0x103 # sun4/100
zstty0 at zs0 channel 0 # ttya
zstty1 at zs0 channel 1 # ttyb
#zs1 at mainbus0 # sun4c
zs1 at obio0 # sun4m
#zs1 at obio0 addr 0xf0000000 level 12 flags 0x103 # sun4/200 and sun4/300
#zs1 at obio0 addr 0x00000000 level 12 flags 0x103 # sun4/100
kbd0 at zs1 channel 0 # keyboard
ms0 at zs1 channel 1 # mouse
#zs2 at obio0 addr 0xe0000000 level 12 flags 0x103 # sun4/300
#zstty2 at zs2 channel 0 # ttyc
#zstty3 at zs2 channel 1 # ttyd
#### Disk controllers and disks
#
## The following flags may be set for the NCR53c94 based esp driver:
## bits 0-7: disable disconnect/reselect for the corresponding target
## bits 8-15: disable synchronous negotiation for target [bit-8]
## sun4/300, sun4c, sun4m on-board SCSI, and FSBE/S SBus SCSI cards.
## Both `dma' and `esp' are needed in all cases.
## Two kinds of additional SBus SCSI interfaces are available. One uses
## "esp at sbus" like the sun4c on-board; the other uses "esp at dma".
## sun4/300 SCSI - an NCR53c94 or equivalent behind
## an LSI Logic DMA controller
#dma0 at obio0 addr 0xfa001000 level 4 # sun4/300
#esp0 at obio0 addr 0xfa000000 level 4 flags 0x0000 # sun4/300
dma0 at sbus0 slot ? offset ? # sun4c/sun4m
#esp0 at sbus0 slot ? offset ? flags 0x0000 # sun4c
esp0 at dma0 flags 0x0000 # sun4m
# FSBE/S SCSI
dma* at sbus? slot ? offset ? # SBus
esp* at sbus? slot ? offset ? flags 0x0000 # SBus (older proms)
esp* at dma? flags 0x0000 # SBus
scsibus* at esp?
## Qlogic ISP SBus SCSI Card
#isp* at sbus? slot ? offset ?
#scsibus* at isp?
## NCR5380-based "Sun SCSI 3" VME SCSI controller.
## This driver has several flags which may be enabled by OR'ing
## the values and using the "flags" directive.
## Valid flags are:
##
## 0x01 Use DMA (may be polled)
## 0x02 Use DMA completion interrupts
## 0x04 Allow disconnect/reselect
##
## E.g. the following would enable DMA, interrupts, and reselect:
## si0 at vme0 addr 0x200000 level 3 vect 0x40 flags 0x07
##
## By default, DMA is enabled in the driver.
#si0 at vme0 addr 0x200000 pri 2 vec 0x40
#scsibus* at si?
## NCR5380-based "SCSI Weird" on-board SCSI interface found
## on sun4/100 systems. The flags are the same as the "si"
## controller. Note, while DMA is enabled by default, only
## polled DMA works at this time, and reselects do not work
## on this particular controller.
#sw0 at obio0 addr 0x0a000000 level 3
#scsibus* at sw?
## These entries find devices on all SCSI busses and assign
## unit numbers dynamically.
sd* at scsibus? target ? lun ? # SCSI disks
st* at scsibus? target ? lun ? # SCSI tapes
cd* at scsibus? target ? lun ? # SCSI CD-ROMs
ch* at scsibus? target ? lun ? # SCSI changer devices
ss* at scsibus? target ? lun ? # SCSI scanners
uk* at scsibus? target ? lun ? # unknown SCSI
## Xylogics 753 or 7053 VME SMD disk controllers and disks, found
## on sun4 systems.
#xdc0 at vme0 addr 0xee80 pri 3 vec 0x44
#xdc1 at vme0 addr 0xee90 pri 3 vec 0x45
#xdc2 at vme0 addr 0xeea0 pri 3 vec 0x46
#xdc3 at vme0 addr 0xeeb0 pri 3 vec 0x47
#xd* at xdc? drive ?
## Xylogics 451 or 451 VME SMD disk controllers and disks, found
## on sun4 systems.
#xyc0 at vme0 addr 0xee40 pri 3 vec 0x48
#xyc1 at vme0 addr 0xee48 pri 3 vec 0x49
#xy* at xyc? drive ?
## Floppy controller and drive found on SPARCstations.
#fdc0 at mainbus0 # sun4c controller
fdc0 at obio0 # sun4m controller
fd* at fdc0 # the drive itself
## A disk-like interface to files. Can be used to create floppy, CD,
## miniroot images, etc.
pseudo-device vnd 4
## Concatenated and striped disks; with this, you can create a software-based
## disk array similar to a "RAID 0" setup. See ccd(4).
pseudo-device ccd 4
## Memory disk device, used on boot floppies with compressed
## kernel-plus-root-disk images.
#pseudo-device md 1
#### Network interfaces
## LANCE Ethernet - an AMD 7990 LANCE behind specialized DMA glue
## Three flavors of additional SBus ethernets are available. One attaches
## directly like the sun4c on-board, one uses the ledma device like the
## sun4m on-board, and one uses the lebuffer device.
#le0 at obio0 addr 0xf9000000 level 6 # sun4/300
#le0 at sbus0 slot ? offset ? # sun4c on-board
ledma0 at sbus0 slot ? offset ? # sun4m on-board
le0 at ledma0 # sun4m on-board
le* at sbus? slot ? offset ? # SBus
ledma* at sbus? slot ? offset ? # SBus
le* at ledma? # SBus
lebuffer0 at sbus? slot ? offset ? # SBus
le0 at lebuffer? # SBus
lebuffer* at sbus? slot ? offset ? # SBus
le* at lebuffer? # SBus
## sun4/100 and sun4/200 Ethernet - an Intel 82586 on-board
## or on a Multibus/VME card.
#ie0 at obio0 addr 0xf6000000 level 6 # sun4/200 on-board
#ie0 at obio0 addr 0x06000000 level 6 # sun4/100 on-board
#ie1 at vme0 addr 0xe88000 pri 3 vec 0x75 # VME
#ie2 at vme0 addr 0x31ff02 pri 3 vec 0x76 # VME
#ie3 at vme0 addr 0x35ff02 pri 3 vec 0x77 # VME
#ie4 at vme0 addr 0x2dff02 pri 3 vec 0x7c # VME
## Loopback network interface; required
pseudo-device loop
## SLIP and CSLIP interfaces, for IP over a serial line.
#pseudo-device sl 2
## PPP, the successor to SLIP. See pppd(8).
pseudo-device ppp 2
## Starmode Radio IP, a special hardware network device.
pseudo-device strip 1
## Network "tunnel" device, allowing protocol stacks to run in the userland.
## This is used by the third-party user-mode "ppp" program, and others.
pseudo-device tun 4
## Berkeley Packet Filter, required to run RARPD. A generic C-language
## interface that allows selective examining of incoming packets.
pseudo-device bpfilter 8
## IP Filter, used in firewall and NAT applications. See ipnat(8) for
## one example of the use of the IP Filter.
pseudo-device ipfilter
#### Audio and video devices
## /dev/audio support (`audioamd' plus `audio')
##
#audioamd0 at mainbus0 # sun4c
#audioamd0 at obio0 # sun4m
audioamd0 at sbus0 slot ? offset ? # sun4m
audio* at audioamd0
## Sun "bwtwo" black and white framebuffer, found on sun4, sun4c, and sun4m
## systems. If your sun4 system has a cgfour installed in the P4 slot,
## the P4 entries for "bwtwo" will attach to the overlay plane of the
## "cgfour".
bwtwo0 at sbus0 slot ? offset ? # sun4c and sun4m
bwtwo* at sbus? slot ? offset ? #
#bwtwo0 at obio0 addr 0xfd000000 level 4 # sun4/200
#bwtwo0 at obio0 addr 0xfb300000 level 4 # sun4/300 in P4 slot
#bwtwo0 at obio0 addr 0x0b300000 level 4 # sun4/100 in P4 slot
## Sun "cgtwo" VME color framebuffer
#cgtwo0 at vme0 addr 0x400000 pri ? vec 0xa8
## Sun "cgthree" Sbus color framebuffer
cgthree0 at sbus? slot ? offset ?
cgthree* at sbus? slot ? offset ?
#cgthree0 at obio? slot ? offset ? # sun4m
## Sun "cgfour" color framebuffer with overlay plane. See above comment
## regarding overlay plane.
#cgfour0 at obio0 addr 0xfb300000 level 4 # sun4/300 P4
#cgfour0 at obio0 addr 0x0b300000 level 4 # sun4/100 P4
## Sun "cgsix" accelerated color framebuffer.
cgsix0 at sbus? slot ? offset ?
cgsix* at sbus? slot ? offset ?
#cgsix0 at obio0 addr 0xfb000000 level 4 # sun4/300 P4
#cgsix0 at obio0 addr 0x0b000000 level 4 # sun4/100 P4
## Sun "cgeight" 24-bit framebuffer
#cgeight0 at obio0 addr 0xfb300000 level 4 # sun4/300 P4
#cgeight0 at obio0 addr 0x0b300000 level 4 # sun4/100 P4
## Sun "tcx" accelerated color framebuffer.
#tcx0 at sbus? slot ? offset ?
#tcx* at sbus? slot ? offset ?
# Sun "cgfourteen" accelerated 24-bit framebuffer.
#cgfourteen0 at obio0 # sun4m
### Other device configuration
## Pseudo ttys, required for network logins and programs like screen.
## 32 is a good number for average systems; you may have as many as you
## like, though 256 is more or less the upper limit. Increasing this
## number still requires you to run /dev/MAKEDEV to create the files
## for the ptys.
pseudo-device pty 32 # pseudo-ttys (for network, etc.)
## Random device, used to implement /dev/random (a source of random noise),
## and generate randomness for some kernel formulae.
## THIS DEVICE IS EXPERIMENTAL; use at your own risk.
pseudo-device rnd