GENERIC32_IP12 revision 1.15
11.15Sabs#	$NetBSD: GENERIC32_IP12,v 1.15 2012/08/17 20:11:41 abs 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.15Sabs#ident		"GENERIC32-IP2x-$Revision: 1.15 $"
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.5Srumble#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
861.5Srumble
871.5Srumble#options 	COMPAT_LINUX	# binary compatibility with Linux
881.5Srumble#options 	COMPAT_ULTRIX	# binary compatibility with Ultrix 
891.5Srumbleoptions 	COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.
901.5Srumble
911.5Srumble# File systems
921.5Srumblefile-system 	FFS		# UFS
931.5Srumble#file-system 	EXT2FS		# second extended file system (linux)
941.5Srumble#file-system 	LFS		# log-structured file system
951.5Srumblefile-system 	MFS		# memory file system
961.5Srumblefile-system 	NFS		# Network File System client
971.5Srumble#file-system 	NTFS		# Windows/NT file system (experimental)
981.5Srumblefile-system 	CD9660		# ISO 9660 + Rock Ridge file system
991.5Srumblefile-system 	MSDOSFS		# MS-DOS file system
1001.5Srumble#file-system 	FDESC		# /dev/fd
1011.5Srumblefile-system 	KERNFS		# /kern
1021.5Srumble#file-system 	NULLFS		# loopback file system
1031.5Srumble#file-system 	OVERLAY		# overlay file system
1041.5Srumblefile-system 	PROCFS		# /proc
1051.5Srumble#file-system 	UMAPFS		# NULLFS + uid and gid remapping
1061.5Srumble#file-system 	UNION		# union file system
1071.5Srumble#file-system	CODA		# Coda File System; also needs vcoda (below)
1081.5Srumblefile-system	PTYFS		# /dev/pts/N support
1091.5Srumblefile-system	TMPFS		# Efficient memory file-system
1101.5Srumble#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
1111.5Srumblefile-system	EFS		# Silicon Graphics Extent File System
1121.5Srumble
1131.5Srumble# File system options
1141.10Sbouyeroptions 	QUOTA		# legacy UFS quotas
1151.10Sbouyeroptions 	QUOTA2		# new, in-filesystem UFS quotas
1161.5Srumble#options 	FFS_EI		# FFS Endian Independent support
1171.13Sdhollandoptions 	WAPBL		# File system journaling support
1181.5Srumble#options 	UFS_DIRHASH	# UFS Large Directory Hashing - Experimental
1191.5Srumbleoptions 	NFSSERVER	# Network File System server
1201.5Srumble#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
1211.5Srumble#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
1221.5Srumble				# immutable) behave as system flags.
1231.1Ssekiya
1241.5Srumble# Networking options
1251.5Srumble#options 	GATEWAY		# packet forwarding
1261.5Srumbleoptions 	INET		# IP + ICMP + TCP + UDP
1271.5Srumble#options 	INET6		# IPV6
1281.5Srumble#options 	IPSEC		# IP security
1291.5Srumble#options 	IPSEC_ESP	# IP security (encryption part; define w/IPSEC)
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 	ISO,TPIP	# OSI
1351.5Srumble#options 	EON		# OSI tunneling over IP
1361.5Srumble#options 	NETATALK	# AppleTalk networking protocols
1371.5Srumble#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
1381.5Srumble#options 	PPP_DEFLATE	# Deflate compression support for PPP
1391.5Srumble#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
1401.5Srumbleoptions 	PFIL_HOOKS	# pfil(9) packet filter hooks
1411.5Srumbleoptions 	IPFILTER_LOG	# ipmon(8) log support
1421.5Srumbleoptions 	IPFILTER_LOOKUP	# ippool(8) support
1431.5Srumble#options 	IPFILTER_DEFAULT_BLOCK	# block all packets by default
1441.5Srumble#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
1451.1Ssekiya
1461.5Srumble#options 	ALTQ		# Manipulate network interfaces' output queues
1471.5Srumble#options 	ALTQ_BLUE	# Stochastic Fair Blue
1481.5Srumble#options 	ALTQ_CBQ	# Class-Based Queueing
1491.5Srumble#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
1501.5Srumble#options 	ALTQ_FIFOQ	# First-In First-Out Queue
1511.5Srumble#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
1521.5Srumble#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
1531.5Srumble#options 	ALTQ_LOCALQ	# Local queueing discipline
1541.5Srumble#options 	ALTQ_PRIQ	# Priority Queueing
1551.5Srumble#options 	ALTQ_RED	# Random Early Detection
1561.5Srumble#options 	ALTQ_RIO	# RED with IN/OUT
1571.5Srumble#options 	ALTQ_WFQ	# Weighted Fair Queueing
1581.1Ssekiya
1591.5Srumble# These options enable verbose messages for several subsystems.
1601.5Srumble# Warning, these may compile large string tables into the kernel!
1611.5Srumble#options 	MIIVERBOSE	# verbose PHY autoconfig messages
1621.5Srumble#options 	SCSIVERBOSE	# human readable SCSI error messages
1631.5Srumble
1641.5Srumbleoptions 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
1651.5Srumble
1661.5Srumble#options 	MEMORY_DISK_HOOKS
1671.5Srumble#options 	MEMORY_DISK_IS_ROOT
1681.5Srumble#options 	MEMORY_DISK_SERVER=0
1691.5Srumble#options 	MINIROOTSIZE=8192
1701.5Srumble
1711.5Srumble#options 	SCSI_DELAY=5
1721.5Srumble
1731.5Srumble#
1741.5Srumble# wscons options
1751.5Srumble#
1761.5Srumble# builtin terminal emulations
1771.5Srumble#options 	WSEMUL_SUN		# sun terminal emulation
1781.5Srumbleoptions 	WSEMUL_VT100		# VT100 / VT220 emulation
1791.15Sabsoptions 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
1801.5Srumble# different kernel output - see dev/wscons/wsdisplayvar.h
1811.5Srumbleoptions 	WS_KERNEL_FG=WSCOL_GREEN
1821.5Srumble#options 	WS_KERNEL_BG=WSCOL_BLACK
1831.5Srumble# compatibility to other console drivers
1841.5Srumbleoptions 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
1851.5Srumble# see dev/pckbport/wskbdmap_mfii.c for implemented layouts
1861.5Srumble#options 	PCKBD_LAYOUT="(KB_DE | KB_NODEAD)"
1871.5Srumble
1881.5Srumble
1891.5Srumble# Kernel root file system and dump configuration.
1901.5Srumbleconfig		netbsd	root on ? type ?
1911.5Srumble
1921.5Srumble# Main bus and CPU
1931.5Srumblemainbus0 	at root
1941.5Srumblecpu0 		at mainbus?
1951.5Srumble
1961.5Srumblesd*     at scsibus? target ? lun ?	# SCSI disks
1971.5Srumblest*     at scsibus? target ? lun ?	# SCSI tapes
1981.5Srumblecd*     at scsibus? target ? lun ?	# SCSI CD-ROMs
1991.5Srumblech*     at scsibus? target ? lun ?	# SCSI changer devices
2001.5Srumbless*     at scsibus? target ? lun ?	# SCSI scanners
2011.5Srumbleses*    at scsibus? target ? lun ?	# SCSI SES/SAF-TE devices
2021.5Srumbleuk*     at scsibus? target ? lun ?	# unknown SCSI
2031.5Srumble
2041.5Srumble# Common devices
2051.5Srumbleint0		at mainbus0			# Interrupt controller
2061.5Srumblescsibus*	at scsi?			# HPC or IOC SCSI
2071.5Srumble
2081.5Srumble# IP6/10 devices
2091.5Srumblectl0		at mainbus0 addr 0x1f800000	# Memory controller
2101.5Srumbleoioc0		at mainbus0 addr 0x1f900000	# 'Old' I/O Controller
2111.5Srumbledpclock0	at mainbus0 addr 0x1fbc0000	# RTC
2121.5Srumblescn0		at mainbus0 addr 0x1fb80004	# Signetics 2681 Serial Port
2131.5Srumbleoiocsc* 	at oioc? offset ?		# On-board WD33C93 SCSI
2141.5Srumblele*		at oioc? offset ?		# AMD LANCE AM7990 Ethernet
2151.5Srumble
2161.5Srumble# Personal Iris / Indigo R3k devices
2171.5Srumblepic0		at mainbus0 addr 0x1fa00000	# Memory Controller
2181.5Srumblegio0		at pic0				# GIO32 bus
2191.5Srumbledpclock0	at mainbus0 addr 0x1fb80e00	# RTC
2201.5Srumblehpc0 		at gio? addr 0x1fb80000		# High-perf. Peripheral. Ctrlers
2211.5Srumblehpc1 		at gio? addr 0x1fb00000
2221.5Srumblehpc2 		at gio? addr 0x1f980000
2231.5Srumblegrtwo*		at gio?				# Express (GR2) graphics
2241.5Srumblewsdisplay*	at grtwo? console ?
2251.5Srumblelight*		at gio?			# Light/Starter/Entry (LG1/LG2) graphics
2261.5Srumblewsdisplay*	at light? console ?
2271.5Srumblesq* 		at hpc? offset ?	# On-board ethernet / E++ adapter
2281.5Srumblewdsc* 		at hpc? offset ?	# On-board SCSI / GIO32 SCSI adapter
2291.5Srumblewskbd*		at zskbd? console ?
2301.5Srumblewsmouse*	at zsms? mux 0
2311.5Srumblezsc0 		at hpc0 offset ?
2321.5Srumblezstty*		at zsc0 channel ?
2331.5Srumblezsc1 		at hpc0 offset ?	# IP12 keyboard/mouse
2341.5Srumblezskbd0		at zsc1 channel 0
2351.5Srumblezsms0		at zsc1 channel 1
2361.5Srumble
2371.5Srumble# Pseudo-Devices
2381.5Srumble
2391.5Srumble# disk/mass storage pseudo-devices
2401.5Srumblepseudo-device	ccd		4	# concatenated/striped disk devices
2411.5Srumble#pseudo-device	cgd		4	# cryptographic disk devices
2421.5Srumble#pseudo-device	raid		4	# RAIDframe disk driver
2431.5Srumble#options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
2441.7Spookapseudo-device	fss			# file system snapshot device
2451.8Shannkenpseudo-device	md			# memory disk device (ramdisk)
2461.5Srumblepseudo-device	vnd			# disk-like interface to files
2471.5Srumble#options 	VND_COMPRESSION		# compressed vnd(4)
2481.5Srumble
2491.5Srumble# network pseudo-devices
2501.5Srumblepseudo-device	bpfilter		# Berkeley packet filter
2511.5Srumble#pseudo-device	carp			# Common Address Redundancy Protocol
2521.5Srumblepseudo-device	ipfilter		# IP filter (firewall) and NAT
2531.5Srumblepseudo-device	loop			# network loopback
2541.5Srumble#pseudo-device	ppp			# Point-to-Point Protocol
2551.5Srumblepseudo-device	sl			# Serial Line IP
2561.5Srumble#pseudo-device	strip			# Starmode Radio IP (Metricom)
2571.5Srumblepseudo-device	tun			# network tunneling over tty
2581.5Srumblepseudo-device	tap			# virtual Ethernet
2591.5Srumblepseudo-device	gre			# generic L3 over IP tunnel
2601.5Srumblepseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
2611.5Srumble#pseudo-device	faith			# IPv[46] tcp relay translation i/f
2621.5Srumble#pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
2631.5Srumblepseudo-device	vlan			# IEEE 802.1q encapsulation
2641.5Srumblepseudo-device	bridge			# simple inter-network bridging
2651.5Srumblepseudo-device	agr			# IEEE 802.3ad link aggregation
2661.5Srumble#options 	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
2671.5Srumble#pseudo-device	pf			# PF packet filter
2681.5Srumble#pseudo-device	pflog			# PF log if
2691.5Srumble#pseudo-device   accf_data		# "dataready" accept filter
2701.5Srumble#pseudo-device   accf_http		# "httpready" accept filter
2711.5Srumble
2721.5Srumble# miscellaneous pseudo-devices
2731.5Srumblepseudo-device	pty			# pseudo-terminals
2741.5Srumblepseudo-device	sequencer	1	# MIDI sequencer
2751.5Srumblepseudo-device	clockctl		# user control of clock subsystem
2761.5Srumblepseudo-device	ksyms			# /dev/ksyms
2771.5Srumblepseudo-device	wsmux                   # mouse & keyboard multiplexor
2781.5Srumblepseudo-device	wsfont
2791.5Srumble
2801.5Srumble# a pseudo device needed for Coda	# also needs CODA (above)
2811.5Srumble#pseudo-device	vcoda		4	# coda minicache <-> venus comm.
2821.5Srumble
2831.5Srumble# Veriexec
2841.5Srumble#
2851.5Srumble# a pseudo device needed for veriexec
2861.5Srumble#pseudo-device	veriexec		1
2871.5Srumble#
2881.5Srumble# Uncomment the fingerprint methods below that are desired. Note that
2891.5Srumble# removing fingerprint methods will have almost no impact on the kernel
2901.5Srumble# code size.
2911.5Srumble#
2921.5Srumble#options VERIFIED_EXEC_FP_RMD160
2931.5Srumble#options VERIFIED_EXEC_FP_SHA256
2941.5Srumble#options VERIFIED_EXEC_FP_SHA384
2951.5Srumble#options VERIFIED_EXEC_FP_SHA512
2961.5Srumble#options VERIFIED_EXEC_FP_SHA1
2971.5Srumble#options VERIFIED_EXEC_FP_MD5
298