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>
-------------------------------------------------------------------------------