Subject: Re: NetBSD/pmax (latest sup) compilation problems
To: Leslie Todd Masco <cactus@hks.net>
From: Jeremy C. McDermond <mcdermj@peak.org>
List: port-pmax
Date: 10/18/1995 08:57:15
I'm essentially trying to do the same thing, these are the things that I 
am finding.

>
>Okay, I finally got a good sup (Oct 17, 08:57 EST) off of
>sup.netbsd.org.
>
>For reference, gcc -v:
> Reading specs from /usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/specs
> gcc driver version 2.6.4 snapshot 950107 executing gcc version 2.6.4
>
>Trying to compile (config, make depend, make), I got the following
>three errors:
>
>
>(1) ../../../../arch/pmax/pmax/machdep.c: In function `initcpu':
>    ../../../../arch/pmax/pmax/machdep.c:1229: `Mach_reset_addr' undeclared (f
>irst use this function)

The declaration is inside an #ifdef DS5000 - I moved it out.

>
>(2) ../../../../arch/pmax/pmax/conf-glue.c:78: `ascdriver' undeclared here (no
>t in a function)
>    ../../../../arch/pmax/pmax/conf-glue.c:78: initializer element for `scsi_d
>init.sd_cdriver' is not constant
>
>(repeated on lines 79,80,81,82, 83, 84)
>
>[It's pretty obvious what's going on for this.  But if I'm running a
> pmax, should I have to define the asc?  I know nothing about the
> hardware, just that the asc is listed only in the sections in the
> config file that refer to turbochannel models.]

I'm not sure on these as well - to try and compile a kernel, I've just put
these entries (the ones with ascdriver) in an #ifdef DS5000.  There's probably
a better way to do this, but until I've sucessfully compiled another kernel,
I'm sticking with this.

>
>(3) on ../../../../../../lib/libkern/scanc.c, bfd assertion fail elfcode.h:644
>2
>       libkern/skpc.c, bfd assertion fail elfcode.h:6442
>       libkern/strcat.c, bfd assertion fail elfcode.h:6442
>       libkern/strcpy.c, bfd assertion fail elfcode.h:6442
>       libkern/strncmp.c, bfd assertion fail elfcode.h:6442
>
>[Could this just be that I have to grab a newer toolchain?]

I haven't conquered this.

When you finally do get it to link time, I've encountered dependanceis on the
TurboChannel stuff.  These are in cpu_cons.c.  The main one I remember is
having to do with getting CPU type.  This returns NULL, which in every function 
it is used in, causes the function to return 0.  So I #ifdef DS5000'd everything
but the final return(0).

Nonetheless - every time I get a kernel actually compiled, it crashes, I can't
see the problems it's having, because rasterconsole support on my machine seems
to be severely broken.  I think it's probably working on color PMAXen - but on
my little monochrome, it does funky things.  Is there anybody to comment on
this?

>
>My config file (for Decstation 2100s):
>----------------------------------------------------------------------
>#
># DECstation (3100 or 5000/xxx)
>#
>#	Generic config.new configuration for NetBSD/pmax
># 	$NetBSD: NEWCONF,v 1.5 1995/10/05 01:53:07 jonathan Exp $
>#
>include		"std.pmax"
>
>maxusers	8
>
># does not really do anything anymore, but this replaces "ident GENERIC"
># (actually, it enables fudging of swap blocks to swap after a miniroot
>#  in the b partition, and make the kernel call setconf() to ask
>#  what the root device is.)
>#options		GENERIC
>options			HERD
>
># replaces "cpu ds5k/240"
># options		DS5000			# generic TC support and 3MAX s
>upport
># options		DS5000_240		# 3MAXPLUS (kn03) support
># options		DS5000_100		# 3MIN (kn02ba/kmin) support
># options		DS5000_25		# MAXINE (kn02ca/xine) support
># options		DS5000_200		# 3MAX (kn02) support, one day
>
>
>options		DS3100			# PMAX (kn01) DECstation 2100, 
>3100
>
>
># You need to set this locally, but it doesn't do much outside the kernel.
># Set up /etc/localtime instead.
>options		TIMEZONE="4*60"		# minutes west of GMT (for)
>options		DST=1			# use daylight savings rules
>
>
># Standard system options
>options		SWAPPAGER		# swap pager (anonymous and swa
>p space)
>options		VNODEPAGER		# vnode pager (mapped files)
>options		DEVPAGER		# device pager (mapped devices)
>#options	DIAGNOSTIC		# extra kernel debugging checks
>options		DEBUG			# extra kernel debugging suppor
>t
>options		"COMPAT_43"		# compatibility with 4.3BSD bin
>aries
>#options	KTRACE			# system call tracing support
>options		"NKMEMCLUSTERS=1024"	# 4K pages in kernel malloc poo
>l
>#options	KGDB			# support for kernel gdb
>#options	"KGDBRATE=19200"	# kernel gdb port rate (default 9600)
>#options	"KGDBDEV=15*256+0"	# device for kernel gdb
>
># Filesystem options
>options		FIFO		# POSIX fifo support (in all filesystem
>s)
>options		FFS,QUOTA	# fast filesystem with user and group q
>uotas
>options		MFS		# memory-based filesystem
>options		NFSCLIENT	# Sun NFS-compatible filesystem (client
>)
>options		NFSSERVER	# Sun NFS-compatible filesystem (server
>)
>options		KERNFS		# kernel data-structure filesystem
>#options	FDESC		# user file descriptor filesystem
>#options	UMAPFS		# uid/gid remapping filesystem
>options		NULLFS		# null layer filesystem
>#options	LFS		# Log-based filesystem (still experimental)
>#options	PORTAL		# portal filesystem (still experimental)
>
># Networking options
>options		INET		# Internet protocols
>options		"TCP_COMPAT_42"	# compatibility with 4.2BSD TCP/IP
>options		GATEWAY		# IP packet forwarding
>options		MULTICAST	# Multicast support
>options		MROUTING	# Multicast routing support
>#options	ISO		# OSI networking
>#options	TPIP
>#options	EON
>
># pmax specific
>options		COMPAT_ULTRIX	# ultrix compatibility
>
># Note that this configuration is unlikely to work, yet...
>config		netbsd root on rz0a swap on rz0b dumps on rz0b
>#config		rz1netbsd root on rz1a swap on rz0b and rz1b dumps on r
>z0b
>#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
>
>########################################################################
># MAXINE-only baseboard devices and on-baseboard "options"             #
>########################################################################
>#xcfb0	at tc?				# TC framebuffer "option"
>#dtop0	at ioasic0
>#isdn	at ioasic0
>#fdc    at ioasic0			# floppy disk
>
>
>########################################################################
># Configuration for 3MAX (5000/200) which has turbochannel but no ASIC.#
># 3MAX (5000/200) baseboard devices and on-baseboard "options"         #
>########################################################################
>#clock0	at mainbus0  			# RTC
>#dc0	at mainbus0
>#le0	at tc? #slot ?  offset ?	# TC ether "option" on baseboard
>#asc0	at tc?				# TC scsi  "option" on baseboard
># For now, pretend this machine has an IOASIC.
>#dc0	at ioasic?			# dc7083 four-port DZ device
>
>########################################################################
>#  Supported turbochannel option cards			               #
>########################################################################
>#cfb0	at tc?
>#mfb0	at tc?
>#sfb0	at tc?
>#sfb1	at tc?
>#le*	at tc? #slot ?  offset ?		# TC ether option
>#tt0	at tc? #slot? offset ?
>
>
>########################################################################
># Decstation 2100/3100 (aka PMAX aka KN01) configuration.              #
># (these don't really have any options except a framebuffer.)          #
>########################################################################
>clock0	at mainbus0			# RTC
>pm0	at mainbus0			# 3100 onboard fb
>dc0	at mainbus0			# dc7083 four-port DZ device
>le0	at mainbus0			# 3100 onboard lance
>sii0	at mainbus0			# onboard scsi
>
>
>########################################################################
># SCSI configuration                                                   #
>########################################################################
>
>#
># SCSI configuration for new-config machine-independent SCSI driver
>#
>scsibus*	at sii?
>#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 sii?
>#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 ?
>rz4	at	oldscsibus?	target ? drive ?
>tz0	at	oldscsibus?	target?  drive ?
>tz1	at	oldscsibus?	target?  drive ?
>
>
>#
># pseudo-devices
>#
>
>pseudo-device	sl		 4	# serial-line IP ports
>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	ether			# From old config. what does it mean?
>pseudo-device	rasterconsole	1 	# NB: raster console requires "fb"
>pseudo-device	fb		3	# up to 3 framebuffers
>----------------------------------------------------------------------
>Thanks,
>--
>Todd Masco     | "life without caution/ the only worth living / love for a man
>/
>cactus@hks.net |  love for a woman/ love for the facts/ protectless" - A Rich
><a href="http://www.hks.net/~cactus/cactus.html">Cactus' Homepage</a>

-------------------------------------------------------------------------------
Jeremy C. McDermond				mcdermj@Peak.ORG
Technical Analyst				mcdermj@Xenotropic.COM
Willamette Industries,Inc. 			#include <Standard Disclaimer>
-------------------------------------------------------------------------------