GENERIC revision 1.77
11.77Slukem# $NetBSD: GENERIC,v 1.77 2002/06/17 05:14:29 lukem Exp $
21.69Sgmcgarry#
31.69Sgmcgarry# GENERIC machine description file
41.69Sgmcgarry# 
51.69Sgmcgarry# This machine description file is used to generate the default NetBSD
61.69Sgmcgarry# kernel.  The generic kernel does not include all options, subsystems
71.69Sgmcgarry# and device drivers, but should be useful for most applications.
81.69Sgmcgarry#
91.69Sgmcgarry# The machine description file can be customised for your specific
101.69Sgmcgarry# machine to reduce the kernel size and improve its performance.
111.1Soki#
121.69Sgmcgarry# For further information on compiling NetBSD kernels, see the config(8)
131.69Sgmcgarry# man page.
141.1Soki#
151.69Sgmcgarry# For further information on hardware support for this architecture, see
161.69Sgmcgarry# the intro(4) man page.  For further information about kernel options
171.69Sgmcgarry# for this architecture, see the options(4) man page.  For an explanation
181.69Sgmcgarry# of each device driver in this file see the section 4 man page for the
191.69Sgmcgarry# device.
201.1Soki
211.69Sgmcgarryinclude 	"arch/x68k/conf/std.x68k"
221.41Shubertf
231.76Satatatoptions 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
241.76Satatat
251.77Slukem#ident 		"GENERIC-$Revision: 1.77 $"
261.6Soki
271.48Sminouramaxusers	8
281.1Soki
291.22Sminoura## System kernel configuration.  See options(4) for more detail.
301.22Sminoura
311.22Sminoura
321.22Sminoura## Options for variants of the m68k MPU
331.22Sminoura## you must have at least the correct one; REQUIRED
341.10Sokioptions 	M68030
351.10Sokioptions 	M68040
361.14Sokioptions 	M68060
371.55Sminoura## If you want an optimized kernel for a specific processor, use either:
381.55Sminoura#makeoptions	CMACHFLAGS="-m68030"
391.55Sminoura#makeoptions	CMACHFLAGS="-m68040 -Wa,-m68030 -Wa,-m68851"
401.55Sminoura#makeoptions	CMACHFLAGS="-m68060 -Wa,-m68030 -Wa,-m68851"
411.1Soki
421.22Sminoura
431.22Sminoura#### System options specific to the x68k port
441.22Sminoura
451.29Sminouraoptions 	EXTENDED_MEMORY		# support for >16MB memory
461.22Sminouraoptions 	FPU_EMULATE		# software fpu emulation for MC68030
471.22Sminouraoptions 	FPSP			# floating point emulation for MC68040
481.22Sminouraoptions 	M060SP			# int/fp emulation for MC68060
491.56Sminoura#options 	JUPITER			# support for "Jupiter-X" accelerator
501.38Sminoura#options 	MAPPEDCOPY		# use page mapping for large copyin/copyout
511.28Sminoura#options 	ZSCONSOLE,ZSCN_SPEED="9600"	# use serial console
521.22Sminoura
531.22Sminoura
541.22Sminoura#### System options that are the same for all ports
551.22Sminoura
561.22Sminoura## Root device configuration: change the ?'s if you are going to use a
571.22Sminoura## nonstandard root partition (other than where the kernel is booted from)
581.22Sminoura## and/or nonstandard root type (not ffs or nfs).  Normally this can be
591.22Sminoura## automagically determined at boot time.
601.22Sminoura
611.22Sminouraconfig		netbsd	root on ? type ?
621.28Sminoura#config		netbsd	root on sd0 type ffs
631.22Sminoura
641.22Sminoura## RTC is offset from GMT; -540 means JST-9
651.7Sperryoptions 	RTC_OFFSET=-540	# hardware clock is this many mins. west of GMT
661.1Soki
671.22Sminoura## System call tracing (see ktrace(1)).
681.22Sminouraoptions 	KTRACE
691.1Soki
701.22Sminoura## Collect statistics on kernel malloc's and free's.  This does have a
711.22Sminoura## significant performance hit on slower machines, so it is intended for
721.22Sminoura## diagnostic use only.
731.22Sminoura#options 	KMEMSTATS
741.22Sminoura
751.22Sminoura## System V compatible IPC subsystem.  (msgctl(2), semctl(2), and shmctl(2))
761.22Sminouraoptions 	SYSVMSG		# System V message queues
771.22Sminouraoptions 	SYSVSEM		# System V semaphores
781.65Slukem#options 	SEMMNI=10	# number of semaphore identifiers
791.65Slukem#options 	SEMMNS=60	# number of semaphores in system
801.65Slukem#options 	SEMUME=10	# max number of undo entries per process
811.65Slukem#options 	SEMMNU=30	# number of undo structures in system
821.22Sminouraoptions 	SYSVSHM		# System V shared memory
831.22Sminoura#options 	SHMMAXPGS=1024	# 1024 pages is the default
841.22Sminoura
851.22Sminoura## Loadable kernel module support
861.28Sminoura#options 	LKM
871.74Sjdolecek
881.75Sgmcgarry#options 	USERCONF	# userconf(4) support
891.74Sjdolecek#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
901.22Sminoura
911.22Sminoura## NFS boot options; not supported currently: needs nfsboot program
921.22Sminoura#options 	NFS_BOOT_BOOTPARAM
931.22Sminoura#options 	NFS_BOOT_BOOTP
941.22Sminoura#options 	NFS_BOOT_DHCP
951.22Sminoura
961.22Sminoura#### Debugging options
971.22Sminoura
981.22Sminoura## The DDB in-kernel debugger runs at panic (unless DDB_ONPANIC=0), or at
991.22Sminoura## serial console break or keyboard reset, where the PROM would normally
1001.22Sminoura## intercept.  DDB_HISTORY_SIZE adds up/down arrow command history.
1011.28Sminoura#options 	DDB			# kernel dynamic debugger
1021.28Sminoura#options 	DDB_HISTORY_SIZE=100	# enable history editing in DDB
1031.28Sminoura#options 	DDB_ONPANIC=1		# see also sysctl(8): `ddb.onpanic'
1041.28Sminoura#options 	PANICBUTTON		# interrupt switch invokes DDB
1051.22Sminoura
1061.22Sminoura## You may also use gdb, on another computer connected to this machine over
1071.64Slukem## a serial port.  Both KGDB_DEV and KGDB_DEVRATE should be specified;
1081.64Slukem## KGDB_DEV is a dev_t encoded device number of the serial port to use.
1091.22Sminoura## KGDB is not supported for now.
1101.64Slukem#options 	KGDB			# support for kernel gdb
1111.64Slukem#options 	KGDB_DEV=0xc00		# kgdb device number
1121.64Slukem#options 	KGDB_DEVRATE=9600	# baud rate
1131.22Sminoura
1141.22Sminoura## Compile the kernel with debugging symbols (`netbsd.gdb' is the debug file),
1151.22Sminoura## such that gdb(1) can be used on a kernel coredump.
1161.22Sminoura
1171.65Slukem#makeoptions	DEBUG="-g"
1181.22Sminoura
1191.22Sminoura## Adds code to the kernel that does internal consistency checks, and will
1201.22Sminoura## cause the kernel to panic if corruption of internal data structures
1211.22Sminoura## is detected.
1221.22Sminoura#options 	DIAGNOSTIC	# extra kernel sanity checking
1231.22Sminoura
1241.22Sminoura## Enable (possibly expensive) debugging code that may also display messages
1251.22Sminoura## on the system console
1261.22Sminoura#options 	DEBUG
1271.22Sminoura
1281.22Sminoura## Make SCSI error messages more verbose when explaining their meanings.
1291.48Sminoura#options 	SCSIVERBOSE
1301.22Sminoura
1311.22Sminoura## `INSECURE' turns off the kernel security level (securelevel = 0 always).
1321.22Sminoura## This allows writing to /dev/mem, loading kernel modules while multi-user,
1331.22Sminoura## and other insecurities good only for development work.  Do not use this
1341.22Sminoura## option on a production machine.
1351.22Sminoura#options 	INSECURE
1361.22Sminoura
1371.22Sminoura## Allow non-root users to grab /dev/console with programs such as xconsole.
1381.22Sminoura## `xconsole' therefore does not need setuid root with this option enabled.
1391.22Sminoura#options 	UCONSOLE
1401.22Sminoura
1411.22Sminoura## `FDSCRIPTS' allows non-readable but executable scripts by providing a
1421.22Sminoura## pre-opened opaque file to the script interpreter.  `SETUIDSCRIPTS',
1431.22Sminoura## which implies FDSCRIPTS, allows scripts to be set-user-id using the same
1441.22Sminoura## opaque file mechanism.  Perl calls this "secure setuid scripts."
1451.22Sminoura
1461.22Sminoura#options 	FDSCRIPTS
1471.22Sminoura#options 	SETUIDSCRIPTS
1481.22Sminoura
1491.22Sminoura## Options for compatibility with previous releases foreign system binaries.
1501.22Sminoura
1511.22Sminouraoptions 	COMPAT_43	# 4.3BSD system interfaces
1521.22Sminouraoptions 	COMPAT_09	# NetBSD 0.9 binary compatibility
1531.22Sminouraoptions 	COMPAT_10	# NetBSD 1.0 binary compatibility
1541.22Sminouraoptions 	COMPAT_11	# NetBSD 1.1 binary compatibility
1551.22Sminouraoptions 	COMPAT_12	# NetBSD 1.2 binary compatibility
1561.22Sminouraoptions 	COMPAT_13	# NetBSD 1.3 binary compatibility
1571.36Saugustssoptions 	COMPAT_14	# NetBSD 1.4 binary compatibility
1581.70Sminouraoptions 	COMPAT_AOUT_M68K # compatibility with NetBSD/m68k a.out
1591.22Sminoura#options 	COMPAT_M68K4K	# NetBSD/m68k4k binaries
1601.22Sminoura#options 	COMPAT_SUNOS	# SunOS 4.x binary compatibility; broken
1611.33Skleink#options 	COMPAT_SVR4	# SVR4 binary compatibility; broken
1621.25Sitohy#options 	COMPAT_LINUX	# Linux/m68k binary compatibility
1631.60Sabs#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
1641.22Sminoura
1651.22Sminoura## File systems.
1661.22Sminourafile-system	FFS		# Berkeley Fast Filesystem
1671.22Sminourafile-system	NFS		# Sun NFS-compatible filesystem client
1681.22Sminourafile-system	KERNFS		# kernel data-structure filesystem
1691.34Sminoura#file-system	NULLFS		# NULL layered filesystem (buggy)
1701.40Swrstuden#file-system 	OVERLAY		# overlay file system
1711.22Sminourafile-system	MFS		# memory-based filesystem
1721.22Sminoura#file-system	FDESC		# user file descriptor filesystem
1731.22Sminourafile-system	UMAPFS		# uid/gid remapping filesystem
1741.34Sminoura#file-system	LFS		# Log-structured filesystem (experimental)
1751.34Sminoura#file-system	PORTAL		# portal filesystem (experimental)
1761.22Sminourafile-system	PROCFS		# /proc
1771.22Sminourafile-system	CD9660		# ISO 9660 + Rock Ridge file system
1781.34Sminoura#file-system	UNION		# union file system (a little buggy)
1791.22Sminourafile-system	MSDOSFS		# MS-DOS FAT filesystem(s).
1801.22Sminoura#file-system 	ADOSFS		# AmigaDOS filesystem
1811.22Sminoura
1821.22Sminoura## File system options.
1831.22Sminouraoptions 	NFSSERVER	# Sun NFS-compatible filesystem server
1841.48Sminoura#options 	QUOTA		# FFS quotas
1851.22Sminoura#options 	FFS_EI		# FFS Endian Independent support
1861.65Slukemoptions 	SOFTDEP		# FFS soft updates support.
1871.39Sitojun
1881.22Sminoura## Network protocol support.  In most environments, INET is required.
1891.22Sminouraoptions 	INET		# IP (Internet Protocol) v4
1901.39Sitojunoptions 	INET6		# IPV6
1911.39Sitojun#options 	IPSEC		# IP security
1921.39Sitojun#options 	IPSEC_ESP	# IP security (encryption part; define w/IPSEC)
1931.39Sitojun#options 	IPSEC_DEBUG	# debug for IP security
1941.22Sminoura#options 	GATEWAY		# packet forwarding ("router switch")
1951.22Sminoura#options 	MROUTING	# packet forwarding of multicast packets
1961.22Sminoura#options 	DIRECTED_BROADCAST	# allow broadcasts through routers
1971.22Sminoura#options 	NS		# Xerox NS networking
1981.22Sminoura#options 	NSIP		# Xerox NS tunneling over IP
1991.22Sminoura#options 	ISO,TPIP	# OSI networking
2001.22Sminoura#options 	EON		# OSI tunneling over IP
2011.22Sminoura#options 	CCITT,LLC,HDLC	# X.25 packet switched protocol
2021.48Sminoura#options 	NETATALK	# AppleTalk (over Ethernet) protocol
2031.48Sminoura#options 	NTP		# Network Time Protocol in-kernel support
2041.22Sminoura#options 	PPS_SYNC	# Add serial line synchronization for NTP
2051.35Schristosoptions 	PFIL_HOOKS	# Add pfil(9) hooks, intended for custom LKMs.
2061.48Sminoura#options 	IPFILTER_LOG	# Add ipmon(8) logging for ipfilter device
2071.48Sminoura#options 	PPP_BSDCOMP	# Add BSD compression to ppp device
2081.48Sminoura#options 	PPP_DEFLATE	# Add deflate (libz) compression to ppp device
2091.48Sminoura#options 	PPP_FILTER	# Add active filters for ppp (via bpf)
2101.60Sabs#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
2111.22Sminoura
2121.22Sminoura
2131.22Sminoura#### Device configurations
2141.22Sminoura
2151.28Sminoura## Fundamental devices; see also std.x68k
2161.28Sminouradmac0	at intio0 addr 0xe84000		# DMA controler
2171.28Sminouraxel0	at intio0
2181.28Sminouraopm0	at intio0 addr 0xe90000		# OPM: required for fdc
2191.22Sminoura
2201.22Sminoura## Display devices and console
2211.22Sminouragrfbus0	at mainbus0			# bitmapped displays
2221.22Sminouragrf0	at grfbus0			# multiplane graphics
2231.22Sminouragrf1	at grfbus0			# flexible graphics
2241.22Sminoura
2251.28Sminourakbd0	at mfp0				# standard keyboard
2261.22Sminouraite0	at grf0				# internal terminal emulator
2271.34Sminouraoptions 	ITE_KERNEL_ATTR=4	# bold for kernel messages
2281.28Sminoura					# see /sys/arch/x68k/dev/itevar.h
2291.29Sminourapseudo-device	pow		2	# software power switch
2301.22Sminoura
2311.22Sminoura## floppy disks
2321.28Sminourafdc0	at intio0 addr 0xe94000 intr 96 dma 0 dmaintr 100 # floppy controler
2331.22Sminourafd*	at fdc0 unit ?			# builtin floppy drives
2341.22Sminoura
2351.22Sminoura## SCSI devices
2361.28Sminourascsirom0 at intio0 addr 0xfc0000		# Built-in SCSI BIOS
2371.28Sminourascsirom1 at intio0 addr 0xea0020		# External SCSI BIOS
2381.28Sminouraspc0	at scsirom0				# genuin SCSI
2391.28Sminouraspc1	at scsirom1				# genuin SCSI
2401.22Sminourascsibus* at spc?
2411.28Sminouramha0	at scsirom1				# Mankai MK-HA1 (Mach-2)
2421.22Sminourascsibus* at mha0
2431.22Sminoura
2441.22Sminourasd*	at scsibus? target ? lun ?	# SCSI disks
2451.22Sminouracd*	at scsibus? target ? lun ?	# SCSI CD-ROMs
2461.48Sminoura#st*	at scsibus? target ? lun ?	# SCSI tapes
2471.22Sminoura#ss*	at scsibus? target ? lun ?	# SCSI scanners
2481.48Sminoura#ch*	at scsibus? target ? lun ?	# SCSI changer devices
2491.22Sminoura#uk*	at scsibus? target ? lun ?	# SCSI unknown devices
2501.22Sminoura
2511.44Sminoura## Ports
2521.28Sminourazsc0	at intio0 addr 0xe98000 intr 112
2531.22Sminourazstty0	at zsc0 channel 0		# built-in RS-232C
2541.22Sminourams0	at zsc0 channel 1		# standard mouse
2551.28Sminoura#zsc1	at intio0 addr 0xeafc00 intr 113
2561.22Sminoura#zstty2	at zsc1 channel 0
2571.22Sminoura#zstty3	at zsc1 channel 1
2581.28Sminoura#zsc2	at intio0 addr 0xeafc10 intr 114
2591.22Sminoura#zstty4	at zsc2 channel 0
2601.22Sminoura#zstty5	at zsc2 channel 1
2611.44Sminourapar0	at intio0 addr 0xe8c000 	# Builtin printer port
2621.22Sminoura
2631.29Sminourapseudo-device	sram			# battery-backuped static RAM
2641.29Sminourapseudo-device	bell			# OPM bell
2651.22Sminoura
2661.28Sminouraxcom0	at mainbus0			# NS16550 fast serial
2671.28Sminouraxcom1	at mainbus0
2681.22Sminoura
2691.57Sminoura## Audio device
2701.57Sminouravs0 at intio0 addr 0xe92000 dma 3 dmaintr 106
2711.57Sminouraaudio*	at vs?
2721.22Sminoura
2731.22Sminoura## Network interfaces
2741.67Sminourane*	at intio0 addr 0xece300 intr 249	# Nereid Ethernet
2751.72Sisakine*	at intio0 addr 0xeceb00 intr 248	# Nereid Ethernet
2761.28Sminouraneptune0 at intio0 addr 0xece000 intr 249	# Neptune-X
2771.28Sminouraneptune1 at intio0 addr 0xece400 intr 249	# Neptune-X at alt. addr.
2781.63Sisakine*	at neptune? addr 0x300			# NE2000 or clone
2791.22Sminoura
2801.22Sminoura
2811.22Sminoura#### Pseudo devices
2821.22Sminoura
2831.22Sminoura## A disk-like interface to files.  Can be used to create floppy, CD,
2841.22Sminoura## miniroot images, etc.
2851.22Sminoura
2861.22Sminourapseudo-device	vnd	4
2871.22Sminoura
2881.22Sminoura## Concatenated and striped disks; with this, you can create a software-based
2891.22Sminoura## disk array similar to a "RAID 0" setup.  See ccd(4).
2901.22Sminoura
2911.48Sminoura#pseudo-device	ccd	4
2921.23Soster
2931.23Soster## RAIDframe disk driver: software RAID driver.  See raid(4).
2941.23Soster
2951.73Sosterpseudo-device	raid	8
2961.73Sosteroptions 	RAID_AUTOCONFIG		# auto-configuration of RAID components
2971.73Soster# Options to enable various other RAIDframe RAID types.
2981.73Soster# options	RF_INCLUDE_EVENODD=1
2991.73Soster# options	RF_INCLUDE_RAID5_RS=1
3001.73Soster# options	RF_INCLUDE_PARITYLOGGING=1
3011.73Soster# options	RF_INCLUDE_CHAINDECLUSTER=1
3021.73Soster# options	RF_INCLUDE_INTERDECLUSTER=1
3031.73Soster# options 	RF_INCLUDE_PARITY_DECLUSTERING=1
3041.73Soster# options	RF_INCLUDE_PARITY_DECLUSTERING_DS=1
3051.73Soster
3061.22Sminoura
3071.22Sminoura## Memory disk device, used on boot floppies with compressed
3081.22Sminoura## kernel-plus-root-disk images.
3091.22Sminoura
3101.22Sminoura#pseudo-device	md	1
3111.22Sminoura
3121.22Sminoura## Loopback network interface; required
3131.22Sminourapseudo-device	loop
3141.22Sminoura
3151.22Sminoura## SLIP and CSLIP interfaces, for IP over a serial line.
3161.22Sminourapseudo-device	sl		1
3171.22Sminoura
3181.22Sminoura## PPP, the successor to SLIP.  See pppd(8).
3191.22Sminourapseudo-device	ppp		1
3201.71Smartin
3211.71Smartin## PPP over Ethernet (RFC 2516)
3221.71Smartinpseudo-device	pppoe
3231.22Sminoura
3241.22Sminoura## Network "tunnel" device, allowing protocol stacks to run in the userland.
3251.22Sminoura## This is used by the third-party user-mode "ppp" program, and others.
3261.48Sminoura#pseudo-device	tun		4
3271.24Shwr
3281.24Shwr## Generic L3 over IP tunnel
3291.24Shwr#pseudo-device	gre		2	# generic L3 over IP tunnel
3301.22Sminoura
3311.22Sminoura## Berkeley Packet Filter, required to run RARPD.  A generic C-language
3321.22Sminoura## interface that allows selective examining of incoming packets.
3331.48Sminourapseudo-device	bpfilter	4
3341.22Sminoura
3351.22Sminoura## IP Filter, used in firewall and NAT applications.  See ipnat(8) for
3361.22Sminoura## one example of the use of the IP Filter.
3371.48Sminoura#pseudo-device	ipfilter
3381.22Sminoura
3391.39Sitojun## for IPv6
3401.48Sminourapseudo-device	gif		1	# IPv[46] over IPv[46] tunnel (RFC1933)
3411.39Sitojun#pseudo-device	faith		1	# IPv[46] tcp relay translation i/f
3421.45Sitojun#pseudo-device	stf		1	# 6to4 IPv6 over IPv4 encapsulation
3431.58Shubertf
3441.58Shubertf## IEEE 802.1Q Virtual LAN encapsulation, see vlan(4).
3451.58Shubertfpseudo-device	vlan
3461.61Satatat
3471.61Satatat## Simple inter-network traffic bridging
3481.66Satatatpseudo-device	bridge
3491.22Sminoura
3501.22Sminoura#### Other device configuration
3511.22Sminoura
3521.22Sminoura## Pseudo ttys, required for network logins and programs like screen.
3531.34Sminoura
3541.52Sjdolecekpseudo-device	pty			# pseudo-terminals
3551.22Sminoura
3561.22Sminoura## Random device, used to implement /dev/random (a source of random noise),
3571.22Sminoura## and generate randomness for some kernel formulae.
3581.34Sminoura
3591.53Sitojunpseudo-device	rnd
3601.77Slukem
3611.77Slukempseudo-device	clockctl		# user control of clock subsystem
362