Subject: KA650 support broken in -current?
To: None <port-vax@NetBSD.ORG>
From: Tom Ivar Helbekkmo <tih+mail@Hamartun.Priv.NO>
List: port-vax
Date: 05/14/1998 19:53:10
I'm resending this, in the hope that the lack of response last time
wasn't an indication that nobody's running -current on a 650 _and_
that nobody's got any good ideas for me to try...  :-)

I'm unable to get a current kernel to boot on my KA650...  It's
currently running a snapshot of current from sometime in February,
built from the tarballs of either the 14th or the 21st (I can't
remember now which date I actually fetched them, I'm afraid), so it
was all right back then.  I first tried to upgrade to the April 11th
tarballs, and when that failed, I waited a couple of weeks, and
fetched the April 25th kit.  I now have systems built from that
distribution running on my Sparcstation 2 and on my old i386 box, but
am unable to get a VAX kernel to boot.

If I build a kernel without UVM, as before, it merely prints out the
copyright banner and then executes a HALT instruction.  If I build it
with UVM, it gets a bit further: my normal configuration will then go
into a hang after it (correctly) identifies the CPU and memory, the
backplane and Q22 bus.  If I strip down the configuration, removing
support for all devices except what absolutely must be there to get a
compilable, theoretically runnable kernel, it instead executes a HALT
instruction at (approximately) the same time.

It seems something broke the KA650 support in the last two or three
months.  Is anyone running a fresh current on this processor?  Could
it be that something happened during the integration of UVM support?
I'll happily test any ideas anyone might have...

Oh, incidentally, there's one file that (for the April 25th tar balls,
anyway) needs to be compiled without -Werror, because of a conflict
between a set of common declarations of certain support functions, and
the special, static, inlined ones in the VAX port.  It looked
harmless, so I just built it thus:

cc  -O2  -I. -I../../../../arch -I../../../.. -nostdinc -DVAX630 -DVAX650 -DKTRACE -DDIAGNOSTIC -DGATEWAY -DINET -DFFS_EI -DFIFO -DNFSSERVER -DFDSCRIPTS -DSETUIDSCRIPTS -DSYSVMSG -DSYSVSEM -DSYSVSHM -DSHMMAXPGS="0x1000" -DSHMSEG="0x20" -DCOMPAT_43 -DCOMPAT_11 -DCOMPAT_12 -DCOMPAT_13 -DLKM -DMAXUSERS=16 -D_KERNEL  -D_VAX_INLINE_  -c ../../../../ufs/ffs/ffs_bswap.c
In file included from machine/param.h:43,
                 from ../../../../sys/param.h:126,
                 from ../../../../ufs/ffs/ffs_bswap.c:38:
machine/macros.h:53: warning: static declaration for `_remque' follows non-static
machine/macros.h:60: warning: static declaration for `_insque' follows non-static
machine/macros.h:67: warning: static declaration for `bcopy' follows non-static
machine/macros.h:76: warning: static declaration for `bzero' follows non-static
machine/macros.h:87: warning: static declaration for `bcmp' follows non-static
machine/macros.h:110: warning: static declaration for `scanc' follows non-static
machine/macros.h:120: warning: static declaration for `skpc' follows non-static

For reference, here's my configuration file:

#
#	LUDWIG, a KA650 with 16MB RAM
#

include		"arch/vax/conf/std.vax"

# Here are all different supported CPU types listed.
#options 	"VAX8600"
#options 	"VAX8200"
#options 	"VAX780"
#options 	"VAX750"
options         "VAX630"	# MV II
options         "VAX650"	# MV III, 3600, 3800, 3900
#options 	"VAX410"	# VS 2000
#options 	"VAX43"		# VS 3100/76

# Max users on system; this is just a hint
maxusers	16

# Kernel compiled-in symbolic debugger & system call tracer
#options 	DDB
#options 	DDB_HISTORY_SIZE=20
#options 	DDB_ONPANIC=0
options 	KTRACE		# system call tracing, a la ktrace(1)
options 	KMEMSTATS	# kernel memory statistics (vmstat -m)
options 	DIAGNOSTIC	# cheap kernel consistency checks
#options 	DEBUG		# expensive debugging checks/support
#options 	SCSIVERBOSE	# Verbose SCSI errors

# Network support
options 	GATEWAY
options 	INET

#options 	DFLDSIZ="(24*1024*1024)"	# default is 16 megabytes
#options 	DFLSSIZ="(8*1024*1024)"		# default is 512 kilobytes

options 	NTP		# Kernel PLL for xntpd

# All supported filesystem types
file-system 	FFS
#file-system 	LFS
file-system 	MFS
file-system 	NFS
file-system 	CD9660
#file-system 	FDESC
file-system 	KERNFS
file-system 	NULLFS
file-system	PORTAL
file-system 	PROCFS
#file-system 	UMAPFS
file-system 	UNION

#options 	QUOTA
options 	FFS_EI		# FFS Endian Independant support
options 	FIFO
options 	NFSSERVER
#options 	NFS_BOOT_BOOTPARAM	# Use the Sun way for netbooting.

#options 	UVM

# executable+unreadable and secure+setuid script options
options 	FDSCRIPTS
options 	SETUIDSCRIPTS

# System V shared memory & semaphores support.
options 	SYSVMSG
options 	SYSVSEM
options 	SYSVSHM
options 	SHMMAXPGS=4096	# 64 pages is the default
options 	SHMSEG=32	# 8 segments is the default

# Old compat stuff; needed to run 4.3BSD Reno programs.
# Note that if COMPAT_ULTRIX is set, you lose compatibility with
# 4.3BSD Reno programs and get Ultrix compatibility instead.
# (They cannot coexist).
options 	COMPAT_43
#options 	COMPAT_09
#options 	COMPAT_10
options 	COMPAT_11
options 	COMPAT_12
options 	COMPAT_13
#options 	COMPAT_ULTRIX
#options 	TCP_COMPAT_42

options 	LKM

config		netbsd	root on ra0a type ffs

backplane0	at root

cpu0		at backplane0	# Only one CPU so far.
uba0		at backplane0	# MicroVAXen only have QBUS.

uda0		at uba0	csr 0172150	# UDA50/RQDX?
mscpbus0	at uda0

ra0		at mscpbus0 drive 0
ra1		at mscpbus0 drive 1
ra2		at mscpbus0 drive 2
ra3		at mscpbus0 drive 3

mtc0		at uba0 csr 0174500	# Tape MSCP ctlr
mscpbus1	at mtc0

mt0		at mscpbus1 drive 0

qe0		at uba0 csr 0174440	# DEQNA/DELQA
qd0		at uba? csr 0177400	# QDSS
dhu0		at uba? csr 0160440	# DHU-11

pseudo-device   loop	1
pseudo-device   pty	32
pseudo-device	sl	1
pseudo-device	ppp	1
pseudo-device	tun	1
pseudo-device	vnd	4
pseudo-device	ccd	4
# rnd is EXPERIMENTAL
pseudo-device	rnd		# /dev/random and in-kernel generator

#
#	eof
#

-tih
-- 
Popularity is the hallmark of mediocrity.  --Niles Crane, "Frasier"