diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1995-10-18 08:53:40 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1995-10-18 08:53:40 +0000 |
commit | d6583bb2a13f329cf0332ef2570eb8bb8fc0e39c (patch) | |
tree | ece253b876159b39c620e62b6c9b1174642e070e /sys/arch/sun3/conf |
initial import of NetBSD tree
Diffstat (limited to 'sys/arch/sun3/conf')
-rw-r--r-- | sys/arch/sun3/conf/DISKLESS | 75 | ||||
-rw-r--r-- | sys/arch/sun3/conf/GENERIC | 103 | ||||
-rw-r--r-- | sys/arch/sun3/conf/Makefile.sun3 | 178 | ||||
-rw-r--r-- | sys/arch/sun3/conf/RAMDISK | 87 | ||||
-rw-r--r-- | sys/arch/sun3/conf/files.sun3 | 155 | ||||
-rw-r--r-- | sys/arch/sun3/conf/std.sun3 | 43 |
6 files changed, 641 insertions, 0 deletions
diff --git a/sys/arch/sun3/conf/DISKLESS b/sys/arch/sun3/conf/DISKLESS new file mode 100644 index 00000000000..eaa150bb1b2 --- /dev/null +++ b/sys/arch/sun3/conf/DISKLESS @@ -0,0 +1,75 @@ +# $NetBSD: DISKLESS,v 1.10 1995/10/08 23:38:41 gwr Exp $ + +# +# DISKLESS Sun3 (3/50, 3/60, 3/110, 3/160, 3/260) +# Root and swap on NFS (no choice) +# Includes devices needed to run as an X-terminal +# + +include "std.sun3" + +# Machines to be supported by this kernel +options FPU_EMULATE +options HAVECACHE # Sun3/260 VAC + +# Needs to be set per system. i.e change these as you see fit +maxusers 4 + +# Standard system options +options SWAPPAGER, VNODEPAGER, DEVPAGER # paging +options KTRACE # system call tracing support +#makeoptions DEBUG="-g" # symbols for kgdb + nm + +# Filesystem options +#options NFSSERVER # nfs server support +options NFSCLIENT # nfs client support +# +options FDESC # /dev/fd/* +options FIFO # FIFOs; RECOMMENDED +options KERNFS # /kern +options NULLFS # loopback file system +#options PROCFS # /proc +#options UNION # union file system + +# Networking options +options INET # IP prototol stack support +# XXX - Work-around for root on slow SunOS/Sun3 servers (sigh...) +options NFS_BOOT_RWSIZE=1024 + +# Compatability options +options COMPAT_SUNOS # can run SunOS 4.1.1 executables +#options COMPAT_09 # NetBSD 0.9, +options COMPAT_10 # NetBSD 1.0, +options COMPAT_43 # and 4.3BSD +options TCP_COMPAT_42 # TCP bug compatibility with 4.2BSD + +# Sun3-specific debugging options +#options CONTEXT_DEBUG +#options PMAP_DEBUG +#options VMFAULT_TRACE +#options SYSCALL_DEBUG +#options EXEC_DEBUG +#options DIAGNOSTIC +#options SCSIDEBUG + +config netbsd root on nfs swap on nfs + +# Devices + +bwtwo0 at obmem0 addr ? +cgtwo0 at vmes0 addr 0xff400000 level 4 vect 0xA8 +cgfour0 at obmem0 addr ? + +ie0 at obio0 addr ? level ? +ie1 at vmes0 addr 0xffe88000 level 3 vect 0x75 + +le0 at obio0 addr ? level ? + +pseudo-device loop 1 # network loopback +#pseudo-device bpfilter 4 # packet filter +#pseudo-device sl 2 # CSLIP +#pseudo-device ppp 2 # PPP +#pseudo-device tun 2 # network tunneling over tty + +pseudo-device pty 32 # pseudo-terminals +#pseudo-device vnd 4 # paging to files diff --git a/sys/arch/sun3/conf/GENERIC b/sys/arch/sun3/conf/GENERIC new file mode 100644 index 00000000000..eb317efa799 --- /dev/null +++ b/sys/arch/sun3/conf/GENERIC @@ -0,0 +1,103 @@ +# $NetBSD: GENERIC,v 1.24 1995/10/08 23:38:43 gwr Exp $ + +# +# GENERIC Sun3 (3/50, 3/60, 3/110, 3/160, 3/260) +# Supports root on: ie0, le0, sd*, ... +# + +include "std.sun3" + +# Machines to be supported by this kernel +options GENERIC +options FPU_EMULATE +options HAVECACHE # Sun3/260 VAC + +# Needs to be set per system. i.e change these as you see fit +maxusers 4 + +# Standard system options +options SWAPPAGER, VNODEPAGER, DEVPAGER # paging +options KTRACE # system call tracing support +#makeoptions DEBUG="-g" # symbols for kgdb + nm +options DDB + +# Filesystem options +options NFSSERVER # nfs server support +options NFSCLIENT # nfs client support +options FFS # ufs file system +# +options CD9660 # ISO 9660 + Rock Ridge file system +options FDESC # /dev/fd/* +options FIFO # FIFOs; RECOMMENDED +options KERNFS # /kern +options NULLFS # loopback file system +options PROCFS # /proc +options UNION # union file system + +# Networking options +options INET # IP prototol stack support +# XXX - Work-around for slow SunOS/Sun3 servers (sigh...) +options NFS_BOOT_RWSIZE=1024 + +# Compatability options +options COMPAT_SUNOS # can run SunOS 4.1.1 executables +options COMPAT_09 # NetBSD 0.9, +options COMPAT_10 # NetBSD 1.0, +options COMPAT_43 # and 4.3BSD +options TCP_COMPAT_42 # TCP bug compatibility with 4.2BSD + +# Sun3-specific debugging options +options CONTEXT_DEBUG +options PMAP_DEBUG +#options VMFAULT_TRACE +#options SYSCALL_DEBUG +options EXEC_DEBUG +options DIAGNOSTIC +options SCSIDEBUG + +config netbsd swap generic + +# Devices + +bwtwo0 at obmem0 addr ? +cgtwo0 at vmes0 addr 0xff400000 level 4 vect 0xA8 +cgfour0 at obmem0 addr ? + +ie0 at obio0 addr ? level ? +ie1 at vmes0 addr 0xffe88000 level 3 vect 0x75 + +le0 at obio0 addr ? level ? + +si0 at obio0 addr ? level ? +si0 at vmes0 addr 0xff200000 level 2 vect 0x40 +si1 at vmes0 addr 0xff204000 level 2 vect 0x41 + +scsibus* at scsi? + +# Sun compatible scsi device mappings +sd0 at scsibus? target 0 lun 0 +sd1 at scsibus? target 0 lun 1 +sd2 at scsibus? target 1 lun 0 +sd3 at scsibus? target 1 lun 1 +sd* at scsibus? target ? lun ? + +st0 at scsibus? target 4 lun 0 +st1 at scsibus? target 5 lun 0 +st* at scsibus? target ? lun ? + +cd0 at scsibus? target 6 lun 0 +cd* at scsibus? target ? lun ? + +#ch* at scsibus? target ? lun ? + +rd0 at mainbus? +rd1 at mainbus? + +pseudo-device loop 1 # network loopback +pseudo-device bpfilter 8 # packet filter +pseudo-device sl 2 # CSLIP +pseudo-device ppp 2 # PPP +pseudo-device tun 2 # network tunneling over tty + +pseudo-device pty 64 # pseudo-terminals +#pseudo-device vnd 4 # paging to files diff --git a/sys/arch/sun3/conf/Makefile.sun3 b/sys/arch/sun3/conf/Makefile.sun3 new file mode 100644 index 00000000000..c7379981a6e --- /dev/null +++ b/sys/arch/sun3/conf/Makefile.sun3 @@ -0,0 +1,178 @@ +# $NetBSD: Makefile.sun3,v 1.34 1995/09/19 23:54:29 thorpej Exp $ + +# +# Makefile for NetBSD +# +# This makefile is constructed from a machine description: +# config machineid +# Most changes should be made in the machine description +# /sys/conf/``machineid'' +# after which you should do +# config machineid +# Machine generic makefile changes should be made in +# /sys/conf/Makefile.``machinetype'' +# after which config should be rerun for all machines of that type. +# +# N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE VISIBLE TO MAKEFILE +# IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING +# +# -DTRACE compile in kernel tracing hooks +# -DQUOTA compile in file system quotas + +# DEBUG is set to -g by config if debugging is requested (config -g). +DEBUG?=-O +# PROF is set to -pg by config if profiling is requested (config -p). +AS= as +CC= cc +CPP= cpp +LD= ld +TOUCH= touch -f -c + +# source tree is located via $S relative to the compilation directory +S= ../../../.. +SUN3= ../.. + +INCLUDES= -I. -I../.. -I$S/arch -I$S/sys -I$S +COPTS= ${INCLUDES} ${IDENT} -D_KERNEL -Dmc68020 -Dsun3 +# We do NOT want accidental FP instructions in the kernel. +CFLAGS= -Werror -fno-builtin -msoft-float ${DEBUG} ${COPTS} + +# What to use for libkern: +.include "$S/lib/libkern/Makefile.inc" +.ifndef PROF +LIBKERN= ${KERNLIB} +.else +LIBKERN= ${KERNLIB_PROF} +.endif + +### find out what to use for libcompat +.include "$S/compat/common/Makefile.inc" +.ifndef PROF +LIBCOMPAT= ${COMPATLIB} +.else +LIBCOMPAT= ${COMPATLIB_PROF} +.endif + +# compile rules: rules are named ${TYPE}_${SUFFIX}${CONFIG_DEP} +# where TYPE is NORMAL, DRIVER, or PROFILE}; SUFFIX is the file suffix, +# capitalized (e.g. C for a .c file), and CONFIG_DEP is _C if the file +# is marked as config-dependent. + +NORMAL_C= ${CC} ${CFLAGS} ${PROF} -c $< +NORMAL_C_C= ${CC} ${CFLAGS} ${PROF} ${PARAM} -c $< + +DRIVER_C= ${CC} ${CFLAGS} ${PROF} -c $< +DRIVER_C_C= ${CC} ${CFLAGS} ${PROF} ${PARAM} -c $< + +PROFILE_C= ${CC} ${COPTS} -S $<; \ + ex - $*.s < ${GPROF.EX}; \ + ${AS} -o $@ $*.s; \ + rm -f $*.s + +NORMAL_S= ${CPP} ${COPTS} $< | ${AS} -o $@ +NORMAL_S_C= ${CPP} ${COPTS} ${PARAM} $< | ${AS} -o $@ + +%OBJS + +%CFILES + +# load lines for config "xxx" will be emitted as: +# xxx: ${SYSTEM_DEP} swapxxx.o +# ${SYSTEM_LD_HEAD} +# ${SYSTEM_LD} swapxxx.o +# ${SYSTEM_LD_TAIL} +.if ${DEBUG} == "-g" +LDX=-X +.else +LDX=-S +.endif +SYSTEM_OBJ= locore.o vnode_if.o ${OBJS} param.o ioconf.o +SYSTEM_DEP= Makefile ${SYSTEM_OBJ} ${LIBKERN} ${LIBCOMPAT} +SYSTEM_LD_HEAD= @echo loading $@; rm -f $@ +SYSTEM_LD= -@echo ${LD} ${LDX} -n -N -e start -T 0E004000 -o $@ \ + '$${SYSTEM_OBJ}' vers.o ${LIBKERN} ${LIBCOMPAT}; \ + ${LD} ${LDX} -n -N -e start -T 0E004000 -o $@ \ + ${SYSTEM_OBJ} vers.o ${LIBKERN} ${LIBCOMPAT} +SYSTEM_LD_TAIL= @size $@; chmod 755 $@; \ + [ X${DEBUG} = X-g ] && { \ + echo cp $@ $@.gdb; rm -f $@.gdb; cp $@ $@.gdb; \ + echo strip -d $@; strip -d $@; } || true + +%LOAD + +newvers: + sh $S/conf/newvers.sh + ${CC} $(CFLAGS) -c vers.c + +clean:: + rm -f eddep netbsd* tags *.o locore.i [a-z]*.s \ + Errs errs linterrs makelinks vnode_if.[ch] genassym + +lint: /tmp param.c + @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} ${PARAM} -UKGDB \ + ${SUN3}/sun3/Locore.c ${CFILES} ${SUN3}/sun3/swapgeneric.c \ + ioconf.c param.c| \ + grep -v 'struct/union .* never defined' | \ + grep -v 'possible pointer alignment problem' + +locore.o: assym.s ${SUN3}/sun3/locore.s ${SUN3}/include/asm.h \ + ${SUN3}/include/trap.h $S/arch/m68k/include/trap.h + ${CPP} -DLOCORE ${COPTS} ${SUN3}/sun3/locore.s | ${AS} -o locore.o + +# the following is necessary because autoconf.o depends on #if GENERIC +autoconf.o: Makefile + +# depends on device configuration +conf.o : Makefile + +# depends on network or filesystem configuration +uipc_proto.o vfs_conf.o : Makefile + +# depends on value of SYMTAB_SPACE +db_aout.o : Makefile + +sun3_startup.o pmap.o kern_xxx.o: Makefile + +# depend on maxusers +assym.s: Makefile + +assym.s: genassym + ./genassym >assym.s + +genassym: + ${CC} ${INCLUDES} ${IDENT} ${PARAM} -Dmc68020 -Dsun3 \ + -o genassym ${SUN3}/sun3/genassym.c + +depend: assym.s ioconf.c param.c vnode_if.c + mkdep ${COPTS} ${CFILES} ioconf.c param.c vnode_if.c + mkdep -a -p ${INCLUDES} ${IDENT} ${PARAM} ${SUN3}/sun3/genassym.c + +links: + egrep '#if' ${CFILES} | sed -f $S/conf/defines | \ + sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink + echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ + sort -u | comm -23 - dontlink | \ + sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks + sh makelinks && rm -f dontlink + +tags: + @echo "see $S/kern/Makefile for tags" + +ioconf.o: ioconf.c + ${CC} ${CFLAGS} -c ioconf.c + +param.c: $S/conf/param.c + rm -f param.c + cp $S/conf/param.c . + +param.o: param.c Makefile + ${CC} ${CFLAGS} ${PARAM} -c param.c + +vers.o: ${SYSTEM_DEP} ${SYSTEM_SWAP_DEP} + sh $S/conf/newvers.sh ${KERN_IDENT} ${IDENT} + ${CC} ${CFLAGS} -c vers.c + +vnode_if.c vnode_if.h : $S/kern/vnode_if.sh $S/kern/vnode_if.src + AWK="${AWK}" sh $S/kern/vnode_if.sh $S/kern/vnode_if.src + +%RULES diff --git a/sys/arch/sun3/conf/RAMDISK b/sys/arch/sun3/conf/RAMDISK new file mode 100644 index 00000000000..b9db67cc3fa --- /dev/null +++ b/sys/arch/sun3/conf/RAMDISK @@ -0,0 +1,87 @@ +# $NetBSD: RAMDISK,v 1.1 1995/10/08 23:38:44 gwr Exp $ + +# +# RAMDISK: Root/swap on ramdisk +# This kernel is used to: +# format the disk (not yet implemented) +# partition the disk (disklabel) +# install the miniroot in the swap partition +# + +include "std.sun3" + +# Machines to be supported by this kernel +options HAVECACHE # Sun3/260 VAC + +# Enable the hooks used for initializing the ram-disk. +options RAMDISK_HOOKS +options MINIROOTSIZE=512 # 256K + +# Needs to be set per system. i.e change these as you see fit +maxusers 2 + +# Standard system options +options SWAPPAGER, VNODEPAGER, DEVPAGER # paging + +# Filesystem options +# May need NFSCLIENT to get miniroot image +options NFSCLIENT # nfs client support +# Need FFS for the ramdisk image +options FFS # ufs file system +options FIFO # FIFOs; RECOMMENDED + +# Networking options +options INET # IP prototol stack support +# XXX - Work-around for slow SunOS/Sun3 servers (sigh...) +options NFS_BOOT_RWSIZE=1024 + +# Compatability options (XXX - Need these?) +#options COMPAT_SUNOS # can run SunOS 4.1.1 executables +#options COMPAT_09 # NetBSD 0.9, +options COMPAT_10 # NetBSD 1.0, +options COMPAT_43 # and 4.3BSD +options TCP_COMPAT_42 # TCP bug compatibility with 4.2BSD + +# Sun3-specific debugging options +# options DDB +options DIAGNOSTIC + +# The config program assumes all devices have partions... +# Is it OK to put swap on a non-existent partition? +config netbsd root on rd0a swap on rd0b + +# Devices + +# RAM Disk (root for install tape) +rd0 at mainbus? + +# No frame-buffer devices. + +ie0 at obio0 addr ? level ? +ie1 at vmes0 addr 0xffe88000 level 3 vect 0x75 + +le0 at obio0 addr ? level ? + +si0 at obio0 addr ? level ? +si0 at vmes0 addr 0xff200000 level 2 vect 0x40 + +scsibus* at scsi? + +# Sun compatible scsi device mappings +sd0 at scsibus? target 0 lun 0 +sd1 at scsibus? target 0 lun 1 +sd2 at scsibus? target 1 lun 0 +sd3 at scsibus? target 1 lun 1 +sd* at scsibus? target ? lun ? + +st0 at scsibus? target 4 lun 0 +st1 at scsibus? target 5 lun 0 +st* at scsibus? target ? lun ? + +cd0 at scsibus? target 6 lun 0 +cd* at scsibus? target ? lun ? + +#ch* at scsibus? target ? lun ? + +pseudo-device loop 1 # network loopback + diff --git a/sys/arch/sun3/conf/files.sun3 b/sys/arch/sun3/conf/files.sun3 new file mode 100644 index 00000000000..199fbc8a0d9 --- /dev/null +++ b/sys/arch/sun3/conf/files.sun3 @@ -0,0 +1,155 @@ +# $NetBSD: files.sun3,v 1.13 1995/10/10 21:25:29 gwr Exp $ + +# +# sun3-specific configuration info +# + +# maxpartitions must be first item in files.${ARCH}.newconf +maxpartitions 8 + +maxusers 2 8 64 + +# Standard stuff +file arch/sun3/sun3/autoconf.c +file arch/sun3/sun3/cache.c havecache +file arch/sun3/sun3/conf.c +file arch/sun3/sun3/control.c +file arch/sun3/sun3/ctrlsp.S +file arch/sun3/sun3/dvma.c +file arch/sun3/sun3/db_machdep.c ddb +file arch/sun3/sun3/disksubr.c +file arch/sun3/sun3/isr.c +file arch/sun3/sun3/machdep.c +file arch/sun3/sun3/mem.c +file arch/sun3/sun3/pmap.c +#file arch/sun3/sun3/stub.c +file arch/sun3/sun3/sun3_startup.c +file arch/sun3/sun3/sys_machdep.c +file arch/sun3/sun3/trap.c +file arch/sun3/sun3/vector.c +file arch/sun3/sun3/vm_machdep.c + +file arch/m68k/fpe/fpu_emulate.c fpu_emulate +file arch/m68k/m68k/copy.s +file dev/cons.c +file dev/cninit.c + +# Declare our "catch-all" root node. +device mainbus at root {} +# Misc. mainbus things (catch-all) +# Control space hack +device obctl at mainbus {addr = -1, [level = -1]} +# Floating Point Unit +device fpu at mainbus {} +file arch/sun3/sun3/fpu.c fpu + +# Bus types +# +# The implementation of the bus_* functions in autoconfig.c +# requires these all to agree with <autoconf.h> struct bus_loc + +# On-board MEMory space +device obmem at mainbus {addr = -1, [level = -1]} +# On-board I/O space +device obio at mainbus {addr = -1, [level = -1]} +# VME Short space (D16) +device vmes at mainbus {addr = -1, [level = -1], [vect = -1]} +# VME Long space (D32) +device vmel at mainbus {addr = -1, [level = -1], [vect = -1]} + +file arch/sun3/dev/obctl.c obctl +file arch/sun3/dev/obio.c obio +file arch/sun3/dev/obmem.c obmem +file arch/sun3/dev/vme.c vmes vmel + +# +# Sun-compatible Frame Buffers (?) +# +define sunfb {} + +# +# Machine-independent SCSI drivers +# +include "../../../scsi/files.scsi" + +# +# On-Board I/O (OBIO) +# +device zs at obio: tty +file arch/sun3/dev/zs.c zs needs-count + +device eeprom at obio +file arch/sun3/dev/eeprom.c eeprom + +device clock at obio +file arch/sun3/sun3/clock.c clock + +device ie at obio, vmes: ifnet, ether +file arch/sun3/dev/if_ie.c ie +file arch/sun3/dev/if_ie_subr.c ie + +device le at obio: ifnet, ether +file arch/sun3/dev/if_le.c le +file arch/sun3/dev/if_le_subr.c le + +device si at obio, vmes: scsi +file arch/sun3/dev/si.c si + +# +# On-Board MEMory (OBMEM) +# +device bwtwo at obmem: sunfb +file arch/sun3/dev/bw2.c bwtwo needs-flag + +device cgtwo at vmes: sunfb +file arch/sun3/dev/cg2.c cgtwo needs-flag + +device cgfour at obmem: sunfb +file arch/sun3/dev/cg4.c cgfour needs-flag + +file arch/sun3/dev/bt_subr.c cgfour + +# +# VME +# +device xdc at vmel {drive = -1} +device xd at xdc: disk +file arch/sun3/dev/xd.c xd needs-flag + +device xyc at vmel {drive = -1} +device xy at xyc: disk +file arch/sun3/dev/xy.c xy needs-flag + + +# +# On-Board Control (OBCTL) +# +device idprom at obctl +file arch/sun3/dev/idprom.c idprom needs-count + +# +# Console (zs) related stuff +# +file arch/sun3/dev/kbd.c zs +file arch/sun3/dev/event.c zs +file arch/sun3/dev/kd.c zs +file arch/sun3/dev/ms.c zs +file arch/sun3/dev/fb.c + +# RAM Disk for boot tape +device rd at mainbus +file dev/ramdisk.c rd needs-count +file arch/sun3/dev/rd_root.c ramdisk_hooks + +# Major numbers for root/swap device configuration +major {xy=3} # Xylogics 450 and 451 +major {vnd=5} # vnode pseudo-device +major {sd=7} # SCSI disk +major {xd=10} # Xylogics 7053 +major {rd=13} # RAM disk (for mini-kernel) + +# Compatibility modules + +# SunOS Binary Compatibility (COMPAT_SUNOS) +include "../../../compat/sunos/files.sunos" +file arch/m68k/m68k/sunos_machdep.c compat_sunos diff --git a/sys/arch/sun3/conf/std.sun3 b/sys/arch/sun3/conf/std.sun3 new file mode 100644 index 00000000000..c3c09188da2 --- /dev/null +++ b/sys/arch/sun3/conf/std.sun3 @@ -0,0 +1,43 @@ +# $NetBSD: std.sun3,v 1.13 1995/10/08 23:38:46 gwr Exp $ + +# Standard information for sun3's. +machine sun3 m68k + +# The root node: +mainbus0 at root + +# control space hack... +obctl0 at mainbus? +fpu0 at mainbus? + +# main memory +obmem0 at mainbus? +# device space +obio0 at mainbus? +# VME D16 space +vmes0 at mainbus? +# VME D32 space +vmel0 at mainbus? + +# Devices that should be present in any Sun3 kernel. + +# OBCTL +idprom0 at obctl? addr ? + +# OBIO +zs0 at obio? addr ? +zs1 at obio? addr ? +eeprom0 at obio? addr ? +clock0 at obio? addr ? + +# Standard defines + +# XXX - Still needed? +options NEWCONFIG +options MACHINE_NONCONTIG + +# These are used ONLY when reading the hardware time/date clock. +# All Sun machines keep the hardware time/date clock on GMT. +options TIMEZONE=0 # minutes west of GMT (for param.c) +options DST=0 # daylight savings rules (for param.c) + |