GENERIC32_IP12 revision 1.21
11.21Schristos#	$NetBSD: GENERIC32_IP12,v 1.21 2013/04/27 22:21:16 christos Exp $
21.1Ssekiya#
31.5Srumble# GENERIC32_IP12 machine description file
41.5Srumble# 
51.5Srumble# This machine description file is used to generate the default NetBSD
61.5Srumble# kernel.  The generic kernel does not include all options, subsystems
71.5Srumble# and device drivers, but should be useful for most applications.
81.1Ssekiya#
91.5Srumble# The machine description file can be customised for your specific
101.5Srumble# machine to reduce the kernel size and improve its performance.
111.1Ssekiya#
121.5Srumble# For further information on compiling NetBSD kernels, see the config(8)
131.5Srumble# man page.
141.5Srumble#
151.5Srumble# For further information on hardware support for this architecture, see
161.5Srumble# the intro(4) man page.  For further information about kernel options
171.5Srumble# for this architecture, see the options(4) man page.  For an explanation
181.5Srumble# of each device driver in this file see the section 4 man page for the
191.5Srumble# device.
201.5Srumble#
211.5Srumble#
221.5Srumble# Currently this config file supports Personal IRIS 4D/2x (IP6/IP10),
231.5Srumble# Personal IRIS 4D/3x (IP12) and Indigo R3k (IP12).
241.5Srumble#
251.5Srumble# Note that to load at beginning of memory, the kernel _must_ be under
261.5Srumble# 3.5MB in size to avoid stomping on (or being stomped on by) the PROM.
271.5Srumble#
281.5Srumble
291.5Srumbleinclude		"arch/sgimips/conf/std.sgimips"
301.5Srumble
311.5Srumblemakeoptions	TEXTADDR=0x80002000	# entry point
321.5Srumble
331.5Srumbleoptions 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
341.5Srumble
351.21Schristos#ident		"GENERIC32-IP2x-$Revision: 1.21 $"
361.5Srumble
371.5Srumblemaxusers	32
381.5Srumble
391.5Srumble# CPU related options
401.5Srumbleoptions 	MIPS1			# MIPS1 support
411.5Srumble
421.5Srumblemakeoptions	WANT_ECOFF="yes"	# Create an ECOFF kernel in addition
431.5Srumble					# to an ELF kernel -- required for
441.5Srumble					# booting from the PROM. 
451.5Srumble
461.5Srumbleoptions 	BLINK		# blinkenlitzen
471.5Srumble
481.5Srumble# Standard system options
491.5Srumble#options 	INSECURE	# disable kernel security levels
501.5Srumble
511.5Srumble#options 	NTP		# NTP phase/frequence locked loop
521.5Srumbleoptions 	KTRACE		# system call tracing via ktrace(1)
531.5Srumble
541.5Srumbleoptions 	SYSVMSG		# System V message queues
551.5Srumbleoptions 	SYSVSEM		# System V semaphores
561.5Srumbleoptions 	SYSVSHM		# System V shared memory
571.5Srumble
581.5Srumbleoptions 	USERCONF	# userconf(4) support
591.5Srumble#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
601.5Srumbleoptions 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
611.5Srumble
621.5Srumble# Enable experimental buffer queue strategy for better responsiveness under 
631.5Srumble# high disk I/O load. Use it with caution - it's not proven to be stable yet.
641.5Srumble#options 	BUFQ_READPRIO
651.5Srumble#options 	BUFQ_PRIOCSCAN
661.5Srumble
671.5Srumble# Diagnostic/debugging support options
681.5Srumble#options 	DIAGNOSTIC	# expensive kernel consistency checks
691.5Srumble#options 	DEBUG		# expensive debugging checks/support
701.5Srumble#options 	KMEMSTATS	# kernel memory statistics (vmstat -m)
711.5Srumbleoptions 	DDB		# in-kernel debugger
721.5Srumbleoptions 	DDB_HISTORY_SIZE=512	# enable history editing in DDB
731.5Srumble#options 	KGDB		# remote debugger
741.5Srumble#options 	KGDB_DEV=0x2301		# KGDB port - this is Serial(1)
751.5Srumble#options 	KGDB_DEVRATE=19200	# KGDB Baud Rate
761.5Srumble#makeoptions	DEBUG="-g"	# compile full symbol table
771.5Srumble
781.5Srumble# Compatibility options
791.5Srumbleoptions 	COMPAT_15	# NetBSD 1.5
801.5Srumbleoptions 	COMPAT_16	# NetBSD 1.6
811.5Srumbleoptions 	COMPAT_20	# NetBSD 2.0
821.5Srumbleoptions 	COMPAT_30	# NetBSD 3.0
831.5Srumbleoptions 	COMPAT_40	# NetBSD 4.0 compatibility.
841.5Srumbleoptions 	COMPAT_50	# NetBSD 5.0 compatibility.
851.16Sapboptions 	COMPAT_60	# NetBSD 6.0 compatibility.
861.5Srumble#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
871.5Srumble
881.5Srumble#options 	COMPAT_LINUX	# binary compatibility with Linux
891.5Srumble#options 	COMPAT_ULTRIX	# binary compatibility with Ultrix 
901.5Srumbleoptions 	COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.
911.5Srumble
921.5Srumble# File systems
931.5Srumblefile-system 	FFS		# UFS
941.5Srumble#file-system 	EXT2FS		# second extended file system (linux)
951.5Srumble#file-system 	LFS		# log-structured file system
961.5Srumblefile-system 	MFS		# memory file system
971.5Srumblefile-system 	NFS		# Network File System client
981.5Srumble#file-system 	NTFS		# Windows/NT file system (experimental)
991.5Srumblefile-system 	CD9660		# ISO 9660 + Rock Ridge file system
1001.5Srumblefile-system 	MSDOSFS		# MS-DOS file system
1011.5Srumble#file-system 	FDESC		# /dev/fd
1021.5Srumblefile-system 	KERNFS		# /kern
1031.5Srumble#file-system 	NULLFS		# loopback file system
1041.5Srumble#file-system 	OVERLAY		# overlay file system
1051.5Srumblefile-system 	PROCFS		# /proc
1061.5Srumble#file-system 	UMAPFS		# NULLFS + uid and gid remapping
1071.5Srumble#file-system 	UNION		# union file system
1081.5Srumble#file-system	CODA		# Coda File System; also needs vcoda (below)
1091.5Srumblefile-system	PTYFS		# /dev/pts/N support
1101.5Srumblefile-system	TMPFS		# Efficient memory file-system
1111.5Srumble#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
1121.5Srumblefile-system	EFS		# Silicon Graphics Extent File System
1131.5Srumble
1141.5Srumble# File system options
1151.10Sbouyeroptions 	QUOTA		# legacy UFS quotas
1161.10Sbouyeroptions 	QUOTA2		# new, in-filesystem UFS quotas
1171.5Srumble#options 	FFS_EI		# FFS Endian Independent support
1181.13Sdhollandoptions 	WAPBL		# File system journaling support
1191.5Srumble#options 	UFS_DIRHASH	# UFS Large Directory Hashing - Experimental
1201.5Srumbleoptions 	NFSSERVER	# Network File System server
1211.5Srumble#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
1221.5Srumble#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
1231.5Srumble				# immutable) behave as system flags.
1241.1Ssekiya
1251.5Srumble# Networking options
1261.5Srumble#options 	GATEWAY		# packet forwarding
1271.5Srumbleoptions 	INET		# IP + ICMP + TCP + UDP
1281.5Srumble#options 	INET6		# IPV6
1291.5Srumble#options 	IPSEC		# IP security
1301.5Srumble#options 	IPSEC_NAT_T	# IPsec NAT traversal (NAT-T)
1311.5Srumble#options 	IPSEC_DEBUG	# debug for IP security
1321.5Srumble#options 	MROUTING	# IP multicast routing
1331.5Srumble#options 	PIM		# Protocol Independent Multicast
1341.5Srumble#options 	NETATALK	# AppleTalk networking protocols
1351.5Srumble#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
1361.5Srumble#options 	PPP_DEFLATE	# Deflate compression support for PPP
1371.5Srumble#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
1381.5Srumbleoptions 	PFIL_HOOKS	# pfil(9) packet filter hooks
1391.5Srumbleoptions 	IPFILTER_LOG	# ipmon(8) log support
1401.5Srumbleoptions 	IPFILTER_LOOKUP	# ippool(8) support
1411.5Srumble#options 	IPFILTER_DEFAULT_BLOCK	# block all packets by default
1421.5Srumble#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
1431.1Ssekiya
1441.5Srumble#options 	ALTQ		# Manipulate network interfaces' output queues
1451.5Srumble#options 	ALTQ_BLUE	# Stochastic Fair Blue
1461.5Srumble#options 	ALTQ_CBQ	# Class-Based Queueing
1471.5Srumble#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
1481.5Srumble#options 	ALTQ_FIFOQ	# First-In First-Out Queue
1491.5Srumble#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
1501.5Srumble#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
1511.5Srumble#options 	ALTQ_LOCALQ	# Local queueing discipline
1521.5Srumble#options 	ALTQ_PRIQ	# Priority Queueing
1531.5Srumble#options 	ALTQ_RED	# Random Early Detection
1541.5Srumble#options 	ALTQ_RIO	# RED with IN/OUT
1551.5Srumble#options 	ALTQ_WFQ	# Weighted Fair Queueing
1561.1Ssekiya
1571.5Srumble# These options enable verbose messages for several subsystems.
1581.5Srumble# Warning, these may compile large string tables into the kernel!
1591.5Srumble#options 	MIIVERBOSE	# verbose PHY autoconfig messages
1601.5Srumble#options 	SCSIVERBOSE	# human readable SCSI error messages
1611.5Srumble
1621.5Srumbleoptions 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
1631.5Srumble
1641.5Srumble#options 	MEMORY_DISK_HOOKS
1651.5Srumble#options 	MEMORY_DISK_IS_ROOT
1661.5Srumble#options 	MEMORY_DISK_SERVER=0
1671.5Srumble#options 	MINIROOTSIZE=8192
1681.5Srumble
1691.5Srumble#options 	SCSI_DELAY=5
1701.5Srumble
1711.5Srumble#
1721.5Srumble# wscons options
1731.5Srumble#
1741.5Srumble# builtin terminal emulations
1751.5Srumble#options 	WSEMUL_SUN		# sun terminal emulation
1761.5Srumbleoptions 	WSEMUL_VT100		# VT100 / VT220 emulation
1771.15Sabsoptions 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
1781.5Srumble# different kernel output - see dev/wscons/wsdisplayvar.h
1791.5Srumbleoptions 	WS_KERNEL_FG=WSCOL_GREEN
1801.5Srumble#options 	WS_KERNEL_BG=WSCOL_BLACK
1811.5Srumble# compatibility to other console drivers
1821.5Srumbleoptions 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
1831.5Srumble# see dev/pckbport/wskbdmap_mfii.c for implemented layouts
1841.5Srumble#options 	PCKBD_LAYOUT="(KB_DE | KB_NODEAD)"
1851.5Srumble
1861.5Srumble
1871.5Srumble# Kernel root file system and dump configuration.
1881.5Srumbleconfig		netbsd	root on ? type ?
1891.5Srumble
1901.5Srumble# Main bus and CPU
1911.5Srumblemainbus0 	at root
1921.5Srumblecpu0 		at mainbus?
1931.5Srumble
1941.5Srumblesd*     at scsibus? target ? lun ?	# SCSI disks
1951.5Srumblest*     at scsibus? target ? lun ?	# SCSI tapes
1961.5Srumblecd*     at scsibus? target ? lun ?	# SCSI CD-ROMs
1971.5Srumblech*     at scsibus? target ? lun ?	# SCSI changer devices
1981.5Srumbless*     at scsibus? target ? lun ?	# SCSI scanners
1991.5Srumbleses*    at scsibus? target ? lun ?	# SCSI SES/SAF-TE devices
2001.5Srumbleuk*     at scsibus? target ? lun ?	# unknown SCSI
2011.5Srumble
2021.5Srumble# Common devices
2031.5Srumbleint0		at mainbus0			# Interrupt controller
2041.5Srumblescsibus*	at scsi?			# HPC or IOC SCSI
2051.5Srumble
2061.5Srumble# IP6/10 devices
2071.5Srumblectl0		at mainbus0 addr 0x1f800000	# Memory controller
2081.5Srumbleoioc0		at mainbus0 addr 0x1f900000	# 'Old' I/O Controller
2091.5Srumbledpclock0	at mainbus0 addr 0x1fbc0000	# RTC
2101.5Srumblescn0		at mainbus0 addr 0x1fb80004	# Signetics 2681 Serial Port
2111.5Srumbleoiocsc* 	at oioc? offset ?		# On-board WD33C93 SCSI
2121.5Srumblele*		at oioc? offset ?		# AMD LANCE AM7990 Ethernet
2131.5Srumble
2141.5Srumble# Personal Iris / Indigo R3k devices
2151.5Srumblepic0		at mainbus0 addr 0x1fa00000	# Memory Controller
2161.5Srumblegio0		at pic0				# GIO32 bus
2171.5Srumbledpclock0	at mainbus0 addr 0x1fb80e00	# RTC
2181.5Srumblehpc0 		at gio? addr 0x1fb80000		# High-perf. Peripheral. Ctrlers
2191.5Srumblehpc1 		at gio? addr 0x1fb00000
2201.5Srumblehpc2 		at gio? addr 0x1f980000
2211.5Srumblegrtwo*		at gio?				# Express (GR2) graphics
2221.5Srumblewsdisplay*	at grtwo? console ?
2231.5Srumblelight*		at gio?			# Light/Starter/Entry (LG1/LG2) graphics
2241.5Srumblewsdisplay*	at light? console ?
2251.5Srumblesq* 		at hpc? offset ?	# On-board ethernet / E++ adapter
2261.5Srumblewdsc* 		at hpc? offset ?	# On-board SCSI / GIO32 SCSI adapter
2271.5Srumblewskbd*		at zskbd? console ?
2281.5Srumblewsmouse*	at zsms? mux 0
2291.5Srumblezsc0 		at hpc0 offset ?
2301.5Srumblezstty*		at zsc0 channel ?
2311.5Srumblezsc1 		at hpc0 offset ?	# IP12 keyboard/mouse
2321.5Srumblezskbd0		at zsc1 channel 0
2331.5Srumblezsms0		at zsc1 channel 1
2341.5Srumble
2351.5Srumble# Pseudo-Devices
2361.5Srumble
2371.5Srumble# disk/mass storage pseudo-devices
2381.19Schristospseudo-device	ccd			# concatenated/striped disk devices
2391.19Schristos#pseudo-device	cgd			# cryptographic disk devices
2401.20Schristos#pseudo-device	raid			# RAIDframe disk driver
2411.5Srumble#options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
2421.7Spookapseudo-device	fss			# file system snapshot device
2431.8Shannkenpseudo-device	md			# memory disk device (ramdisk)
2441.5Srumblepseudo-device	vnd			# disk-like interface to files
2451.5Srumble#options 	VND_COMPRESSION		# compressed vnd(4)
2461.5Srumble
2471.5Srumble# network pseudo-devices
2481.5Srumblepseudo-device	bpfilter		# Berkeley packet filter
2491.5Srumble#pseudo-device	carp			# Common Address Redundancy Protocol
2501.5Srumblepseudo-device	ipfilter		# IP filter (firewall) and NAT
2511.5Srumblepseudo-device	loop			# network loopback
2521.5Srumble#pseudo-device	ppp			# Point-to-Point Protocol
2531.5Srumblepseudo-device	sl			# Serial Line IP
2541.5Srumble#pseudo-device	strip			# Starmode Radio IP (Metricom)
2551.5Srumblepseudo-device	tun			# network tunneling over tty
2561.5Srumblepseudo-device	tap			# virtual Ethernet
2571.5Srumblepseudo-device	gre			# generic L3 over IP tunnel
2581.5Srumblepseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
2591.5Srumble#pseudo-device	faith			# IPv[46] tcp relay translation i/f
2601.5Srumble#pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
2611.5Srumblepseudo-device	vlan			# IEEE 802.1q encapsulation
2621.5Srumblepseudo-device	bridge			# simple inter-network bridging
2631.5Srumblepseudo-device	agr			# IEEE 802.3ad link aggregation
2641.5Srumble#options 	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
2651.5Srumble#pseudo-device	pf			# PF packet filter
2661.5Srumble#pseudo-device	pflog			# PF log if
2671.5Srumble#pseudo-device   accf_data		# "dataready" accept filter
2681.5Srumble#pseudo-device   accf_http		# "httpready" accept filter
2691.5Srumble
2701.5Srumble# miscellaneous pseudo-devices
2711.5Srumblepseudo-device	pty			# pseudo-terminals
2721.21Schristospseudo-device	sequencer		# MIDI sequencer
2731.5Srumblepseudo-device	clockctl		# user control of clock subsystem
2741.5Srumblepseudo-device	ksyms			# /dev/ksyms
2751.5Srumblepseudo-device	wsmux                   # mouse & keyboard multiplexor
2761.5Srumblepseudo-device	wsfont
2771.5Srumble
2781.5Srumble# a pseudo device needed for Coda	# also needs CODA (above)
2791.20Schristos#pseudo-device	vcoda			# coda minicache <-> venus comm.
2801.5Srumble
2811.5Srumble# Veriexec
2821.5Srumble#
2831.5Srumble# a pseudo device needed for veriexec
2841.20Schristos#pseudo-device	veriexec
2851.5Srumble#
2861.5Srumble# Uncomment the fingerprint methods below that are desired. Note that
2871.5Srumble# removing fingerprint methods will have almost no impact on the kernel
2881.5Srumble# code size.
2891.5Srumble#
2901.5Srumble#options VERIFIED_EXEC_FP_RMD160
2911.5Srumble#options VERIFIED_EXEC_FP_SHA256
2921.5Srumble#options VERIFIED_EXEC_FP_SHA384
2931.5Srumble#options VERIFIED_EXEC_FP_SHA512
2941.5Srumble#options VERIFIED_EXEC_FP_SHA1
2951.5Srumble#options VERIFIED_EXEC_FP_MD5
296