GENERIC revision 1.145
1# $NetBSD: GENERIC,v 1.145 2006/11/11 18:47:09 jmmv 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
21include		"arch/arc/conf/std.arc"
22
23options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
24
25#ident		"GENERIC-$Revision: 1.145 $"
26
27maxusers	32		# estimated number of users
28
29# Platform support
30options 	PLATFORM_ACER_PICA_61		# PICA, NEC ImageRISCstation
31options 	PLATFORM_DESKTECH_ARCSTATION_I	# DeskStation rPC44
32options 	PLATFORM_DESKTECH_TYNE		# DeskStation Tyne
33options 	PLATFORM_MICROSOFT_JAZZ		# MIPS Magnum
34options 	PLATFORM_NEC_J96A		# NEC Express 5800/240 EISA R4K
35options 	PLATFORM_NEC_JC94		# NEC Express 5800/230 PCI R4K
36options 	PLATFORM_NEC_R94		# NEC RISCstation 2200 EISA
37options 	PLATFORM_NEC_R96	# NEC Express RISCserver, RISCserver 2200
38options 	PLATFORM_NEC_RAX94		# NEC RISCstation 2200 PCI
39options 	PLATFORM_NEC_RD94		# NEC RISCstation 2250
40options 	PLATFORM_SNI_RM200PCI
41
42# Standard system options
43
44options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
45options 	NTP		# NTP phase/frequency locked loop
46
47options 	KTRACE		# system call tracing via ktrace(1)
48#options 	SYSTRACE	# system call vetting via systrace(1)
49
50options 	SYSVMSG		# System V-like message queues
51options 	SYSVSEM		# System V-like semaphores
52#options 	SEMMNI=10	# number of semaphore identifiers
53#options 	SEMMNS=60	# number of semaphores in system
54#options 	SEMUME=10	# max number of undo entries per process
55#options 	SEMMNU=30	# number of undo structures in system
56options 	SYSVSHM		# System V-like memory sharing
57#options 	SHMMAXPGS=1024	# 1024 pages is the default
58options 	P1003_1B_SEMAPHORE # p1003.1b semaphore support
59
60options 	LKM		# loadable kernel modules
61
62options 	USERCONF	# userconf(4) support
63#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
64options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
65
66# Enable experimental buffer queue strategy for better responsiveness under 
67# high disk I/O load. Use it with caution - it's not proven to be stable yet.
68#options 	BUFQ_READPRIO
69#options 	BUFQ_PRIOCSCAN
70
71# Diagnostic/debugging support options
72#options 	DIAGNOSTIC		# cheap kernel consistency checks
73#options 	DEBUG			# expensive debugging checks/support
74#options 	KMEMSTATS		# kernel memory statistics (vmstat -m)
75options 	DDB			# in-kernel debugger
76#options 	DDB_HISTORY_SIZE=100	# enable history editing in DDB
77#options 	KGDB			# remote gdb
78#options 	KGDB_DEVRATE=19200	# kernel gdb port rate (default 9600)
79#options 	KGDB_DEV="17*256+0"	# device for kernel gdb
80#makeoptions	DEBUG="-g"		# compile full symbol table
81
82# Compatibility options
83#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
84options 	COMPAT_10	# NetBSD 1.0,
85options 	COMPAT_11	# NetBSD 1.1,
86options 	COMPAT_12	# NetBSD 1.2,
87options 	COMPAT_13	# NetBSD 1.3,
88options 	COMPAT_14	# NetBSD 1.4,
89options 	COMPAT_15	# NetBSD 1.5,
90options 	COMPAT_16	# NetBSD 1.6,
91options 	COMPAT_20	# NetBSD 2.0,
92options 	COMPAT_30	# NetBSD 3.0 compatibility.
93options 	COMPAT_43	# and 4.3BSD
94options 	COMPAT_386BSD_MBRPART # recognize old partition ID
95options 	COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.
96
97# mipsel specific
98options 	COMPAT_ULTRIX	# Ultrix binary compatibility
99options 	EXEC_ECOFF	# Ultrix RISC binaries are ECOFF format
100
101# File systems
102file-system 	FFS		# fast filesystem
103file-system 	EXT2FS		# second extended file system (linux)
104file-system 	LFS		# log-structured file system
105file-system 	MFS		# memory file system
106file-system 	NTFS		# Windows/NT file system (experimental)
107file-system 	CD9660		# ISO 9660 + Rock Ridge file system
108file-system 	MSDOSFS		# MS-DOS file system
109file-system 	NFS		# Network File System client
110file-system 	FDESC		# /dev/fd
111file-system 	KERNFS		# /kern
112file-system 	NULLFS		# loopback file system
113file-system 	OVERLAY		# overlay file system
114file-system 	PORTAL		# portal filesystem (still experimental)
115file-system 	PROCFS		# /proc
116file-system 	UMAPFS		# NULLFS + uid and gid remapping
117file-system 	UNION		# union file system
118#file-system	CODA		# Coda File System; also needs vcoda (below)
119file-system	PTYFS		# /dev/pts/N support
120#file-system	TMPFS		# Efficient memory file-system
121#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
122
123# File system options
124options 	QUOTA		# FFS quotas
125#options 	FFS_EI		# FFS Endian Independent support
126options 	SOFTDEP		# FFS soft updates support.
127#options 	UFS_DIRHASH	# UFS Large Directory Hashing - Experimental
128options 	NFSSERVER	# Network File System server
129#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
130				# immutable) behave as system flags.
131#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
132
133# Networking options
134#options 	GATEWAY		# IP packet forwarding
135options 	INET		# IP + ICMP + TCP + UDP
136options 	INET6		# IPV6
137#options 	IPSEC		# IP security
138#options 	IPSEC_ESP	# IP security (encryption part; define w/IPSEC)
139#options 	IPSEC_NAT_T	# IPsec NAT traversal (NAT-T)
140#options 	IPSEC_DEBUG	# debug for IP security
141#options 	MROUTING	# IP multicast routing
142#options 	PIM		# Protocol Independent Multicast
143options 	ISO,TPIP	# OSI networking
144#options 	EON		# OSI tunneling over IP
145options 	NETATALK	# AppleTalk networking protocols
146options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
147options 	PPP_DEFLATE	# Deflate compression support for PPP
148options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
149options 	PFIL_HOOKS	# pfil(9) packet filter hooks
150options 	IPFILTER_LOG	# ipmon(8) log support
151options 	IPFILTER_LOOKUP	# ippool(8) support
152#options 	IPFILTER_DEFAULT_BLOCK	# block all packets by default
153#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
154
155#options 	ALTQ		# Manipulate network interfaces' output queues
156#options 	ALTQ_BLUE	# Stochastic Fair Blue
157#options 	ALTQ_CBQ	# Class-Based Queueing
158#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
159#options 	ALTQ_FIFOQ	# First-In First-Out Queue
160#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
161#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
162#options 	ALTQ_LOCALQ	# Local queueing discipline
163#options 	ALTQ_PRIQ	# Priority Queueing
164#options 	ALTQ_RED	# Random Early Detection
165#options 	ALTQ_RIO	# RED with IN/OUT
166#options 	ALTQ_WFQ	# Weighted Fair Queueing
167
168# These options enable verbose messages for several subsystems.
169# Warning, these may compile large string tables into the kernel!
170#options 	EISAVERBOSE	# verbose EISA device autoconfig messages
171options 	MIIVERBOSE	# verbose PHY autoconfig messages
172options 	PCIVERBOSE	# verbose PCI device autoconfig messages
173#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
174options 	SCSIVERBOSE	# human readable SCSI error messages
175
176# wscons terminal emulation
177options 	WSEMUL_VT100	# VT100 emulation
178
179# Kernel root file system and dump configuration.
180options 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
181config		netbsd	root on ? type ?
182#config		netbsd	root on sd0a type ffs
183#config		netbsd	root on ? type nfs
184
185#
186# Device configuration
187#
188
189mainbus0	at root
190cpu*		at mainbus0
191
192#### Jazz-Internal bus devices
193
194# PLATFORM_ACER_PICA_61
195# PLATFORM_MICROSOFT_JAZZ
196# PLATFORM_NEC_J96A
197# PLATFORM_NEC_JC94
198# PLATFORM_NEC_R94
199# PLATFORM_NEC_R96
200# PLATFORM_NEC_RAX94
201# PLATFORM_NEC_RD94
202jazzio*		at mainbus0	# Jazz-Internal bus host bridge.
203
204timer0		at jazzio?
205mcclock0 	at jazzio?
206#pc0		at jazzio?
207#opms0		at jazzio?
208vga0		at jazzio?	# Jazz localbus VGA
209pckbc0		at jazzio?	# PC keyboard controller
210com0		at jazzio?
211com1		at jazzio?
212lpt0		at jazzio?
213sn0		at jazzio?
214
215fdc0		at jazzio?
216fd*		at fdc? drive ?
217
218asc0		at jazzio? flags 0x000000	# NCR53C9x SCSI
219osiop*		at jazzio? flags 0x00000	# NCR53C710 SCSI
220oosiop* 	at jazzio?			# NCR53C700 SCSI
221
222#### ISA bus devices
223
224# PLATFORM_ACER_PICA_61
225# PLATFORM_MICROSOFT_JAZZ
226# PLATFORM_NEC_J96A
227# PLATFORM_NEC_R94
228# PLATFORM_NEC_R96
229jazzisabr*	at mainbus0	# Jazz-(E)ISA bus bridge.
230isa*		at jazzisabr?
231
232# PLATFORM_DESKTECH_ARCSTATION_I
233arcsisabr*	at mainbus0	# DeskStation rPC44 ISA host bridge.
234isa*		at arcsisabr?
235
236# PLATFORM_DESKTECH_TYNE
237tyneisabr*	at mainbus0	# DeskStation Tyne ISA host bridge.
238isa*		at tyneisabr?
239
240#isadma0 	at isa?
241
242isapnp0 	at isa?
243
244timer0		at isa? port 0x40 irq 0
245mcclock0 	at isa? port 0x70
246
247#pc0		at isa? irq 1			# generic PC console device
248#opms0		at isa? irq 12			# PS/2 auxiliary port mouse
249vga0		at isa?
250#options 	VGA_RASTERCONSOLE
251options 	VGA_RESET
252pckbc0		at isa?				# PC keyboard controller
253com0		at isa? port 0x3f8 irq 4
254com1		at isa? port 0x2f8 irq 3
255com2		at isa? port 0x3e8 irq 4
256com3		at isa? port 0x2e8 irq 3
257ast0		at isa? port 0x1a0 irq 3	# AST 4-port serial cards
258com*		at ast? slave ?
259
260# Joystick driver. Probe is a little strange; add only if you have one.
261#joy0		at isa? port 0x201
262
263# ISA ST506, ESDI, and IDE controllers
264# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
265# fall back to 16bits I/O if 32bits I/O are not functional).
266# Some controllers pass the initial 32bit test, but will fail later.
267wdc0		at isa? port 0x1f0 irq 14 flags 0x00
268#wdc1		at isa? port 0x170 irq 15 flags 0x00
269wdc*		at isapnp?
270
271# ISA parallel printer interfaces
272lpt0		at isa? port 0x378 irq 7
273
274# ISA network interfaces
275#ec0		at isa? port 0x250 iomem 0xd8000 irq 9	# 3Com 3c503 Ethernet
276ep*		at isa? port ? irq ?		# 3C509 ethernet cards
277ep*		at isapnp?			# 3C509B ethernet card
278ne0		at isa? port 0x280 irq 9	# NE[12]000 ethernet cards
279ne1		at isa? port 0x300 irq 10
280ne*		at isapnp?			# NE[12]000 PnP ethernet
281we0		at isa? port 0x280 iomem 0xd0000 irq 9	# WD/SMC Ethernet
282we1		at isa? port 0x300 iomem 0xcc000 irq 10
283
284# XXX - should be configured
285#btl0		at isa? port 0x330 irq ? drq ?
286
287#### PCI bus devices
288
289# PLATFORM_NEC_JC94
290# PLATFORM_NEC_RAX94
291# PLATFORM_NEC_RD94
292necpb*		at mainbus0	# NEC RISCstation PCI host bridge.
293pci*		at necpb?
294pci*		at ppb? bus ?
295options 	PCI_NETBSD_CONFIGURE
296
297ppb*		at pci? dev ? function ?	# PCI-PCI bridges
298
299# PCI cryptographic devices
300hifn*	at pci? dev ? function ?	# Hifn 7755/7811/795x
301ubsec*	at pci? dev ? function ?	# Broadcom 5501/5601/580x/582x
302
303#vga*	 	at pci? dev ? function ?
304tga*		at pci? dev ? function ?	# DEC ZLXp-E[123] Graphics
305
306ahc*		at pci? dev ? function ?	# Adaptec [23]94x, aic78x0 SCSI
307iha*		at pci? dev ? function ?	# Initio INIC-940/950 SCSI
308pcscp*		at pci? dev ? function ?	# AMD Am53c974 PCscsi-PCI SCSI
309siop*		at pci? dev ? function ?	# NCR/Symbios 53c8xx SCSI
310esiop*		at pci? dev ? function ?	# NCR/Symbios 53c875/95/1010
311trm*		at pci? dev ? function ?	# Tekram DC-395/315 SCSI
312
313# PCI IDE controllers - see pciide(4) for supported hardware.
314# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
315# how to set up DMA modes for this chip. This may work, or may cause
316# a machine hang with some controllers.
317pciide* 	at pci? dev ? function ? flags 0x0000	# GENERIC pciide driver
318acardide*	at pci? dev ? function ?	# Acard IDE controllers
319#aceride* 	at pci? dev ? function ?	# Acer Lab IDE controllers
320artsata*	at pci? dev ? function ?	# Intel i31244 SATA controller
321cmdide* 	at pci? dev ? function ?	# CMD tech IDE controllers
322cypide* 	at pci? dev ? function ?	# Cypress IDE controllers
323hptide* 	at pci? dev ? function ?	# Triones/HighPoint IDE controllers
324optiide* 	at pci? dev ? function ?	# Opti IDE controllers
325pdcide* 	at pci? dev ? function ?	# Promise IDE controllers
326pdcsata* 	at pci? dev ? function ?	# Promise SATA150 controllers
327satalink*	at pci? dev ? function ?	# SiI SATALink controllers
328#siside* 	at pci? dev ? function ?	# SiS IDE controllers
329slide*  	at pci? dev ? function ?	# Symphony Labs IDE controllers
330#viaide* 	at pci? dev ? function ?	# VIA/AMD/Nvidia IDE controllers
331
332epic*		at pci? dev ? function ?	# SMC EPIC/100 Ethernet
333ex*		at pci? dev ? function ?	# 3Com 90x[BC]
334fxp*		at pci? dev ? function ?	# Intel EtherExpress PRO
335ne*		at pci? dev ? function ?	# NE2000-compatible
336pcn*		at pci? dev ? function ?	# AMD PCnet-PCI Ethernet
337rtk*		at pci? dev ? function ?	# Realtek 8129/8139
338sip*		at pci? dev ? function ?	# SiS 900/DP83815 Ethernet
339tlp*		at pci? dev ? function ?	# DECchip 21x4x and clones
340
341#### MII/PHY support
342
343bmtphy*		at mii? phy ?		# Broadcom BCM5201 and BCM5202 PHYs
344exphy*		at mii? phy ?		# 3Com internal PHYs
345icsphy*		at mii? phy ?		# Integrated Circuit Systems ICS189x
346inphy*		at mii? phy ?		# Intel 82555 PHYs
347iophy*		at mii? phy ?		# Intel 82553 PHYs
348lxtphy*		at mii? phy ?		# Level One LXT-970 PHYs
349nsphy*		at mii? phy ?		# NS83840 PHYs
350nsphyter*	at mii? phy ?		# NS83843 PHYs
351qsphy*		at mii? phy ?		# Quality Semiconductor QS6612 PHYs
352sqphy*		at mii? phy ?		# Seeq 80220/80221/80223 PHYs
353tlphy*		at mii? phy ?		# ThunderLAN PHYs
354tqphy*		at mii? phy ?		# TDK Semiconductor PHYs
355ukphy*		at mii? phy ?		# generic unknown PHYs
356
357# SCSI bus support
358scsibus*	at scsi?
359
360#### SCSI bus devices
361
362sd*		at scsibus? target ? lun ?
363st*		at scsibus? target ? lun ?
364cd*		at scsibus? target ? lun ?
365ch*		at scsibus? target ? lun ?
366ss*		at scsibus? target ? lun ?
367uk*		at scsibus? target ? lun ?
368
369# ATA (IDE) bus support
370atabus* 	at ata?
371
372# IDE drives
373# Flags are used only with controllers that support DMA operations
374# and mode settings (e.g. some pciide controllers)
375# The lowest order four bits (rightmost digit) of the flags define the PIO
376# mode to use, the next set of four bits the DMA mode and the third set the
377# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
378# to use, and the last bit must be 1 for this setting to be used.
379# For DMA and UDMA, 0xf (1111) means 'disable'.
380# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
381# (0xc=1100, 0xa=1010, 0xf=1111)
382# 0x0000 means "use whatever the drive claims to support".
383wd*		at atabus? drive ? flags 0x0000
384
385# ATAPI bus support
386atapibus*	at atapi?
387
388#### ATAPI bus devices
389
390# flags have the same meaning as for IDE drives.
391cd*		at atapibus? drive ? flags 0x0000	# ATAPI CD-ROM drives
392sd*		at atapibus? drive ? flags 0x0000	# ATAPI disk drives
393uk*		at atapibus? drive ? flags 0x0000	# ATAPI unknown
394
395#### Workstation Console attachments
396
397wsdisplay*	at vga?
398wsdisplay*	at tga?
399pckbd*		at pckbc?	# PC keyboard (kbd port)
400wskbd*		at pckbd?
401pms*		at pckbc?	# PS/2-style mouse (aux port)
402wsmouse*	at pms?
403
404#### Pseudo devices
405
406pseudo-device 	crypto			# /dev/crypto device
407pseudo-device	swcrypto		# software crypto implementation
408
409# disk/mass storage pseudo-devices
410pseudo-device	ccd		4	# concatenated/striped disk devices
411#pseudo-device	cgd		4	# cryptographic disk devices
412pseudo-device	raid		8	# RAIDframe disk driver
413# Options to enable various other RAIDframe RAID types.
414#options 	RF_INCLUDE_EVENODD=1
415#options 	RF_INCLUDE_RAID5_RS=1
416#options 	RF_INCLUDE_PARITYLOGGING=1
417#options 	RF_INCLUDE_CHAINDECLUSTER=1
418#options 	RF_INCLUDE_INTERDECLUSTER=1
419#options 	RF_INCLUDE_PARITY_DECLUSTERING=1
420#options 	RF_INCLUDE_PARITY_DECLUSTERING_DS=1
421pseudo-device	fss		4	# file system snapshot device
422pseudo-device	md		1	# memory disk device (ramdisk)
423pseudo-device	vnd			# disk-like interface to files
424#options 	VND_COMPRESSION		# compressed vnd(4)
425
426# network pseudo-devices
427pseudo-device	bpfilter		# Berkeley packet filter
428#pseudo-device	carp			# Common Address Redundancy Protocol
429pseudo-device	ipfilter		# IP filter (firewall) and NAT
430pseudo-device	loop		1	# network loopback
431pseudo-device	ppp			# Point-to-Point Protocol
432pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
433pseudo-device	sl			# Serial Line IP
434#pseudo-device	strip			# Starmode Radio IP (Metricom)
435pseudo-device	tun			# network tunneling over tty
436pseudo-device	tap			# virtual Ethernet
437#pseudo-device	gre			# generic L3 over IP tunnel
438pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
439#pseudo-device	faith			# IPv[46] tcp relay translation i/f
440pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
441pseudo-device	vlan			# IEEE 802.1q encapsulation
442pseudo-device	bridge			# simple inter-network bridging
443#options 	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
444
445# miscellaneous pseudo-devices
446pseudo-device	pty			# pseudo-terminals
447#pseudo-device	sequencer	1	# MIDI sequencer
448# rnd works; RND_COM does not on port arc yet.
449pseudo-device	rnd			# /dev/random and in-kernel generator
450#options 	RND_COM			# use "com" randomness as well (BROKEN)
451pseudo-device	clockctl		# user control of clock subsystem
452
453# a pseudo device needed for Coda	# also needs CODA (above)
454#pseudo-device	vcoda		4	# coda minicache <-> venus comm.
455
456# mouse & keyboard multiplexor pseudo-devices
457#pseudo-device	wsmux
458pseudo-device	ksyms			# /dev/ksyms
459#pseudo-device	pf			# PF packet filter
460#pseudo-device	pflog			# PF log if
461
462# Veriexec
463#
464# a pseudo device needed for veriexec
465#pseudo-device	veriexec		1
466#
467# Uncomment the fingerprint methods below that are desired. Note that
468# removing fingerprint methods will have almost no impact on the kernel
469# code size.
470#
471#options VERIFIED_EXEC_FP_RMD160
472#options VERIFIED_EXEC_FP_SHA256
473#options VERIFIED_EXEC_FP_SHA384
474#options VERIFIED_EXEC_FP_SHA512
475#options VERIFIED_EXEC_FP_SHA1
476#options VERIFIED_EXEC_FP_MD5
477