GENERIC revision 1.24
1# $NetBSD: GENERIC,v 1.24 2003/04/10 22:07:05 christos Exp $
2#
3# GENERIC machine description file
4# 
5# This machine description file is used to generate the default NetBSD
6# kernel.  The generic kernel does not include all options, subsystems
7# and device drivers, but should be useful for most applications.
8#
9# The machine description file can be customised for your specific
10# machine to reduce the kernel size and improve its performance.
11#
12# For further information on compiling NetBSD kernels, see the config(8)
13# man page.
14#
15# For further information on hardware support for this architecture, see
16# the intro(4) man page.  For further information about kernel options
17# for this architecture, see the options(4) man page.  For an explanation
18# of each device driver in this file see the section 4 man page for the
19# device.
20
21# Supports Sun2 (2/120, 2/170, 2/50, ...)
22# Supports root on: ie0, sd*, ...
23
24include 	"arch/sun2/conf/std.sun2"
25
26options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
27
28#ident 		"GENERIC-$Revision: 1.24 $"
29
30# Machines to be supported by this kernel
31#options 	FPU_EMULATE
32
33# Needs to be set per system.  i.e change these as you see fit
34maxusers	8
35
36# Standard system options
37options 	KTRACE		# system call tracing
38options 	SYSTRACE	# system call vetting via systrace(1)
39options 	SYSVMSG		# System V message queues
40options 	SYSVSEM		# System V semaphores
41#options 	SEMMNI=10	# number of semaphore identifiers
42#options 	SEMMNS=60	# number of semaphores in system
43#options 	SEMUME=10	# max number of undo entries per process
44#options 	SEMMNU=30	# number of undo structures in system
45options 	SYSVSHM		# System V shared memory
46#options 	SHMMAXPGS=1024	# 1024 pages is the default
47options 	LKM		# loadable kernel modules
48#options 	INSECURE	# disable kernel security level
49options 	USERCONF	# userconf(4) support
50#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
51
52# Enable experimental buffer queue strategy for better responsiveness under 
53# high disk I/O load. Use it with caution - it's not proven to be stable yet.
54#options 	NEW_BUFQ_STRATEGY
55
56# Which kernel debugger?  Uncomment either this:
57options 	DDB
58# ... or these for KGDB (gdb remote target)
59#makeoptions	DEBUG="-g"	# debugging symbols for gdb
60#options 	KGDB
61#options 	KGDB_DEV=0x0C00	# ttya=0C00 ttyb=0C01
62
63# Other debugging options
64#options 	DDB_HISTORY_SIZE=100	# enable history editing in DDB
65#options 	DEBUG		# kernel debugging code
66#options 	DIAGNOSTIC	# extra kernel sanity checking
67#options 	KMEMSTATS	# kernel memory statistics (vmstat -m)
68#options 	PMAP_DEBUG
69#options 	SCSIDEBUG
70#options 	SCSIVERBOSE		# Verbose SCSI errors
71
72# Compatibility options
73#options 	COMPAT_SUNOS	# can run SunOS 4.1.1 executables
74options 	COMPAT_43	# and 4.3BSD and ...
75options 	COMPAT_AOUT_M68K # support for NetBSD a.out executables
76#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
77options 	EXEC_AOUT	# support for a.out executables
78
79# Filesystem options
80file-system	FFS		# Berkeley Fast Filesystem
81file-system	NFS		# Sun NFS client support
82file-system	CD9660		# ISO 9660 + Rock Ridge file system
83file-system	FDESC		# /dev/fd/*
84file-system	KERNFS		# /kern
85file-system	NULLFS		# loopback file system
86file-system	OVERLAY		# overlay file system
87#file-system	PROCFS		# /proc
88file-system	UNION		# union file system
89file-system	MFS		# memory-based filesystem
90
91options 	NFSSERVER	# nfs server support
92options 	QUOTA		# FFS quotas
93#options 	FFS_EI		# FFS Endian Independant support
94options 	SOFTDEP		# FFS soft updates support.
95#options 	NFS_V2_ONLY	# Exclude NFS3 and NQNFS code to save space
96options 	VNODE_OP_NOINLINE # Save space by not inlining vnode op calls
97
98# Networking options
99options 	INET		# IP prototol stack support
100#options 	INET6		# IPV6
101#options 	IPSEC		# IP security
102#options 	IPSEC_ESP	# IP security (encryption part; define w/IPSEC)
103#options 	IPSEC_DEBUG	# debug for IP security
104#options 	GATEWAY		# IP packet forwarding
105#options 	ISO,TPIP	# OSI networking
106#options 	EON		# OSI tunneling over IP
107#options 	CCITT,LLC,HDLC	# X.25
108options 	PFIL_HOOKS	# pfil(9) packet filter hooks.
109#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
110
111# Work-around for root on slow servers (insurance...)
112options 	NFS_BOOT_RWSIZE=1024
113options 	NFS_BOOT_BOOTPARAM
114
115config		netbsd root on ? type ?
116
117#### Main bus.
118mainbus0 at root
119
120#### Bus types.
121
122obio0	at mainbus? 		# all Sun-2
123obmem0	at mainbus?		# all Sun-2
124mbmem0	at mainbus?		# 2/120, 2/170
125mbio0	at mainbus?		# 2/120, 2/170
126sun68kvme0	at mainbus?	# 2/50, 2/130, 2/160
127vme0	at sun68kvme0		# mi VME attachment
128
129#### Standard system devices.
130
131## The AM9513 clock chip.
132clock0	at obio0 addr 0x002800	# 2/120, 2/170
133clock0	at obio0 addr 0x7f2800	# 2/50, 2/130, 2/160
134
135## The MM58167 time-of-day chip.
136tod0	at obio0 addr 0x003800	# 2/120, 2/170
137tod0	at vme0 addr 0x200800	# 2/50, 2/130, 2/160
138
139#### Serial port configuration.
140
141## Zilog 8530 serial chips.  Each has two channels.
142## zs0 is ttya and ttyb.  zs1 is the keyboard and mouse.
143## zs0 is REQUIRED to use KGDB.
144zs0	at obio0 addr 0x002000	# 2/120, 2/170
145zs0	at obio0 addr 0x7f2000	# 2/50
146zs1	at obmem0 addr 0x780000	# 2/120, 2/170
147zs1	at obio0 addr 0x7f1800	# 2/50
148zs2	at mbmem0 addr 0x080800	# 2/120, 2/170 (first sc SCSI)
149zs3	at mbmem0 addr 0x081000	# 2/120, 2/170 (first sc SCSI)
150zs4	at mbmem0 addr 0x084800	# 2/120, 2/170 (second sc SCSI)
151zs5	at mbmem0 addr 0x085000	# 2/120, 2/170 (second sc SCSI)
152zstty*	at zs? channel ?	# ttya
153kbd0	at zstty?		# keyboard
154ms0	at zstty?		# mouse
155
156#### Disk controllers and disks.
157
158## PAL+logic-based "Sun SCSI 2" Multibus/VME SCSI controller.
159## This driver has several flags which may be enabled using
160## the "flags" directive.  Valid flags are:
161##
162## 0x0ff		Set (1<<target) to disable parity checking
163## 0x100		Set this bit to disable DMA interrupts (poll)
164## 0x200		Set this bit to disable DMA entirely (use PIO)
165##
166## For example: "flags 0x10f" would disable DMA interrupts,
167## and disable parity for targets 0-3
168
169sc0	at mbmem0 addr 0x80000 ipl 2 flags 0xff
170sc0	at vme0 addr 0x200000 irq 2 vect 0x40 flags 0xff
171sc1	at mbmem0 addr 0x84000 ipl 2 flags 0xff
172
173## NCR5380-based "Sun SCSI 3" VME SCSI controller.
174## This driver has several flags which may be enabled by OR'ing
175## the values and using the "flags" directive.
176## Valid flags are:
177##
178##	0x01		Use DMA (may be polled)
179##	0x02		Use DMA completion interrupts
180##	0x04		Allow disconnect/reselect
181##
182## E.g. the following would enable DMA, interrupts, and reselect:
183## si0	at vme0 addr 0x200000 ipl 3 vect 0x40 flags 0x07
184##
185## By default, DMA is enabled in the driver.
186
187si0	at vme0 addr 0x200000 irq 2 vect 0x40
188
189## These entries find devices on all SCSI busses and assign
190## unit numbers dynamically.
191scsibus* at sc?
192scsibus* at si?
193sd*	at scsibus? target ? lun ?		# SCSI disks
194st*	at scsibus? target ? lun ?		# SCSI tapes
195cd*	at scsibus? target ? lun ?		# SCSI CD-ROMs
196#ch*	at scsibus? target ? lun ?		# SCSI changer devices
197#ss*	at scsibus? target ? lun ?		# SCSI scanners
198#ses*	at scsibus? target ? lun ?		# SCSI SES/SAF-TE
199#uk*	at scsibus? target ? lun ?		# unknown SCSI
200
201# support old SCSI devices that don't understand the INQUIRY command
202options 	SCSI_OLD_NOINQUIRY
203
204## Xylogics 450 or 451 Multibus/VME SMD disk controllers and disks.
205#xyc0	at mbio0 addr 0xee40 ipl 2
206xyc0	at vme0 addr 0xee40 irq 2 vect 0x48
207#xyc1	at mbio0 addr 0xee48 ipl 2
208xyc1	at vme0 addr 0xee48 irq 2 vect 0x49
209xy*	at xyc? drive ?
210
211## Memory-disk device.
212pseudo-device	md		2
213
214#### Network interfaces.
215
216## Intel Ethernet (onboard, or Multibus/VME)
217ie0	at obio0 addr 0x7f0800 ipl 3		# 2/50
218ie0	at mbmem0 addr 0x88000 ipl 3
219ie1	at mbmem0 addr 0x8c000 ipl 3
220## VME: the first [addr,len] pair specifies the device registers;
221##	the second pair specifies the on-board memory buffer
222ie1	at vme0 addr 0xe88000,0xe00000 len -1,0x40000 irq 3 vect 0x75
223
224## 3Com Ethernet (Multibus only)
225ec0	at mbmem0 addr 0xe0000 ipl 3
226ec1	at mbmem0 addr 0xe2000 ipl 3
227
228## Frame buffers.
229
230## Sun "bwtwo" black and white framebuffer.
231bwtwo0	at obmem0 addr 0x700000	# 2/120, 2/170
232bwtwo0	at obio0 addr 0x0	# 2/50
233
234## PROM console driver -- if all else fails
235pcons0	at mainbus0			# PROM console
236
237#### Miscellaneous.
238pseudo-device	loop		1	# network loopback
239#pseudo-device	bpfilter	8	# packet filter
240#pseudo-device	bridge			# simple inter-network bridging
241#options	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
242#pseudo-device	sl		2	# CSLIP
243#pseudo-device	ppp		2	# PPP
244#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
245#pseudo-device	tun		2	# network tunneling over tty
246#pseudo-device	gre		2	# generic L3 over IP tunnel
247#pseudo-device	ipfilter		# ip filter
248#pseudo-device	gif		4	# IPv[46] over IPv[46] tunnel (RFC1933)
249#pseudo-device	faith		1	# IPv[46] tcp relay translation i/f
250#pseudo-device	stf		1	# 6to4 IPv6 over IPv4 encapsulation
251# rnd is EXPERIMENTAL
252#pseudo-device	rnd			# /dev/random and in-kernel generator
253
254pseudo-device	pty		32	# pseudo-terminals
255#pseudo-device	vnd		4	# paging to files
256#pseudo-device	ccd		4	# concatenated disks
257#pseudo-device	cgd		4	# cryptographic disk devices
258#pseudo-device	raid		4	# RAIDframe disk driver
259#options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
260# Options to enable various other RAIDframe RAID types.
261# options	RF_INCLUDE_EVENODD=1
262# options	RF_INCLUDE_RAID5_RS=1
263# options	RF_INCLUDE_PARITYLOGGING=1
264# options	RF_INCLUDE_CHAINDECLUSTER=1
265# options	RF_INCLUDE_INTERDECLUSTER=1
266# options 	RF_INCLUDE_PARITY_DECLUSTERING=1
267# options	RF_INCLUDE_PARITY_DECLUSTERING_DS=1
268pseudo-device	clockctl		# user control of clock subsystem
269