Subject: port-pmax/2739: kernel compilation error for DS 5000/1xx
To: None <gnats-bugs@gnats.netbsd.org>
From: Erik Bertelsen <erik@aarhus1.uni-c.dk>
List: netbsd-bugs
Date: 09/09/1996 09:59:36
>Number: 2739
>Category: port-pmax
>Synopsis: Kernel compilation fails for DS5000/1xx-only kernel
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: gnats-admin (GNATS administrator)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Sep 9 01:05:00 1996
>Last-Modified:
>Originator: Erik Bertelsen
>Organization:
UNI-C
>Release: 1.2_BETA, supped 9 September 1996
>Environment:
System: NetBSD aarhus1.uni-c.dk 1.2_BETA NetBSD 1.2_BETA (AARHUS1) #5: Wed Aug 14 07:40:07 MET DST 1996 erik@aarhus1.uni-c.dk:/usr/src/sys/arch/pmax/compile/AARHUS1 pmax
>Description:
Configured a kernel just for a DS5000/133 to test diskless booting. Compilation
running on a DS3100 running NetBSD 1.2_Beta.
******This looks like a show-stopper for the 1.2 release for DS5000/1xx users.
Compilation failed at line 1594 in pmax/machdep.c with a diagnostic telling
that kn03_tc3_imask is undefined.
Looking at the code (see extracts below), I notice that this variable is
only defined for a DS5000_240, but used in code for a DS5000_100.
#ifdef DS5000_240
u_long kn03_tc3_imask;
extern u_long latched_cycle_cnt;
#endif
----text cutted----
#ifdef DS5000_100
----text cutted-----
void
kmin_enable_intr(slotno, handler, sc, on)
----more text cutted--------
#if defined(DEBUG) || defined(DIAGNOSTIC)
printf("3MIN: imask %x, %sabling slot %d, sc %x addr 0x%x\n",
kn03_tc3_imask, (on? "en" : "dis"), slotno, sc, handler);
#endif
>How-To-Repeat:
Define a kernel configuration file that is targeted at a DS5000/1xx, but
not at a DS5000/2xx.
>Fix:
Either remove the diagnostic printout around line 1594 or make the
variable declaration for kn03_tc3_imask available for all cpus that need it.
Further info:
My kernel configuration file that displays the problem:
#
# DECstation 5000/xxx)
#
include "std.pmax"
maxusers 8
#options GENERIC
options CPU_R3000 # R2000/R3000 support
options DS5000_100 # 3MIN (kn02ba/kmin) support
# Standard system options
options SWAPPAGER # swap pager (anonymous and swap space)
options VNODEPAGER # vnode pager (mapped files)
options DEVPAGER # device pager (mapped devices)
options DEBUG # extra kernel debugging support
options "COMPAT_43" # compatibility with 4.3BSD binaries
options KTRACE # system call tracing support
options "NKMEMCLUSTERS=1024" # 4K pages in kernel malloc pool
# Filesystem options
options FIFO # POSIX fifo support (in all filesystems)
options FFS,QUOTA # fast filesystem with user and group quotas
options MFS # memory-based filesystem
options NFSCLIENT # Sun NFS-compatible filesystem (client)
options KERNFS # kernel data-structure filesystem
options NULLFS # null layer filesystem
# Networking options
options INET # Internet protocols
options "TCP_COMPAT_42" # compatibility with 4.2BSD TCP/IP
# pmax specific
options COMPAT_ULTRIX # ultrix compatibility
options "HZ=256" # RTC rate required
# Note that this configuration is unlikely to work, yet...
config netbsd root on rz0a swap on rz0b and rz1b dumps on rz0b
config rz1netbsd root on rz1a swap on rz0b and rz1b dumps on rz0b
#config gennetbsd swap generic
########################################################################
# #
# DECstation Turbochannel configuration and options #
# #
########################################################################
tc* at mainbus0 # All but PMAXes have a turbochannel
########################################################################
# Common configuration for machines with IO ASIC chips #
# (3MIN, MAXINE, 3MAXPLUS) #
########################################################################
ioasic0 at tc?
clock0 at ioasic? # RTC
asc0 at ioasic? # system SCSI subslot
scc0 at ioasic?
le0 at ioasic? # tc onboard lance
scc1 at ioasic? # Not present on Maxine
########################################################################
# Supported turbochannel option cards #
########################################################################
cfb0 at tc?
mfb0 at tc?
sfb0 at tc?
le* at tc? #slot ? offset ? # TC ether option
########################################################################
# SCSI configuration #
########################################################################
#
# SCSI configuration for new-config machine-independent SCSI driver
#
scsibus* at asc?
sd* at scsibus? target ? lun ?
st* at scsibus? target ? lun ?
cd* at scsibus? target ? lun ?
#
# SCSI configuration for old DECstation SCSI driver
#
oldscsibus* at asc?
rz0 at oldscsibus? target ? drive ?
rz1 at oldscsibus? target ? drive ?
rz2 at oldscsibus? target ? drive ?
rz3 at oldscsibus? target ? drive ?
rz4 at oldscsibus? target ? drive ?
rz5 at oldscsibus? target ? drive ?
tz0 at oldscsibus? target? drive ?
tz1 at oldscsibus? target? drive ?
#
# pseudo-devices
#
pseudo-device pty 64 # pseudo ptys
pseudo-device bpfilter 16 # packet filter ports
pseudo-device loop
pseudo-device vnd 4 # virtual disk ick
pseudo-device rasterconsole 1 # NB: raster console requires "fb"
pseudo-device fb 3 # up to 3 framebuffers
>Audit-Trail:
>Unformatted: